<?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>66175</bug_id>
          
          <creation_ts>2011-08-12 15:51:45 -0700</creation_ts>
          <short_desc>Add shell implementation for Web Audio API&apos;s MediaElementAudioSourceNode</short_desc>
          <delta_ts>2011-08-15 12:37:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450726</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-08-12 15:51:45 -0700</bug_when>
    <thetext>Add shell implementation for Web Audio API&apos;s MediaElementAudioSourceNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450735</commentid>
    <comment_count>1</comment_count>
      <attachid>103836</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-08-12 16:01:17 -0700</bug_when>
    <thetext>Created attachment 103836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450747</commentid>
    <comment_count>2</comment_count>
      <attachid>103836</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-08-12 16:19:55 -0700</bug_when>
    <thetext>Comment on attachment 103836
Patch

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

Looks good to me. Is the WebKit Mac port compiling in the WebAudio stuff? If so, the Xcode project should be updated as well.

&gt; Source/WebCore/webaudio/MediaElementAudioSourceNode.h:38
&gt; +    static PassRefPtr&lt;MediaElementAudioSourceNode&gt; create(AudioContext*, HTMLMediaElement*);

Conceptually is there any layering violation here? I suspect not because the webaudio/ classes are all accessible from JavaScript, so they are more or less at parity with other classes in Source/WebCore/html/; but this is the first reference from the webaudio/ classes to html/ classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450785</commentid>
    <comment_count>3</comment_count>
      <attachid>103852</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-08-12 18:46:32 -0700</bug_when>
    <thetext>Created attachment 103852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450786</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-08-12 18:47:56 -0700</bug_when>
    <thetext>latest patch updates the Xcode project for building on the mac port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451107</commentid>
    <comment_count>5</comment_count>
      <attachid>103852</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-08-15 10:16:43 -0700</bug_when>
    <thetext>Comment on attachment 103852
Patch

OK, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451225</commentid>
    <comment_count>6</comment_count>
      <attachid>103852</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-15 12:37:37 -0700</bug_when>
    <thetext>Comment on attachment 103852
Patch

Clearing flags on attachment: 103852

Committed r93054: &lt;http://trac.webkit.org/changeset/93054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451227</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-15 12:37:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103836</attachid>
            <date>2011-08-12 16:01:17 -0700</date>
            <delta_ts>2011-08-12 18:46:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66175-20110812160116.patch</filename>
            <type>text/plain</type>
            <size>18134</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5ODIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZWVhNWM4ODU0N2EyZjk3YzYxMTdl
ZDliYTkwZjZhNzZmN2ZkMTVhLi5iZjZhMmJlYzIyMzc5Y2RhODVjZWRkYjIwYzJmZTA5M2I2MjY2
YmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMTIgIENocmlzIFJvZ2VycyAgPGNy
b2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgc2hlbGwgaW1wbGVtZW50YXRpb24gZm9y
IFdlYiBBdWRpbyBBUEkncyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJhdWRpby9tZWRpYWVsZW1l
bnRhdWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRp
by9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMTIg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENhbmNlbCBpbiBvbmJl
Zm9yZXVubG9hZCBkaWFsb2cgc29tZXRpbWUgY2F1c2VzIGEgYnV0dG9uIHRvIHN0b3Agd29ya2lu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291
cmNlbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVsZW1lbnRh
dWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNzZiODcwNDE3OWRhZjc1
N2QzMmFmYTRlYzM4Y2Q1MDE3ZTU4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTQgQEAKK0Jhc2ljIHRlc3RzIGZvciBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgQVBJ
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgU291cmNlIEF1ZGlvTm9kZSBo
YXMgbm8gaW5wdXRzLgorUEFTUyBTb3VyY2UgQXVkaW9Ob2RlIGhhcyBvbmUgb3V0cHV0LgorUEFT
UyBjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBkZXN0aW5hdGlvbiBBdWRp
b05vZGUuCitQQVNTIGNvbm5lY3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIG91dHB1
dCBpbmRleC4KK1BBU1MgY29ubmVjdCgpIGV4Y2VwdGlvbiB0aHJvd24gZm9yIGlsbGVnYWwgaW5w
dXQgaW5kZXguCitQQVNTIGF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIHN1
Y2NlZWRlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3Nv
dXJjZW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291
cmNlbm9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MjJiN2VhYmNiZjQ0ZTRlMTM2Y2I4MjU3NTNmYWFj
M2RkOWQwYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVs
ZW1lbnRhdWRpb3NvdXJjZW5vZGUuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIE1lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZSBBUEkuIik7CisKK3ZhciBjb250ZXh0ID0gMDsKKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgp
OworCisgICAgYXVkaW9FbGVtZW50ID0gbmV3IEF1ZGlvKCk7CisgICAgbWVkaWFTb3VyY2UgPSBj
b250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShhdWRpb0VsZW1lbnQpOworICAgIHdpbmRv
dy5hdWRpb05vZGUgPSBtZWRpYVNvdXJjZTsKKworICAgIC8vIENoZWNrIG51bWJlciBvZiBpbnB1
dHMgYW5kIG91dHB1dHMuCisgICAgaWYgKGF1ZGlvTm9kZS5udW1iZXJPZklucHV0cyA9PSAwKQor
ICAgICAgICB0ZXN0UGFzc2VkKCJTb3VyY2UgQXVkaW9Ob2RlIGhhcyBubyBpbnB1dHMuIik7Cisg
ICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJTb3VyY2UgQXVkaW9Ob2RlIHNob3VsZCBub3Qg
aGF2ZSBpbnB1dHMuIik7CisgICAgCisgICAgaWYgKGF1ZGlvTm9kZS5udW1iZXJPZk91dHB1dHMg
PT0gMSkKKyAgICAgICAgdGVzdFBhc3NlZCgiU291cmNlIEF1ZGlvTm9kZSBoYXMgb25lIG91dHB1
dC4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNvdXJjZSBBdWRpb05vZGUgc2hv
dWxkIGhhdmUgb25lIG91dHB1dC4iKTsKKworICAgIC8vIFRyeSBjYWxsaW5nIGNvbm5lY3QoKSBt
ZXRob2Qgd2l0aCBpbGxlZ2FsIHZhbHVlcy4KKworICAgIHRyeSB7CisgICAgICAgIGF1ZGlvTm9k
ZS5jb25uZWN0KDAsIDAsIDApOworICAgICAgICB0ZXN0RmFpbGVkKCJjb25uZWN0KCkgZXhjZXB0
aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIGlsbGVnYWwgZGVzdGluYXRpb24gQXVkaW9Ob2RlLiIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0KCkgZXhjZXB0
aW9uIHRocm93biBmb3IgaWxsZWdhbCBkZXN0aW5hdGlvbiBBdWRpb05vZGUuIik7CisgICAgfQor
CisgICAgdHJ5IHsKKyAgICAgICAgYXVkaW9Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlv
biwgNSwgMCk7CisgICAgICAgIHRlc3RGYWlsZWQoImNvbm5lY3QoKSBleGNlcHRpb24gc2hvdWxk
IGJlIHRocm93biBmb3IgaWxsZWdhbCBvdXRwdXQgaW5kZXguIik7CisgICAgfSBjYXRjaChlKSB7
CisgICAgICAgIHRlc3RQYXNzZWQoImNvbm5lY3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxl
Z2FsIG91dHB1dCBpbmRleC4iKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICBhdWRpb05v
ZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uLCAwLCA1KTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgiY29ubmVjdCgpIGV4Y2VwdGlvbiBzaG91bGQgYmUgdGhyb3duIGZvciBpbGxlZ2FsIGlucHV0
IGluZGV4LiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0
KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBpbnB1dCBpbmRleC4iKTsKKyAgICB9CisK
KyAgICAvLyBUcnkgY2FsbGluZyBjb25uZWN0KCkgd2l0aCBwcm9wZXIgdmFsdWVzLgorICAgIHRy
eSB7CisgICAgICAgIGF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24sIDAsIDAp
OworICAgICAgICB0ZXN0UGFzc2VkKCJhdWRpb05vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0
aW9uKSBzdWNjZWVkZWQuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQo
ImF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIGZhaWxlZC4iKTsKKyAgICB9
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworcnVuVGVzdCgpOworc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDllMWViMGJmMWUzY2QwNzAxYjE0ODllMTNjNjcxNjM5YzRkZjY4NTcuLjU1OTcyZDdh
ZjY5ODU5OTE0MDAyNjg3YzgyZjQ5YTRhMmY4NmU5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OCBAQAorMjAxMS0wOC0xMiAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBzaGVsbCBpbXBsZW1lbnRhdGlvbiBmb3IgV2ViIEF1ZGlvIEFQSSdzIE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYxNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUu
aHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFFbGVtZW50U291cmNlKToKKyAgICAgICAg
KiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaWRsOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvTm9kZS5oOgorICAgICAgICAqIHdlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpw
cm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6
cmVzZXQpOgorICAgICAgICAqIHdlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6
bWVkaWFFbGVtZW50KToKKyAgICAgICAgKiB3ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUuaWRsOiBBZGRlZC4KKwogMjAxMS0wOC0xMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2FuY2VsIGluIG9uYmVmb3JldW5sb2FkIGRpYWxvZyBzb21ldGlt
ZSBjYXVzZXMgYSBidXR0b24gdG8gc3RvcCB3b3JraW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNmRkNzI4ZTE4NTRjN2E4NGNhODM5YWNkZDZjNzlkZjFjNzNlZjlhYS4uZjdj
ZjEyMzIyYmRjNzM1ZjExMDY4Y2ZjZmQwNzQ3NGU3YjljMjg5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC03Nyw2ICs3Nyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEhpZ2hQ
YXNzMkZpbHRlck5vZGUgXAogICAgIEphdmFTY3JpcHRBdWRpb05vZGUgXAogICAgIExvd1Bhc3My
RmlsdGVyTm9kZSBcCisgICAgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlIFwKICAgICBPZmZs
aW5lQXVkaW9Db21wbGV0aW9uRXZlbnQgXAogICAgIFJlYWx0aW1lQW5hbHlzZXJOb2RlIFwKICAg
ICBXYXZlU2hhcGVyTm9kZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZWYwNTRiZDgxN2U2MjllYTNh
NWE4MjgwNzM4ZTRmYzY1NTQ4NGY5NS4uZmUzMDk3NWNjYTI5MDc0NTg2NWE4ZTUxYWJjNWVjYzY4
ZmYwZmY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTQ1NSw2ICsxNDU1LDcgQEAKICAgICAgICAg
ICAgICd3ZWJhdWRpby9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2Vi
YXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0xv
d1Bhc3MyRmlsdGVyTm9kZS5pZGwnLAorICAgICAgICAgICAgJ3dlYmF1ZGlvL01lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRp
b0NvbXBsZXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL1JlYWx0aW1lQW5h
bHlzZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaWRs
JywKQEAgLTUwNjcsNiArNTA2OCw4IEBACiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2YVNjcmlw
dEF1ZGlvTm9kZS5oJywKICAgICAgICAgICAgICd3ZWJhdWRpby9Mb3dQYXNzMkZpbHRlck5vZGUu
Y3BwJywKICAgICAgICAgICAgICd3ZWJhdWRpby9Mb3dQYXNzMkZpbHRlck5vZGUuaCcsCisgICAg
ICAgICAgICAnd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCcsCisgICAg
ICAgICAgICAnd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgnLAogICAgICAg
ICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAnLAogICAgICAg
ICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5oJywKICAgICAgICAg
ICAgICd3ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDY2NGJjN2U0MzU0ZmRlYzFhODQ5
NjZmMGNmOTg3NTBmODQ0Mzc5YmIuLjk0MmNiNDMzMDQ1MTdkNWZjOTFiMGUwODEyYTJiMjFmMzg5
Zjk4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDks
OSArNDksMTEgQEAKICNpbmNsdWRlICJGRlRGcmFtZS5oIgogI2luY2x1ZGUgIkhSVEZEYXRhYmFz
ZUxvYWRlci5oIgogI2luY2x1ZGUgIkhSVEZQYW5uZXIuaCIKKyNpbmNsdWRlICJIVE1MTWVkaWFF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSGlnaFBhc3MyRmlsdGVyTm9kZS5oIgogI2luY2x1ZGUgIkph
dmFTY3JpcHRBdWRpb05vZGUuaCIKICNpbmNsdWRlICJMb3dQYXNzMkZpbHRlck5vZGUuaCIKKyNp
bmNsdWRlICJNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCIKICNpbmNsdWRlICJPZmZsaW5l
QXVkaW9Db21wbGV0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJPZmZsaW5lQXVkaW9EZXN0aW5hdGlv
bk5vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtMzEwLDYgKzMxMiwxNiBA
QCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyU291cmNlTm9kZT4gQXVkaW9Db250ZXh0OjpjcmVhdGVC
dWZmZXJTb3VyY2UoKQogICAgIHJldHVybiBub2RlOwogfQogCitQYXNzUmVmUHRyPE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZT4gQXVkaW9Db250ZXh0OjpjcmVhdGVNZWRpYUVsZW1lbnRTb3Vy
Y2UoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQoreworICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CisgICAgbGF6eUluaXRpYWxpemUoKTsKKyAgICBSZWZQdHI8TWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlPiBub2RlID0gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVh
dGUodGhpcywgbWVkaWFFbGVtZW50KTsKKworICAgIHJlZk5vZGUobm9kZS5nZXQoKSk7IC8vIGNv
bnRleHQga2VlcHMgcmVmZXJlbmNlIHVudGlsIG5vZGUgaXMgZGlzY29ubmVjdGVkCisgICAgcmV0
dXJuIG5vZGU7Cit9CisKIFBhc3NSZWZQdHI8SmF2YVNjcmlwdEF1ZGlvTm9kZT4gQXVkaW9Db250
ZXh0OjpjcmVhdGVKYXZhU2NyaXB0Tm9kZShzaXplX3QgYnVmZmVyU2l6ZSkKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApp
bmRleCA3ZThmMmE3Y2RmNDMxMjU5M2YzM2QzYmFlYWVmMDJkZjE4Y2ZiNGUzLi5iZGM4MDZkMzdh
YzAzYjM5ZWYxYzVkMWFmN2I3NGYyMDAyNmMwMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaApAQCAtNDksNiArNDksOCBAQCBjbGFzcyBBcnJheUJ1ZmZlcjsKIGNsYXNz
IEF1ZGlvQnVmZmVyOwogY2xhc3MgQXVkaW9CdWZmZXJDYWxsYmFjazsKIGNsYXNzIEF1ZGlvQnVm
ZmVyU291cmNlTm9kZTsKK2NsYXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTsKK2NsYXNz
IEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBBdWRpb0NoYW5uZWxNZXJnZXI7CiBjbGFzcyBBdWRp
b0NoYW5uZWxTcGxpdHRlcjsKIGNsYXNzIEF1ZGlvR2Fpbk5vZGU7CkBAIC0xMDgsNiArMTEwLDcg
QEAgcHVibGljOgogCiAgICAgLy8gVGhlIEF1ZGlvTm9kZSBjcmVhdGUgbWV0aG9kcyBhcmUgY2Fs
bGVkIG9uIHRoZSBtYWluIHRocmVhZCAoZnJvbSBKYXZhU2NyaXB0KS4KICAgICBQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyU291cmNlTm9kZT4gY3JlYXRlQnVmZmVyU291cmNlKCk7CisgICAgUGFzc1Jl
ZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJj
ZShIVE1MTWVkaWFFbGVtZW50Kik7CiAgICAgUGFzc1JlZlB0cjxBdWRpb0dhaW5Ob2RlPiBjcmVh
dGVHYWluTm9kZSgpOwogICAgIFBhc3NSZWZQdHI8QmlxdWFkRmlsdGVyTm9kZT4gY3JlYXRlQmlx
dWFkRmlsdGVyKCk7CiAgICAgUGFzc1JlZlB0cjxXYXZlU2hhcGVyTm9kZT4gY3JlYXRlV2F2ZVNo
YXBlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKaW5kZXggMTQ3
ZmI3ZDNmODdlNWU1ODI0MjAwYjY4OTZjNWNjYWRmZTdhNmYzYy4uNTE1MzQ5MmExNzZiM2Y4NmI1
ZDRjMjkwNWVmYjkyNzYzZjExZThjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaWRsCkBAIC01Nyw4ICs1Nyw5IEBAIG1vZHVsZSB3ZWJhdWRpbyB7CiAgICAgICAgIHZv
aWQgZGVjb2RlQXVkaW9EYXRhKGluIEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwgaW4gW0NhbGxiYWNr
XSBBdWRpb0J1ZmZlckNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxs
YmFja10gQXVkaW9CdWZmZXJDYWxsYmFjayBlcnJvckNhbGxiYWNrKQogICAgICAgICAgICAgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICAgICAgLy8gU291cmNlCisgICAgICAgIC8vIFNvdXJj
ZXMKICAgICAgICAgQXVkaW9CdWZmZXJTb3VyY2VOb2RlIGNyZWF0ZUJ1ZmZlclNvdXJjZSgpOwor
ICAgICAgICBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFFbGVtZW50U291
cmNlKGluIEhUTUxNZWRpYUVsZW1lbnQgbWVkaWFFbGVtZW50KTsKIAogICAgICAgICAvLyBQcm9j
ZXNzaW5nIG5vZGVzCiAgICAgICAgIEF1ZGlvR2Fpbk5vZGUgY3JlYXRlR2Fpbk5vZGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291cmNlL1dl
YkNvcmUvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKaW5kZXggMzFlNzg5ZTFhN2MwMGE3YzVhYjZiOThh
YzViNzQ5NWExNTQwMTVlZC4uNzRiOWE5MjQwY2M2ZWEyN2VmOGQ1NjNlNWFlNWE1MjZiNWQxODY5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVi
bGljOgogICAgICAgICBOb2RlVHlwZVVua25vd24sCiAgICAgICAgIE5vZGVUeXBlRGVzdGluYXRp
b24sCiAgICAgICAgIE5vZGVUeXBlQXVkaW9CdWZmZXJTb3VyY2UsCisgICAgICAgIE5vZGVUeXBl
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2UsCiAgICAgICAgIE5vZGVUeXBlSmF2YVNjcmlwdCwKICAg
ICAgICAgTm9kZVR5cGVCaXF1YWRGaWx0ZXIsCiAgICAgICAgIE5vZGVUeXBlTG93UGFzczJGaWx0
ZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjQyZGY2ZWMyYjU2MWY4Njk2OTNmMmI2NTgw
NjZiZjRiNDA0ZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMCwwICsxLDY1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQl9BVURJTykKKworI2lu
Y2x1ZGUgIk1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIgorCisjaW5jbHVkZSAiQXVkaW9D
b250ZXh0LmgiCisjaW5jbHVkZSAiQXVkaW9Ob2RlT3V0cHV0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsIG1lZGlhRWxlbWVudCkpOyAgICAgIAor
fQorCitNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCkKKyAgICA6IEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCBjb250ZXh0LT5zYW1wbGVSYXRlKCkp
CisgICAgLCBtX21lZGlhRWxlbWVudChtZWRpYUVsZW1lbnQpCit7CisgICAgLy8gRGVmYXVsdCB0
byBzdGVyZW8uIFRoaXMgY291bGQgY2hhbmdlIGRlcGVuZGluZyBvbiB3aGF0IHRoZSBtZWRpYSBl
bGVtZW50IC5zcmMgaXMgc2V0IHRvLgorICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9O
b2RlT3V0cHV0KHRoaXMsIDIpKSk7CisgICAgCisgICAgc2V0VHlwZShOb2RlVHlwZU1lZGlhRWxl
bWVudEF1ZGlvU291cmNlKTsKK30KKwordm9pZCBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6
OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKK3sKKyAgICBBdWRpb0J1cyogb3V0cHV0
QnVzID0gb3V0cHV0KDApLT5idXMoKTsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgTWVkaWFQ
bGF5ZXIgYWJzdHJhY3Rpb24gdG8gZ2V0IGF1ZGlvIHN0cmVhbSBmcm9tIDxhdWRpbz4gYW5kIDx2
aWRlbz4KKyAgICBvdXRwdXRCdXMtPnplcm8oKTsKK30KKwordm9pZCBNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGU6OnJlc2V0KCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dl
YmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y4ZTA1MDlm
MWMxM2YwNWM5OWUxYjY3ZDI1ZTFiNzY3NjZkN2EwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZV9oCisjZGVmaW5lIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZV9oCisKKyNpbmNsdWRlICJB
dWRpb1NvdXJjZU5vZGUuaCIKKyNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBdWRp
b0NvbnRleHQ7CisgICAgCitjbGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBwdWJs
aWMgQXVkaW9Tb3VyY2VOb2RlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBIVE1MTWVkaWFF
bGVtZW50Kik7CisKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKSB7IHJldHVy
biBtX21lZGlhRWxlbWVudC5nZXQoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKKworICAgIC8vIEF1ZGlvTm9kZQorICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNp
emVfdCBmcmFtZXNUb1Byb2Nlc3MpOworICAgIHZpcnR1YWwgdm9pZCByZXNldCgpOworCitwcml2
YXRlOgorICAgIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRleHQqLCBIVE1M
TWVkaWFFbGVtZW50Kik7CisKKyAgICBSZWZQdHI8SFRNTE1lZGlhRWxlbWVudD4gbV9tZWRpYUVs
ZW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3M2IyNjYw
MDM5YThlYzg0YzExYzlmZWY1MTQzMmMwYWY4M2JlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwKQEAgLTAs
MCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBhdWRpbyB7CisgICAgaW50ZXJmYWNlIFsK
KyAgICAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAorICAgICAgICBHZW5lcmF0ZVRvSlMKKyAg
ICBdIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSA6IEF1ZGlvU291cmNlTm9kZSB7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MTWVkaWFFbGVtZW50IG1lZGlhRWxlbWVudDsKKyAg
ICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103852</attachid>
            <date>2011-08-12 18:46:32 -0700</date>
            <delta_ts>2011-08-15 12:37:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66175-20110812184631.patch</filename>
            <type>text/plain</type>
            <size>27353</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5ODIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZWVhNWM4ODU0N2EyZjk3YzYxMTdl
ZDliYTkwZjZhNzZmN2ZkMTVhLi5iZjZhMmJlYzIyMzc5Y2RhODVjZWRkYjIwYzJmZTA5M2I2MjY2
YmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMTIgIENocmlzIFJvZ2VycyAgPGNy
b2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgc2hlbGwgaW1wbGVtZW50YXRpb24gZm9y
IFdlYiBBdWRpbyBBUEkncyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJhdWRpby9tZWRpYWVsZW1l
bnRhdWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRp
by9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMTIg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENhbmNlbCBpbiBvbmJl
Zm9yZXVubG9hZCBkaWFsb2cgc29tZXRpbWUgY2F1c2VzIGEgYnV0dG9uIHRvIHN0b3Agd29ya2lu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291
cmNlbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVsZW1lbnRh
dWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNzZiODcwNDE3OWRhZjc1
N2QzMmFmYTRlYzM4Y2Q1MDE3ZTU4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTQgQEAKK0Jhc2ljIHRlc3RzIGZvciBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgQVBJ
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgU291cmNlIEF1ZGlvTm9kZSBo
YXMgbm8gaW5wdXRzLgorUEFTUyBTb3VyY2UgQXVkaW9Ob2RlIGhhcyBvbmUgb3V0cHV0LgorUEFT
UyBjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBkZXN0aW5hdGlvbiBBdWRp
b05vZGUuCitQQVNTIGNvbm5lY3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIG91dHB1
dCBpbmRleC4KK1BBU1MgY29ubmVjdCgpIGV4Y2VwdGlvbiB0aHJvd24gZm9yIGlsbGVnYWwgaW5w
dXQgaW5kZXguCitQQVNTIGF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIHN1
Y2NlZWRlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3Nv
dXJjZW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhZWxlbWVudGF1ZGlvc291
cmNlbm9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MjJiN2VhYmNiZjQ0ZTRlMTM2Y2I4MjU3NTNmYWFj
M2RkOWQwYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9tZWRpYWVs
ZW1lbnRhdWRpb3NvdXJjZW5vZGUuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIE1lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZSBBUEkuIik7CisKK3ZhciBjb250ZXh0ID0gMDsKKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgp
OworCisgICAgYXVkaW9FbGVtZW50ID0gbmV3IEF1ZGlvKCk7CisgICAgbWVkaWFTb3VyY2UgPSBj
b250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShhdWRpb0VsZW1lbnQpOworICAgIHdpbmRv
dy5hdWRpb05vZGUgPSBtZWRpYVNvdXJjZTsKKworICAgIC8vIENoZWNrIG51bWJlciBvZiBpbnB1
dHMgYW5kIG91dHB1dHMuCisgICAgaWYgKGF1ZGlvTm9kZS5udW1iZXJPZklucHV0cyA9PSAwKQor
ICAgICAgICB0ZXN0UGFzc2VkKCJTb3VyY2UgQXVkaW9Ob2RlIGhhcyBubyBpbnB1dHMuIik7Cisg
ICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJTb3VyY2UgQXVkaW9Ob2RlIHNob3VsZCBub3Qg
aGF2ZSBpbnB1dHMuIik7CisgICAgCisgICAgaWYgKGF1ZGlvTm9kZS5udW1iZXJPZk91dHB1dHMg
PT0gMSkKKyAgICAgICAgdGVzdFBhc3NlZCgiU291cmNlIEF1ZGlvTm9kZSBoYXMgb25lIG91dHB1
dC4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNvdXJjZSBBdWRpb05vZGUgc2hv
dWxkIGhhdmUgb25lIG91dHB1dC4iKTsKKworICAgIC8vIFRyeSBjYWxsaW5nIGNvbm5lY3QoKSBt
ZXRob2Qgd2l0aCBpbGxlZ2FsIHZhbHVlcy4KKworICAgIHRyeSB7CisgICAgICAgIGF1ZGlvTm9k
ZS5jb25uZWN0KDAsIDAsIDApOworICAgICAgICB0ZXN0RmFpbGVkKCJjb25uZWN0KCkgZXhjZXB0
aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIGlsbGVnYWwgZGVzdGluYXRpb24gQXVkaW9Ob2RlLiIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0KCkgZXhjZXB0
aW9uIHRocm93biBmb3IgaWxsZWdhbCBkZXN0aW5hdGlvbiBBdWRpb05vZGUuIik7CisgICAgfQor
CisgICAgdHJ5IHsKKyAgICAgICAgYXVkaW9Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlv
biwgNSwgMCk7CisgICAgICAgIHRlc3RGYWlsZWQoImNvbm5lY3QoKSBleGNlcHRpb24gc2hvdWxk
IGJlIHRocm93biBmb3IgaWxsZWdhbCBvdXRwdXQgaW5kZXguIik7CisgICAgfSBjYXRjaChlKSB7
CisgICAgICAgIHRlc3RQYXNzZWQoImNvbm5lY3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxl
Z2FsIG91dHB1dCBpbmRleC4iKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICBhdWRpb05v
ZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uLCAwLCA1KTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgiY29ubmVjdCgpIGV4Y2VwdGlvbiBzaG91bGQgYmUgdGhyb3duIGZvciBpbGxlZ2FsIGlucHV0
IGluZGV4LiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0
KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBpbnB1dCBpbmRleC4iKTsKKyAgICB9CisK
KyAgICAvLyBUcnkgY2FsbGluZyBjb25uZWN0KCkgd2l0aCBwcm9wZXIgdmFsdWVzLgorICAgIHRy
eSB7CisgICAgICAgIGF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24sIDAsIDAp
OworICAgICAgICB0ZXN0UGFzc2VkKCJhdWRpb05vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0
aW9uKSBzdWNjZWVkZWQuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQo
ImF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIGZhaWxlZC4iKTsKKyAgICB9
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworcnVuVGVzdCgpOworc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDllMWViMGJmMWUzY2QwNzAxYjE0ODllMTNjNjcxNjM5YzRkZjY4NTcuLjE1YTY1YmQw
MGI1Yzk4NzlhM2UyN2ZjMGE5ODdjOTg3YTgyMzg5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAxMS0wOC0xMiAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBzaGVsbCBpbXBsZW1lbnRhdGlvbiBmb3IgV2ViIEF1ZGlvIEFQSSdzIE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYxNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9tZWRpYWVsZW1lbnRhdWRpb3NvdXJjZW5vZGUu
aHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGw6CisgICAgICAgICogd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVk
aWFFbGVtZW50U291cmNlKToKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAg
ICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIHdlYmF1ZGlvL0F1
ZGlvTm9kZS5oOgorICAgICAgICAqIHdlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6cmVzZXQpOgorICAgICAgICAqIHdlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6bWVkaWFFbGVtZW50KToKKyAgICAgICAgKiB3ZWJh
dWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsOiBBZGRlZC4KKwogMjAxMS0wOC0x
MiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2FuY2VsIGluIG9u
YmVmb3JldW5sb2FkIGRpYWxvZyBzb21ldGltZSBjYXVzZXMgYSBidXR0b24gdG8gc3RvcCB3b3Jr
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNmRkNzI4ZTE4NTRjN2E4NGNh
ODM5YWNkZDZjNzlkZjFjNzNlZjlhYS4uZjdjZjEyMzIyYmRjNzM1ZjExMDY4Y2ZjZmQwNzQ3NGU3
YjljMjg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC03Nyw2ICs3Nyw3IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIEhpZ2hQYXNzMkZpbHRlck5vZGUgXAogICAgIEphdmFTY3Jp
cHRBdWRpb05vZGUgXAogICAgIExvd1Bhc3MyRmlsdGVyTm9kZSBcCisgICAgTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlIFwKICAgICBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQgXAogICAg
IFJlYWx0aW1lQW5hbHlzZXJOb2RlIFwKICAgICBXYXZlU2hhcGVyTm9kZSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggZWYwNTRiZDgxN2U2MjllYTNhNWE4MjgwNzM4ZTRmYzY1NTQ4NGY5NS4uZmUzMDk3
NWNjYTI5MDc0NTg2NWE4ZTUxYWJjNWVjYzY4ZmYwZmY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
MTQ1NSw2ICsxNDU1LDcgQEAKICAgICAgICAgICAgICd3ZWJhdWRpby9IaWdoUGFzczJGaWx0ZXJO
b2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwn
LAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0xvd1Bhc3MyRmlsdGVyTm9kZS5pZGwnLAorICAgICAg
ICAgICAgJ3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwnLAogICAgICAg
ICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5pZGwnLAogICAgICAg
ICAgICAgJ3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAn
d2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaWRsJywKQEAgLTUwNjcsNiArNTA2OCw4IEBACiAgICAg
ICAgICAgICAnd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5oJywKICAgICAgICAgICAgICd3
ZWJhdWRpby9Mb3dQYXNzMkZpbHRlck5vZGUuY3BwJywKICAgICAgICAgICAgICd3ZWJhdWRpby9M
b3dQYXNzMkZpbHRlck5vZGUuaCcsCisgICAgICAgICAgICAnd2ViYXVkaW8vTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmNwcCcsCisgICAgICAgICAgICAnd2ViYXVkaW8vTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmgnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudC5oJywKICAgICAgICAgICAgICd3ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA5MGM3OGY4NDIzMTdlNDk5MGIxZWY0ZDgzMGZkMzNiNjNm
NDQ1NDYyLi4yNzBhY2Y4ODRkYTFmNWJhNjI5OTExZWNiYzA4M2VjNzIxYTYyY2MxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
Nzg5LDYgKzU3ODksOCBAQAogCQlGRDA2REZBNTEzNEE0REVGMDA2RjVEN0QgLyogRGVmYXVsdEF1
ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZEMDZERkEzMTM0QTRERUYwMDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwICovOyB9OwogCQlGRDA2REZBNjEzNEE0REVGMDA2RjVEN0QgLyogRGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRDA2REZBNDEzNEE0REVGMDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlv
RGVzdGluYXRpb25Ob2RlLmggKi87IH07CiAJCUZEMTY2MEE1MTM3ODdDNkQwMDFGRkE3QiAvKiBE
ZW5vcm1hbERpc2FibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRDE2NjBBNDEzNzg3QzZEMDAxRkZBN0IgLyogRGVub3JtYWxEaXNhYmxlci5oICov
OyB9OworCQlGRDIzQTEyNTEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkQyM0ExMjMxM0Y1RkE1OTAwRjY3MDAxIC8qIEpTTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlLmNwcCAqLzsgfTsKKwkJRkQyM0ExMjYxM0Y1RkE1OTAwRjY3MDAxIC8qIEpTTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRDIzQTEyNDEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGUuaCAqLzsgfTsKIAkJRkQyREJGMTIxMkIwNDhBMzAwRUQ5OEM2IC8qIEFjY2Vs
ZXJhdGUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkQyREJGMEUxMkIwNDhBMzAwRUQ5OEM2IC8qIEFjY2VsZXJhdGUuZnJhbWV3b3Jr
ICovOyB9OwogCQlGRDJEQkYxMzEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Ub29sYm94LmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZE
MkRCRjBGMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrICovOyB9Owog
CQlGRDJEQkYxNDEyQjA0OEEzMDBFRDk4QzYgLyogQXVkaW9Vbml0LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMkRCRjEwMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1VuaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtNTkyMCw2ICs1OTIy
LDggQEAKIAkJRkQ2RUQyQzQxMzZCOEU0MjAwM0NGMDcyIC8qIER5bmFtaWNzQ29tcHJlc3Nvck5v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENkVE
MkMyMTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmggKi87IH07CiAJ
CUZENkVEMkM3MTM2QjhFNjYwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQ2RUQyQzUxMzZCOEU2
NjAwM0NGMDcyIC8qIER5bmFtaWNzQ29tcHJlc3Nvci5jcHAgKi87IH07CiAJCUZENkVEMkM4MTM2
QjhFNjYwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENkVEMkM2MTM2QjhFNjYwMDNDRjA3MiAvKiBE
eW5hbWljc0NvbXByZXNzb3IuaCAqLzsgfTsKKwkJRkQ2RjI1MkMxM0Y1RUYwRTAwNjUxNjVGIC8q
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDZGMjUyOTEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCAqLzsgfTsKKwkJRkQ2RjI1MkQxM0Y1RUYwRTAwNjUx
NjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQ2RjI1MkExM0Y1RUYwRTAwNjUxNjVGIC8qIE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oICovOyB9OwogCQlGRDc4NjhCOTEzNkI5OTkyMDBE
NDAzREYgLyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENzg2OEI3MTM2Qjk5OTIwMEQ0MDNERiAvKiBK
U0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwICovOyB9OwogCQlGRDc4NjhCQTEzNkI5OTkyMDBE
NDAzREYgLyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDc4NjhCODEzNkI5OTkyMDBENDAzREYgLyogSlNE
eW5hbWljc0NvbXByZXNzb3JOb2RlLmggKi87IH07CiAJCUZEN0YyOTkxMTNENEMwQ0IwMEFEOTUz
NSAvKiBXYXZlU2hhcGVyRFNQS2VybmVsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZEN0YyOThBMTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVy
RFNQS2VybmVsLmNwcCAqLzsgfTsKQEAgLTEyNTYzLDYgKzEyNTY3LDggQEAKIAkJRkQwNkRGQTMx
MzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDA2REZBNDEzNEE0REVGMDA2
RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRDE2NjBBNDEzNzg3QzZEMDAxRkZBN0IgLyogRGVub3JtYWxE
aXNhYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZW5vcm1hbERpc2Fi
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZEMjNBMTIzMTNGNUZBNTkwMEY2
NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZEMjNBMTI0MTNGNUZBNTkwMEY2NzAwMSAv
KiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRDJEQkYwRTEyQjA0OEEzMDBFRDk4QzYgLyogQWNjZWxlcmF0ZS5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEFjY2VsZXJhdGUuZnJhbWV3b3JrOyBwYXRoID0g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcms7IHNvdXJjZVRy
ZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUZEMkRCRjBGMTJCMDQ4QTMwMEVEOThDNiAvKiBBdWRp
b1Rvb2xib3guZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBBdWRpb1Rvb2xib3guZnJhbWV3
b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1l
d29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJRkQyREJGMTAxMkIwNDhBMzAw
RUQ5OEM2IC8qIEF1ZGlvVW5pdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEF1ZGlvVW5p
dC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1VuaXQu
ZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMTI3MTYsNiArMTI3
MjIsOSBAQAogCQlGRDZFRDJDNTEzNkI4RTY2MDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER5bmFtaWNzQ29tcHJl
c3Nvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZENkVEMkM2MTM2QjhFNjYw
MDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRHluYW1pY3NDb21wcmVzc29yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZENkVEMkM5MTM2QjhFOUQwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkQ2RjI1MjkxM0Y1RUYwRTAwNjUxNjVGIC8qIE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGRDZGMjUyQTEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
RDZGMjUyQjEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDc4NjhCNzEzNkI5OTkyMDBENDAzREYg
LyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZENzg2OEI4MTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29t
cHJlc3Nvck5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEeW5hbWlj
c0NvbXByZXNzb3JOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEN0YyOThB
MTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVyRFNQS2VybmVsLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhdmVTaGFwZXJEU1BLZXJuZWwuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAxNzgsNiArMjAxODcsOSBAQAogCQkJCUZEMzE1RkVF
MTJCMDI2NzYwMEMxQTM1OSAvKiBMb3dQYXNzMkZpbHRlck5vZGUuY3BwICovLAogCQkJCUZEMzE1
RkVGMTJCMDI2NzYwMEMxQTM1OSAvKiBMb3dQYXNzMkZpbHRlck5vZGUuaCAqLywKIAkJCQlGRDMx
NUZGMDEyQjAyNjc2MDBDMUEzNTkgLyogTG93UGFzczJGaWx0ZXJOb2RlLmlkbCAqLywKKwkJCQlG
RDZGMjUyOTEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNw
cCAqLywKKwkJCQlGRDZGMjUyQTEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlLmggKi8sCisJCQkJRkQ2RjI1MkIxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5pZGwgKi8sCiAJCQkJRkRBM0U5NTUxMzRBNDlFRjAwOEQ0QjVB
IC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCiAJCQkJRkRBM0U5NTYxMzRB
NDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5oICovLAogCQkJCUZE
QTNFOTVEMTM0QTQ5RkYwMDhENEI1QSAvKiBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuaWRs
ICovLApAQCAtMjAzMjYsNiArMjAzMzgsOCBAQAogCQkJCUZEQTE1RUMwMTJCMDNGMkQwMDNBNTgz
QSAvKiBKU0hpZ2hQYXNzMkZpbHRlck5vZGUuaCAqLywKIAkJCQlGREExNUVDQjEyQjAzRjYxMDAz
QTU4M0EgLyogSlNKYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcCAqLywKIAkJCQlGREExNUVDQzEyQjAz
RjYxMDAzQTU4M0EgLyogSlNKYXZhU2NyaXB0QXVkaW9Ob2RlLmggKi8sCisJCQkJRkQyM0ExMjMx
M0Y1RkE1OTAwRjY3MDAxIC8qIEpTTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCAqLywK
KwkJCQlGRDIzQTEyNDEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUuaCAqLywKIAkJCQlGREExNUVDMzEyQjAzRjNCMDAzQTU4M0EgLyogSlNMb3dQYXNzMkZp
bHRlck5vZGUuY3BwICovLAogCQkJCUZEQTE1RUM0MTJCMDNGM0IwMDNBNTgzQSAvKiBKU0xvd1Bh
c3MyRmlsdGVyTm9kZS5oICovLAogCQkJCUZERjZCQUY2MTM0QTRDOTgwMDgyMjkyMCAvKiBKU09m
ZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCkBAIC0yMzM3OSw2ICsyMzM5Myw4IEBA
CiAJCQkJQkNCQjhBQjkxM0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0JCOEFCQTEzRjFBRkIwMDA3MzRERjAgLyogUE9ESW50ZXJ2YWxUcmVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0JCOEFCQjEzRjFBRkIwMDA3MzRERjAgLyogUE9EUmVkQmxh
Y2tUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRDZGMjUyRDEzRjVFRjBFMDA2NTE2NUYgLyog
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRDIzQTEy
NjEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMjYxODksNiArMjYyMDUsOCBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMw
MEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3
QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OURFNzkw
NDEzRjE2QzdGMDAwN0ZDREYgLyogSmF2YU1ldGhvZEpTQy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGRDZGMjUyQzEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZEMjNBMTI1MTNGNUZBNTkwMEY2NzAwMSAvKiBKU01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IDBlNzk4MTY4Y2EzZjQwMjZlNTU3NDBh
OTMxMWYzNzU5OWI3ZDcxYzAuLjcxOGZlOGY5YWQ4MzMwM2M1N2RhZjM4NjMwZGZiZTM1MDA5NTZm
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtMjYsNiAr
MjYsNyBAQAogbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlv
bmFsPVZJREVPLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlcgogICAgIF0gSFRNTE1l
ZGlhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgIC8vIGVycm9yIHN0YXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCA2NjRiYzdlNDM1NGZkZWMxYTg0
OTY2ZjBjZjk4NzUwZjg0NDM3OWJiLi45NDJjYjQzMzA0NTE3ZDVmYzkxYjBlMDgxMmEyYjIxZjM4
OWY5ODc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTQ5
LDkgKzQ5LDExIEBACiAjaW5jbHVkZSAiRkZURnJhbWUuaCIKICNpbmNsdWRlICJIUlRGRGF0YWJh
c2VMb2FkZXIuaCIKICNpbmNsdWRlICJIUlRGUGFubmVyLmgiCisjaW5jbHVkZSAiSFRNTE1lZGlh
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhpZ2hQYXNzMkZpbHRlck5vZGUuaCIKICNpbmNsdWRlICJK
YXZhU2NyaXB0QXVkaW9Ob2RlLmgiCiAjaW5jbHVkZSAiTG93UGFzczJGaWx0ZXJOb2RlLmgiCisj
aW5jbHVkZSAiTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgiCiAjaW5jbHVkZSAiT2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiT2ZmbGluZUF1ZGlvRGVzdGluYXRp
b25Ob2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTMxMCw2ICszMTIsMTYg
QEAgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlclNvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRl
QnVmZmVyU291cmNlKCkKICAgICByZXR1cm4gbm9kZTsKIH0KIAorUGFzc1JlZlB0cjxNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFFbGVtZW50U291
cmNlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKK3sKKyAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOworICAgIGxhenlJbml0aWFsaXplKCk7CisgICAgUmVmUHRyPE1lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZT4gbm9kZSA9IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3Jl
YXRlKHRoaXMsIG1lZGlhRWxlbWVudCk7CisKKyAgICByZWZOb2RlKG5vZGUuZ2V0KCkpOyAvLyBj
b250ZXh0IGtlZXBzIHJlZmVyZW5jZSB1bnRpbCBub2RlIGlzIGRpc2Nvbm5lY3RlZAorICAgIHJl
dHVybiBub2RlOworfQorCiBQYXNzUmVmUHRyPEphdmFTY3JpcHRBdWRpb05vZGU+IEF1ZGlvQ29u
dGV4dDo6Y3JlYXRlSmF2YVNjcmlwdE5vZGUoc2l6ZV90IGJ1ZmZlclNpemUpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgK
aW5kZXggN2U4ZjJhN2NkZjQzMTI1OTNmMzNkM2JhZWFlZjAyZGYxOGNmYjRlMy4uYmRjODA2ZDM3
YWMwM2IzOWVmMWM1ZDFhZjdiNzRmMjAwMjZjMDEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmgKQEAgLTQ5LDYgKzQ5LDggQEAgY2xhc3MgQXJyYXlCdWZmZXI7CiBjbGFz
cyBBdWRpb0J1ZmZlcjsKIGNsYXNzIEF1ZGlvQnVmZmVyQ2FsbGJhY2s7CiBjbGFzcyBBdWRpb0J1
ZmZlclNvdXJjZU5vZGU7CitjbGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU7CitjbGFz
cyBIVE1MTWVkaWFFbGVtZW50OwogY2xhc3MgQXVkaW9DaGFubmVsTWVyZ2VyOwogY2xhc3MgQXVk
aW9DaGFubmVsU3BsaXR0ZXI7CiBjbGFzcyBBdWRpb0dhaW5Ob2RlOwpAQCAtMTA4LDYgKzExMCw3
IEBAIHB1YmxpYzoKIAogICAgIC8vIFRoZSBBdWRpb05vZGUgY3JlYXRlIG1ldGhvZHMgYXJlIGNh
bGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQgKGZyb20gSmF2YVNjcmlwdCkuCiAgICAgUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlclNvdXJjZU5vZGU+IGNyZWF0ZUJ1ZmZlclNvdXJjZSgpOworICAgIFBhc3NS
ZWZQdHI8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGVNZWRpYUVsZW1lbnRTb3Vy
Y2UoSFRNTE1lZGlhRWxlbWVudCopOwogICAgIFBhc3NSZWZQdHI8QXVkaW9HYWluTm9kZT4gY3Jl
YXRlR2Fpbk5vZGUoKTsKICAgICBQYXNzUmVmUHRyPEJpcXVhZEZpbHRlck5vZGU+IGNyZWF0ZUJp
cXVhZEZpbHRlcigpOwogICAgIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNyZWF0ZVdhdmVT
aGFwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCmluZGV4IDE0
N2ZiN2QzZjg3ZTVlNTgyNDIwMGI2ODk2YzVjY2FkZmU3YTZmM2MuLjUxNTM0OTJhMTc2YjNmODZi
NWQ0YzI5MDVlZmI5Mjc2M2YxMWU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmlkbApAQCAtNTcsOCArNTcsOSBAQCBtb2R1bGUgd2ViYXVkaW8gewogICAgICAgICB2
b2lkIGRlY29kZUF1ZGlvRGF0YShpbiBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsIGluIFtDYWxsYmFj
a10gQXVkaW9CdWZmZXJDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2Fs
bGJhY2tdIEF1ZGlvQnVmZmVyQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaykKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIC8vIFNvdXJjZQorICAgICAgICAvLyBTb3Vy
Y2VzCiAgICAgICAgIEF1ZGlvQnVmZmVyU291cmNlTm9kZSBjcmVhdGVCdWZmZXJTb3VyY2UoKTsK
KyAgICAgICAgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNv
dXJjZShpbiBIVE1MTWVkaWFFbGVtZW50IG1lZGlhRWxlbWVudCk7CiAKICAgICAgICAgLy8gUHJv
Y2Vzc2luZyBub2RlcwogICAgICAgICBBdWRpb0dhaW5Ob2RlIGNyZWF0ZUdhaW5Ob2RlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCmluZGV4IDMxZTc4OWUxYTdjMDBhN2M1YWI2Yjk4
YWM1Yjc0OTVhMTU0MDE1ZWQuLjc0YjlhOTI0MGNjNmVhMjdlZjhkNTYzZTVhZTVhNTI2YjVkMTg2
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1
YmxpYzoKICAgICAgICAgTm9kZVR5cGVVbmtub3duLAogICAgICAgICBOb2RlVHlwZURlc3RpbmF0
aW9uLAogICAgICAgICBOb2RlVHlwZUF1ZGlvQnVmZmVyU291cmNlLAorICAgICAgICBOb2RlVHlw
ZU1lZGlhRWxlbWVudEF1ZGlvU291cmNlLAogICAgICAgICBOb2RlVHlwZUphdmFTY3JpcHQsCiAg
ICAgICAgIE5vZGVUeXBlQmlxdWFkRmlsdGVyLAogICAgICAgICBOb2RlVHlwZUxvd1Bhc3MyRmls
dGVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlmZDZjNWVlNzFjN2MwZGUwYTMzNDkyM2Jm
OGZhYTg2YzExYmJhNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlv
L01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJfQVVESU8pCisKKyNp
bmNsdWRlICJNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCIKKworI2luY2x1ZGUgIkF1ZGlv
Q29udGV4dC5oIgorI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1Bhc3NSZWZQdHI8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPiBNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIEhUTUxN
ZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCBtZWRpYUVsZW1lbnQpKTsgICAgICAK
K30KKworTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQpCisgICAgOiBBdWRpb1NvdXJjZU5vZGUoY29udGV4dCwgY29udGV4dC0+c2FtcGxlUmF0ZSgp
KQorICAgICwgbV9tZWRpYUVsZW1lbnQobWVkaWFFbGVtZW50KQoreworICAgIC8vIERlZmF1bHQg
dG8gc3RlcmVvLiBUaGlzIGNvdWxkIGNoYW5nZSBkZXBlbmRpbmcgb24gd2hhdCB0aGUgbWVkaWEg
ZWxlbWVudCAuc3JjIGlzIHNldCB0by4KKyAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlv
Tm9kZU91dHB1dCh0aGlzLCAyKSkpOworICAgIAorICAgIHNldFR5cGUoTm9kZVR5cGVNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZSk7Cit9CisKK3ZvaWQgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
Ojpwcm9jZXNzKHNpemVfdCkKK3sKKyAgICBBdWRpb0J1cyogb3V0cHV0QnVzID0gb3V0cHV0KDAp
LT5idXMoKTsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgTWVkaWFQbGF5ZXIgYWJzdHJhY3Rp
b24gdG8gZ2V0IGF1ZGlvIHN0cmVhbSBmcm9tIDxhdWRpbz4gYW5kIDx2aWRlbz4KKyAgICBvdXRw
dXRCdXMtPnplcm8oKTsKK30KKwordm9pZCBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6OnJl
c2V0KCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y4ZTA1MDlmMWMxM2YwNWM5OWUxYjY3
ZDI1ZTFiNzY3NjZkN2EwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZV9oCisjZGVmaW5lIE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZV9oCisKKyNpbmNsdWRlICJBdWRpb1NvdXJjZU5vZGUu
aCIKKyNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBdWRpb0NvbnRleHQ7CisgICAg
CitjbGFzcyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9Tb3VyY2VO
b2RlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBIVE1MTWVkaWFFbGVtZW50Kik7CisKKyAg
ICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKSB7IHJldHVybiBtX21lZGlhRWxlbWVu
dC5nZXQoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAg
IC8vIEF1ZGlvTm9kZQorICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1By
b2Nlc3MpOworICAgIHZpcnR1YWwgdm9pZCByZXNldCgpOworCitwcml2YXRlOgorICAgIE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZShBdWRpb0NvbnRleHQqLCBIVE1MTWVkaWFFbGVtZW50Kik7
CisKKyAgICBSZWZQdHI8SFRNTE1lZGlhRWxlbWVudD4gbV9tZWRpYUVsZW1lbnQ7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA3M2IyNjYwMDM5YThlYzg0YzExYzlm
ZWY1MTQzMmMwYWY4M2JlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBhdWRpbyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9V0VCX0FVRElPLAorICAgICAgICBHZW5lcmF0ZVRvSlMKKyAgICBdIE1lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZSA6IEF1ZGlvU291cmNlTm9kZSB7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBIVE1MTWVkaWFFbGVtZW50IG1lZGlhRWxlbWVudDsKKyAgICB9OworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>