<?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>118408</bug_id>
          
          <creation_ts>2013-07-05 00:43:21 -0700</creation_ts>
          <short_desc>Introduce DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro</short_desc>
          <delta_ts>2013-07-08 08:37:44 -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>SVG</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>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>107386</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>d-r</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>krit</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>pdr</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906314</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 00:43:21 -0700</bug_when>
    <thetext>Split DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER() macro into separate
DECLARE and DEFINE macros to reduce the number of header includes in
SVG.

This is a prerequirement to merging SVGStyledElement into SVGElement (To avoid header inclusion cycle).

Corresponding Blink revision:
https://src.chromium.org/viewvc/blink?revision=153530&amp;view=revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906316</commentid>
    <comment_count>1</comment_count>
      <attachid>206125</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 00:56:36 -0700</bug_when>
    <thetext>Created attachment 206125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906317</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-05 00:58:28 -0700</bug_when>
    <thetext>Attachment 206125 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/EventTarget.h&apos;, u&apos;Source/WebCore/svg/SVGElementInstance.cpp&apos;, u&apos;Source/WebCore/svg/SVGElementInstance.h&apos;]&quot; exit_code: 1
Source/WebCore/dom/EventTarget.h:176:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Source/WebCore/dom/EventTarget.h:180:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Source/WebCore/dom/EventTarget.h:182:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906318</commentid>
    <comment_count>3</comment_count>
      <attachid>206125</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-07-05 01:05:58 -0700</bug_when>
    <thetext>Comment on attachment 206125
Patch

Attachment 206125 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1007407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906319</commentid>
    <comment_count>4</comment_count>
      <attachid>206125</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-07-05 01:06:10 -0700</bug_when>
    <thetext>Comment on attachment 206125
Patch

Attachment 206125 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/942936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906320</commentid>
    <comment_count>5</comment_count>
      <attachid>206125</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-05 01:09:29 -0700</bug_when>
    <thetext>Comment on attachment 206125
Patch

Attachment 206125 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1004414</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906322</commentid>
    <comment_count>6</comment_count>
      <attachid>206125</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-07-05 01:15:52 -0700</bug_when>
    <thetext>Comment on attachment 206125
Patch

Attachment 206125 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1037051</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906323</commentid>
    <comment_count>7</comment_count>
      <attachid>206126</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 01:16:54 -0700</bug_when>
    <thetext>Created attachment 206126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906324</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-05 01:19:24 -0700</bug_when>
    <thetext>Attachment 206126 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/EventTarget.h&apos;, u&apos;Source/WebCore/svg/SVGElementInstance.cpp&apos;, u&apos;Source/WebCore/svg/SVGElementInstance.h&apos;]&quot; exit_code: 1
Source/WebCore/dom/EventTarget.h:176:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Source/WebCore/dom/EventTarget.h:180:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
Source/WebCore/dom/EventTarget.h:182:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906325</commentid>
    <comment_count>9</comment_count>
      <attachid>206126</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-05 01:26:53 -0700</bug_when>
    <thetext>Comment on attachment 206126
Patch

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

&gt; Source/WebCore/svg/SVGElementInstance.h:76
&gt; +    Document* ownerDocument() const;

why? now it is not implicitly inlined.

&gt; Source/WebCore/svg/SVGElementInstance.h:155
&gt; +    virtual Node* toNode();

same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906328</commentid>
    <comment_count>10</comment_count>
      <attachid>206126</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 01:31:02 -0700</bug_when>
    <thetext>Comment on attachment 206126
Patch

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

&gt;&gt; Source/WebCore/svg/SVGElementInstance.h:76
&gt;&gt; +    Document* ownerDocument() const;
&gt; 
&gt; why? now it is not implicitly inlined.

I know but I need to stop including SVGElement.h in this file to prevent a cycle in my next patch. Here the casting from SVGElement* to Document* is an issue with a forward declaration.

&gt;&gt; Source/WebCore/svg/SVGElementInstance.h:155
&gt;&gt; +    virtual Node* toNode();
&gt; 
&gt; same here.

Well, this one is virtual anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906329</commentid>
    <comment_count>11</comment_count>
      <attachid>206126</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 01:33:54 -0700</bug_when>
    <thetext>Comment on attachment 206126
Patch

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

&gt;&gt;&gt; Source/WebCore/svg/SVGElementInstance.h:76
&gt;&gt;&gt; +    Document* ownerDocument() const;
&gt;&gt; 
&gt;&gt; why? now it is not implicitly inlined.
&gt; 
&gt; I know but I need to stop including SVGElement.h in this file to prevent a cycle in my next patch. Here the casting from SVGElement* to Document* is an issue with a forward declaration.

Sorry, casting for the one below. This one is using SVGElement API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906330</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-07-05 01:37:47 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 206126 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206126&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/svg/SVGElementInstance.h:76
&gt; &gt;&gt; +    Document* ownerDocument() const;
&gt; &gt; 
&gt; &gt; why? now it is not implicitly inlined.
&gt; 
&gt; I know but I need to stop including SVGElement.h in this file to prevent a cycle in my next patch. Here the casting from SVGElement* to Document* is an issue with a forward declaration.

Agree, that makes sense.
&gt; 
&gt; &gt;&gt; Source/WebCore/svg/SVGElementInstance.h:155
&gt; &gt;&gt; +    virtual Node* toNode();
&gt; &gt; 
&gt; &gt; same here.
&gt; 
&gt; Well, this one is virtual anyway.
still it can be inlined if compiler knows the exact class of the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906786</commentid>
    <comment_count>13</comment_count>
      <attachid>206126</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-07-08 07:51:04 -0700</bug_when>
    <thetext>Comment on attachment 206126
Patch

Fantastic! This gets us so much closer to axing SVGStyledElement :)

Not marking as cq+ yet in case Mikhail has further comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906805</commentid>
    <comment_count>14</comment_count>
      <attachid>206126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 08:37:41 -0700</bug_when>
    <thetext>Comment on attachment 206126
Patch

Clearing flags on attachment: 206126

Committed r152451: &lt;http://trac.webkit.org/changeset/152451&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906806</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 08:37:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206125</attachid>
            <date>2013-07-05 00:56:36 -0700</date>
            <delta_ts>2013-07-05 01:16:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118408-20130705105427.patch</filename>
            <type>text/plain</type>
            <size>17833</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg1NDQ5YWFhNTU3NDQ1
M2NiODQ4NzFhODZjM2JmZTFlYzMxMzFlYi4uZDU2NzBkZDU0MGU2MTZiZTVjZTQxN2M3NjA5MWMz
MTVhNGJjYTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA3LTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUigpIG1hY3Jv
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg0MDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCBE
RUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoKSBtYWNybyBpbnRvIHNl
cGFyYXRlCisgICAgICAgIERFQ0xBUkUgYW5kIERFRklORSBtYWNyb3MgdG8gcmVkdWNlIHRoZSBu
dW1iZXIgb2YgaGVhZGVyIGluY2x1ZGVzIGluCisgICAgICAgIFNWRy4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdl
dC5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudEluc3RhbmNlOjp0b05vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudElu
c3RhbmNlOjpvd25lckRvY3VtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNl
Lmg6CisKIDIwMTMtMDctMDUgIEd3YW5nIFlvb24gSHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIEJ1aWxkIGZpeCBHVEsgYWZ0ZXIgcjE1MjQwNC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggOTU1NDVlZTYyOGVlMGI3MTNkODUyYTg4NmI5NGUzNjg3MzZhZjUz
ZC4uNmE4MGE4YWNkODVlODNkOWRmMjI3ZDUyOWJiYWZkZWQyYmVjMDViYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKQEAgLTE3Myw5ICsxNzMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gZ2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZXZlbnROYW1lIyNFdmVudCk7IH0gXAogICAg
ICAgICB2b2lkIHNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0
ZW5lcikgeyBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ldmVudE5hbWUj
I0V2ZW50LCBsaXN0ZW5lcik7IH0gXAogCi0gICAgI2RlZmluZSBERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVjaXBpZW50LCBhdHRyaWJ1dGUpIFwKLSAgICAgICAg
RXZlbnRMaXN0ZW5lciogb24jI2F0dHJpYnV0ZSgpIHsgcmV0dXJuIHJlY2lwaWVudCA/IHJlY2lw
aWVudC0+Z2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNF
dmVudCkgOiAwOyB9IFwKLSAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBhc3NSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgaWYgKHJlY2lwaWVudCkgcmVjaXBpZW50LT5zZXRB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRyaWJ1dGUjI0V2ZW50LCBsaXN0
ZW5lcik7IH0gXAorICAgICNkZWZpbmUgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihyZWNpcGllbnQsIGF0dHJpYnV0ZSkgXAorICAgICAgICBFdmVudExpc3RlbmVy
KiBvbiMjYXR0cmlidXRlKCk7IFwKKyAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBhc3NS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpOworCisgICAgI2RlZmluZSBERUZJTkVfRk9S
V0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHlwZSwgcmVjaXBpZW50LCBhdHRyaWJ1
dGUpIFwKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogdHlwZTo6b24jI2F0dHJpYnV0ZSgpIHsgcmV0
dXJuIHJlY2lwaWVudCA/IHJlY2lwaWVudC0+Z2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCkgOiAwOyB9IFwKKyAgICAgICAgdm9pZCB0eXBlOjpz
ZXRPbiMjYXR0cmlidXRlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgaWYg
KHJlY2lwaWVudCkgcmVjaXBpZW50LT5zZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS5hdHRyaWJ1dGUjI0V2ZW50LCBsaXN0ZW5lcik7IH0KIAogICAgIGlubGluZSB2b2lkIEV2
ZW50VGFyZ2V0Ojp2aXNpdEpTRXZlbnRMaXN0ZW5lcnMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRv
cikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCmluZGV4
IDgyZWMzNTE0ODU0YmQyODg4NGM4NWRlYzI3MWIzMzFjYmU4NjJlYjAuLjc0MzQ4ZWM4ZDMyOTE2
M2YzZjc4NWEzM2E4Y2MyN2RjY2NhNmJiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFu
Y2VMaXN0LmgiCiAjaW5jbHVkZSAiU1ZHVXNlRWxlbWVudC5oIgogCkBAIC00MCw2ICs0MSw1NSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJl
ZkNvdW50ZWRMZWFrQ291bnRlciwgaW5zdGFuY2VDb3VudGVyLCAoIldlYkNvcmVTVkdFbGVtZW50
SW5zdGFuY2UiKSk7CiAKKy8vIEV2ZW50VGFyZ2V0IEFQSQorREVGSU5FX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgYWJvcnQpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgYmx1cik7CitE
RUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3Rh
bmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjaGFuZ2UpOworREVGSU5FX0ZPUldBUkRJTkdf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgY2xpY2spOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY29udGV4
dG1lbnUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZGJsY2xpY2spOworREVGSU5F
X0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwg
Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZXJyb3IpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1l
bnQoKSwgZm9jdXMpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgaW5wdXQpOworREVG
SU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5j
ZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5ZG93bik7CitERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBrZXlwcmVzcyk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBrZXl1
cCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVu
dEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBsb2FkKTsKK0RFRklORV9GT1JXQVJE
SU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3Bv
bmRpbmdFbGVtZW50KCksIG1vdXNlZG93bik7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCBtb3VzZWVudGVyKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbGVhdmUp
OworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJ
bnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2Vtb3ZlKTsKK0RFRklORV9GT1JX
QVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJl
c3BvbmRpbmdFbGVtZW50KCksIG1vdXNlb3V0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIG1vdXNlb3Zlcik7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXVwKTsK
K0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5z
dGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNld2hlZWwpOworREVGSU5FX0ZPUldB
UkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgYmVmb3JlY3V0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIGN1dCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZH
RWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBiZWZvcmVjb3B5KTsKK0RF
RklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFu
Y2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNvcHkpOworREVGSU5FX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgYmVmb3JlcGFzdGUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgcGFz
dGUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1l
bnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ2VudGVyKTsKK0RFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNv
cnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdvdmVyKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVt
ZW50KCksIGRyYWdsZWF2ZSk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcm9wKTsK
K0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5z
dGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdzdGFydCk7CitERUZJTkVfRk9SV0FS
RElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNw
b25kaW5nRWxlbWVudCgpLCBkcmFnKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRy
YWdlbmQpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgcmVzZXQpOworREVGSU5FX0ZP
UldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgcmVzaXplKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIHNjcm9sbCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
U1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBzZWFyY2gpOworREVG
SU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5j
ZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgc2VsZWN0KTsKK0RFRklORV9GT1JXQVJESU5HX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIHNlbGVjdHN0YXJ0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHN1
Ym1pdCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxl
bWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCB1bmxvYWQpOworCitzdGF0aWMg
UGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IFNWR0VsZW1lbnRJbnN0YW5jZTo6Y3JlYXRl
KFNWR1VzZUVsZW1lbnQqIGNvcnJlc3BvbmRpbmdVc2VFbGVtZW50LCBTVkdVc2VFbGVtZW50KiBk
aXJlY3RVc2VFbGVtZW50LCBQYXNzUmVmUHRyPFNWR0VsZW1lbnQ+IG9yaWdpbmFsRWxlbWVudCkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0VsZW1lbnRJbnN0YW5jZShjb3JyZXNwb25k
aW5nVXNlRWxlbWVudCwgZGlyZWN0VXNlRWxlbWVudCwgb3JpZ2luYWxFbGVtZW50KSk7Cit9CisK
IFNWR0VsZW1lbnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKFNWR1VzZUVsZW1lbnQqIGNv
cnJlc3BvbmRpbmdVc2VFbGVtZW50LCBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50LCBQ
YXNzUmVmUHRyPFNWR0VsZW1lbnQ+IG9yaWdpbmFsRWxlbWVudCkKICAgICA6IG1fcGFyZW50SW5z
dGFuY2UoMCkKICAgICAsIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoY29ycmVzcG9uZGluZ1Vz
ZUVsZW1lbnQpCkBAIC04Myw2ICsxMzMsMTEgQEAgdm9pZCBTVkdFbGVtZW50SW5zdGFuY2U6OnJl
bW92ZWRMYXN0UmVmKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAordmlydHVhbCBOb2RlKiBTVkdF
bGVtZW50SW5zdGFuY2U6OnRvTm9kZSgpCit7CisgICAgcmV0dXJuIHNoYWRvd1RyZWVFbGVtZW50
KCk7Cit9CisKIHZvaWQgU1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2goKQogewogICAgIC8vIENs
ZWFyIGFsbCBwb2ludGVycy4gV2hlbiB0aGUgbm9kZSBpcyBkZXRhY2hlZCBmcm9tIHRoZSBzaGFk
b3cgRE9NIGl0IHNob3VsZCBiZSByZW1vdmVkIGJ1dCwKQEAgLTEwOSw2ICsxNjQsMTEgQEAgUGFz
c1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2VMaXN0PiBTVkdFbGVtZW50SW5zdGFuY2U6OmNoaWxk
Tm9kZXMoKQogICAgIHJldHVybiBTVkdFbGVtZW50SW5zdGFuY2VMaXN0OjpjcmVhdGUodGhpcyk7
CiB9CiAKK0RvY3VtZW50KiBTVkdFbGVtZW50SW5zdGFuY2U6Om93bmVyRG9jdW1lbnQoKSBjb25z
dAoreworICAgIHJldHVybiBtX2VsZW1lbnQgPyBtX2VsZW1lbnQtPm93bmVyRG9jdW1lbnQoKSA6
IDA7Cit9CisKIHZvaWQgU1ZHRWxlbWVudEluc3RhbmNlOjpzZXRTaGFkb3dUcmVlRWxlbWVudChT
VkdFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFTU0VSVChlbGVtZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAppbmRleCA2NDVlY2Y1YjUyZmNiYTBhNmNhNGQxMjQz
MzlkMDBiZTE4YjMzZjU0Li5lNDk0ODRkNjNmZWUxMGYwNjMyNGQ5Yzc3ZDlkZGFjMmI5YTQxMTIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCkBAIC0yMyw3ICsyMyw2
IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVk
ZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlRyZWVTaGFyZWQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzMsMTcgKzMyLDE1IEBAIHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNOb2RlLCBj
bGFzcyBHZW5lcmljTm9kZUNvbnRhaW5lcj4KIHZvaWQgYWRkQ2hpbGROb2Rlc1RvRGVsZXRpb25R
dWV1ZShHZW5lcmljTm9kZSomIGhlYWQsIEdlbmVyaWNOb2RlKiYgdGFpbCwgR2VuZXJpY05vZGVD
b250YWluZXIqIGNvbnRhaW5lcik7CiB9OwogCi1jbGFzcyBTVkdVc2VFbGVtZW50OworY2xhc3Mg
U1ZHRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q7CiBjbGFzcyBTVkdTdHls
ZWRFbGVtZW50OworY2xhc3MgU1ZHVXNlRWxlbWVudDsKIAogLy8gU1ZHRWxlbWVudEluc3RhbmNl
IG1pbWljcyBOb2RlLCBidXQgd2l0aG91dCBwcm92aWRpbmcgYWxsIGl0cyBmdW5jdGlvbmFsaXR5
CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2UgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBU
cmVlU2hhcmVkPFNWR0VsZW1lbnRJbnN0YW5jZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZT4gY3JlYXRlKFNWR1VzZUVsZW1lbnQqIGNvcnJlc3Bv
bmRpbmdVc2VFbGVtZW50LCBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50LCBQYXNzUmVm
UHRyPFNWR0VsZW1lbnQ+IG9yaWdpbmFsRWxlbWVudCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU1ZHRWxlbWVudEluc3RhbmNlKGNvcnJlc3BvbmRpbmdVc2VFbGVtZW50LCBk
aXJlY3RVc2VFbGVtZW50LCBvcmlnaW5hbEVsZW1lbnQpKTsKLSAgICB9CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZHVXNlRWxlbWVudCogY29ycmVz
cG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQsIFBhc3NS
ZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KTsKIAogICAgIHZpcnR1YWwgflNWR0Vs
ZW1lbnRJbnN0YW5jZSgpOwogCkBAIC03NSw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBTVkdFbGVt
ZW50SW5zdGFuY2UqIGZpcnN0Q2hpbGQoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0Q2hpbGQ7IH0K
ICAgICBTVkdFbGVtZW50SW5zdGFuY2UqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFz
dENoaWxkOyB9CiAKLSAgICBEb2N1bWVudCogb3duZXJEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fZWxlbWVudCA/IG1fZWxlbWVudC0+b3duZXJEb2N1bWVudCgpIDogMDsgfQorICAgIERvY3Vt
ZW50KiBvd25lckRvY3VtZW50KCkgY29uc3Q7CiAKICAgICBjbGFzcyBJbnZhbGlkYXRpb25HdWFy
ZCB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEludmFsaWRhdGlvbkd1YXJkKTsKQEAg
LTEwMiw0OCArOTksNDggQEAgcHVibGljOgogICAgIHVzaW5nIFRyZWVTaGFyZWQ8U1ZHRWxlbWVu
dEluc3RhbmNlPjo6ZGVyZWY7CiAKICAgICAvLyBFdmVudFRhcmdldCBBUEkKLSAgICBERUZJTkVf
Rk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQo
KSwgYWJvcnQpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBibHVyKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY2hhbmdlKTsK
LSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9u
ZGluZ0VsZW1lbnQoKSwgY2xpY2spOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjb250ZXh0bWVudSk7Ci0gICAg
REVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIGRibGNsaWNrKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZXJyb3IpOwotICAgIERFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCBmb2N1cyk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGlucHV0KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5ZG93bik7
Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3Bv
bmRpbmdFbGVtZW50KCksIGtleXByZXNzKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5dXApOwotICAgIERF
RklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxl
bWVudCgpLCBsb2FkKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2Vkb3duKTsKLSAgICBERUZJTkVfRk9S
V0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwg
bW91c2VlbnRlcik7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbGVhdmUpOwotICAgIERFRklORV9GT1JX
QVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBt
b3VzZW1vdmUpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZW91dCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJ
TkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNl
b3Zlcik7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNv
cnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNldXApOwotICAgIERFRklORV9GT1JXQVJESU5HX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXdoZWVs
KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgYmVmb3JlY3V0KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY3V0KTsKLSAgICBE
RUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgYmVmb3JlY29weSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNvcHkpOwotICAgIERFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCBiZWZvcmVwYXN0ZSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHBhc3RlKTsKLSAgICBERUZJTkVfRk9SV0FS
RElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJh
Z2VudGVyKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ292ZXIpOwotICAgIERFRklORV9GT1JXQVJESU5H
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnbGVh
dmUpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3Jy
ZXNwb25kaW5nRWxlbWVudCgpLCBkcm9wKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ3N0YXJ0KTsKLSAg
ICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgZHJhZyk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdlbmQpOwotICAgIERFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCByZXNldCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHJlc2l6ZSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNjcm9sbCk7
Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3Bv
bmRpbmdFbGVtZW50KCksIHNlYXJjaCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNlbGVjdCk7Ci0gICAgREVG
SU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVt
ZW50KCksIHNlbGVjdHN0YXJ0KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgc3VibWl0KTsKLSAgICBERUZJTkVf
Rk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQo
KSwgdW5sb2FkKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGFib3J0KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJ
TkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGJsdXIp
OworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgY2hhbmdlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNsaWNrKTsKKyAgICBE
RUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIGNvbnRleHRtZW51KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRibGNsaWNrKTsKKyAgICBE
RUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIGVycm9yKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGZvY3VzKTsKKyAgICBERUNMQVJFX0ZP
UldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCks
IGlucHV0KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGtleWRvd24pOworICAgIERFQ0xBUkVfRk9SV0FSRElO
R19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5cHJl
c3MpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5dXApOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbG9hZCk7CisgICAg
REVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBtb3VzZWRvd24pOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2VlbnRlcik7CisgICAg
REVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBtb3VzZWxlYXZlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbW92ZSk7CisgICAg
REVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBtb3VzZW91dCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZW92ZXIpOworICAgIERF
Q0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgbW91c2V1cCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXdoZWVsKTsKKyAgICBERUNM
QVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVt
ZW50KCksIGJlZm9yZWN1dCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjdXQpOworICAgIERFQ0xBUkVfRk9S
V0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwg
YmVmb3JlY29weSk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjb3B5KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJ
TkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGJlZm9y
ZXBhc3RlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHBhc3RlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdlbnRl
cik7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3Jy
ZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnb3Zlcik7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnbGVhdmUp
OworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgZHJvcCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnc3RhcnQpOworICAg
IERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgZHJhZyk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnZW5kKTsKKyAgICBERUNMQVJF
X0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIHJlc2V0KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHJlc2l6ZSk7CisgICAgREVDTEFSRV9GT1JXQVJE
SU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBzY3Jv
bGwpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgc2VhcmNoKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNlbGVjdCk7Cisg
ICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25k
aW5nRWxlbWVudCgpLCBzZWxlY3RzdGFydCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBzdWJtaXQpOworICAg
IERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgdW5sb2FkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgU1ZHVXNl
RWxlbWVudDsKQEAgLTE1NCw3ICsxNTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlZExh
c3RSZWYoKTsKICAgICBib29sIGhhc1RyZWVTaGFyZWRQYXJlbnQoKSBjb25zdCB7IHJldHVybiAh
IW1fcGFyZW50SW5zdGFuY2U7IH0KIAotICAgIHZpcnR1YWwgTm9kZSogdG9Ob2RlKCkgeyByZXR1
cm4gc2hhZG93VHJlZUVsZW1lbnQoKTsgfQorICAgIHZpcnR1YWwgTm9kZSogdG9Ob2RlKCk7CiAK
ICAgICB2b2lkIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjaGls
ZCk7CiAgICAgdm9pZCBzZXRTaGFkb3dUcmVlRWxlbWVudChTVkdFbGVtZW50Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206126</attachid>
            <date>2013-07-05 01:16:54 -0700</date>
            <delta_ts>2013-07-08 08:37:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118408-20130705111441.patch</filename>
            <type>text/plain</type>
            <size>17836</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg1NDQ5YWFhNTU3NDQ1
M2NiODQ4NzFhODZjM2JmZTFlYzMxMzFlYi4uZDU2NzBkZDU0MGU2MTZiZTVjZTQxN2M3NjA5MWMz
MTVhNGJjYTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA3LTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUigpIG1hY3Jv
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg0MDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCBE
RUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoKSBtYWNybyBpbnRvIHNl
cGFyYXRlCisgICAgICAgIERFQ0xBUkUgYW5kIERFRklORSBtYWNyb3MgdG8gcmVkdWNlIHRoZSBu
dW1iZXIgb2YgaGVhZGVyIGluY2x1ZGVzIGluCisgICAgICAgIFNWRy4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdl
dC5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
RWxlbWVudEluc3RhbmNlOjp0b05vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudElu
c3RhbmNlOjpvd25lckRvY3VtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudEluc3RhbmNl
Lmg6CisKIDIwMTMtMDctMDUgIEd3YW5nIFlvb24gSHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIEJ1aWxkIGZpeCBHVEsgYWZ0ZXIgcjE1MjQwNC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggOTU1NDVlZTYyOGVlMGI3MTNkODUyYTg4NmI5NGUzNjg3MzZhZjUz
ZC4uNmE4MGE4YWNkODVlODNkOWRmMjI3ZDUyOWJiYWZkZWQyYmVjMDViYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKQEAgLTE3Myw5ICsxNzMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gZ2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZXZlbnROYW1lIyNFdmVudCk7IH0gXAogICAg
ICAgICB2b2lkIHNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0
ZW5lcikgeyBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ldmVudE5hbWUj
I0V2ZW50LCBsaXN0ZW5lcik7IH0gXAogCi0gICAgI2RlZmluZSBERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVjaXBpZW50LCBhdHRyaWJ1dGUpIFwKLSAgICAgICAg
RXZlbnRMaXN0ZW5lciogb24jI2F0dHJpYnV0ZSgpIHsgcmV0dXJuIHJlY2lwaWVudCA/IHJlY2lw
aWVudC0+Z2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNF
dmVudCkgOiAwOyB9IFwKLSAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBhc3NSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgaWYgKHJlY2lwaWVudCkgcmVjaXBpZW50LT5zZXRB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRyaWJ1dGUjI0V2ZW50LCBsaXN0
ZW5lcik7IH0gXAorICAgICNkZWZpbmUgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihyZWNpcGllbnQsIGF0dHJpYnV0ZSkgXAorICAgICAgICBFdmVudExpc3RlbmVy
KiBvbiMjYXR0cmlidXRlKCk7IFwKKyAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBhc3NS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpOworCisgICAgI2RlZmluZSBERUZJTkVfRk9S
V0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHlwZSwgcmVjaXBpZW50LCBhdHRyaWJ1
dGUpIFwKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogdHlwZTo6b24jI2F0dHJpYnV0ZSgpIHsgcmV0
dXJuIHJlY2lwaWVudCA/IHJlY2lwaWVudC0+Z2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCkgOiAwOyB9IFwKKyAgICAgICAgdm9pZCB0eXBlOjpz
ZXRPbiMjYXR0cmlidXRlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgaWYg
KHJlY2lwaWVudCkgcmVjaXBpZW50LT5zZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFt
ZXMoKS5hdHRyaWJ1dGUjI0V2ZW50LCBsaXN0ZW5lcik7IH0KIAogICAgIGlubGluZSB2b2lkIEV2
ZW50VGFyZ2V0Ojp2aXNpdEpTRXZlbnRMaXN0ZW5lcnMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRv
cikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCmluZGV4
IDgyZWMzNTE0ODU0YmQyODg4NGM4NWRlYzI3MWIzMzFjYmU4NjJlYjAuLjllZmU3YTk3Y2ViZDhh
ZWFlNGJhY2ZhNDEwOTc4YTIwM2NiYjc3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFu
Y2VMaXN0LmgiCiAjaW5jbHVkZSAiU1ZHVXNlRWxlbWVudC5oIgogCkBAIC00MCw2ICs0MSw1NSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJl
ZkNvdW50ZWRMZWFrQ291bnRlciwgaW5zdGFuY2VDb3VudGVyLCAoIldlYkNvcmVTVkdFbGVtZW50
SW5zdGFuY2UiKSk7CiAKKy8vIEV2ZW50VGFyZ2V0IEFQSQorREVGSU5FX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgYWJvcnQpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgYmx1cik7CitE
RUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3Rh
bmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjaGFuZ2UpOworREVGSU5FX0ZPUldBUkRJTkdf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgY2xpY2spOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY29udGV4
dG1lbnUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZGJsY2xpY2spOworREVGSU5F
X0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwg
Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZXJyb3IpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1l
bnQoKSwgZm9jdXMpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgaW5wdXQpOworREVG
SU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5j
ZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5ZG93bik7CitERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBrZXlwcmVzcyk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBrZXl1
cCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVu
dEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBsb2FkKTsKK0RFRklORV9GT1JXQVJE
SU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3Bv
bmRpbmdFbGVtZW50KCksIG1vdXNlZG93bik7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCBtb3VzZWVudGVyKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbGVhdmUp
OworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJ
bnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2Vtb3ZlKTsKK0RFRklORV9GT1JX
QVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJl
c3BvbmRpbmdFbGVtZW50KCksIG1vdXNlb3V0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIG1vdXNlb3Zlcik7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXVwKTsK
K0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5z
dGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNld2hlZWwpOworREVGSU5FX0ZPUldB
UkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgYmVmb3JlY3V0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIGN1dCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZH
RWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBiZWZvcmVjb3B5KTsKK0RF
RklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFu
Y2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNvcHkpOworREVGSU5FX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKSwgYmVmb3JlcGFzdGUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgcGFz
dGUpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1l
bnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ2VudGVyKTsKK0RFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNv
cnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdvdmVyKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVt
ZW50KCksIGRyYWdsZWF2ZSk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcm9wKTsK
K0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5z
dGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdzdGFydCk7CitERUZJTkVfRk9SV0FS
RElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNw
b25kaW5nRWxlbWVudCgpLCBkcmFnKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRy
YWdlbmQpOworREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0Vs
ZW1lbnRJbnN0YW5jZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgcmVzZXQpOworREVGSU5FX0ZP
UldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5jZSwgY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgcmVzaXplKTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIHNjcm9sbCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
U1ZHRWxlbWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBzZWFyY2gpOworREVG
SU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKFNWR0VsZW1lbnRJbnN0YW5j
ZSwgY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgc2VsZWN0KTsKK0RFRklORV9GT1JXQVJESU5HX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIHNlbGVjdHN0YXJ0KTsKK0RFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihTVkdFbGVtZW50SW5zdGFuY2UsIGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHN1
Ym1pdCk7CitERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoU1ZHRWxl
bWVudEluc3RhbmNlLCBjb3JyZXNwb25kaW5nRWxlbWVudCgpLCB1bmxvYWQpOworCitQYXNzUmVm
UHRyPFNWR0VsZW1lbnRJbnN0YW5jZT4gU1ZHRWxlbWVudEluc3RhbmNlOjpjcmVhdGUoU1ZHVXNl
RWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVz
ZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQoreworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHRWxlbWVudEluc3RhbmNlKGNvcnJlc3BvbmRpbmdVc2VF
bGVtZW50LCBkaXJlY3RVc2VFbGVtZW50LCBvcmlnaW5hbEVsZW1lbnQpKTsKK30KKwogU1ZHRWxl
bWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFuY2UoU1ZHVXNlRWxlbWVudCogY29ycmVzcG9u
ZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQsIFBhc3NSZWZQ
dHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQogICAgIDogbV9wYXJlbnRJbnN0YW5jZSgw
KQogICAgICwgbV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudChjb3JyZXNwb25kaW5nVXNlRWxlbWVu
dCkKQEAgLTgzLDYgKzEzMywxMSBAQCB2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6cmVtb3ZlZExh
c3RSZWYoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCitOb2RlKiBTVkdFbGVtZW50SW5zdGFuY2U6
OnRvTm9kZSgpCit7CisgICAgcmV0dXJuIHNoYWRvd1RyZWVFbGVtZW50KCk7Cit9CisKIHZvaWQg
U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2goKQogewogICAgIC8vIENsZWFyIGFsbCBwb2ludGVy
cy4gV2hlbiB0aGUgbm9kZSBpcyBkZXRhY2hlZCBmcm9tIHRoZSBzaGFkb3cgRE9NIGl0IHNob3Vs
ZCBiZSByZW1vdmVkIGJ1dCwKQEAgLTEwOSw2ICsxNjQsMTEgQEAgUGFzc1JlZlB0cjxTVkdFbGVt
ZW50SW5zdGFuY2VMaXN0PiBTVkdFbGVtZW50SW5zdGFuY2U6OmNoaWxkTm9kZXMoKQogICAgIHJl
dHVybiBTVkdFbGVtZW50SW5zdGFuY2VMaXN0OjpjcmVhdGUodGhpcyk7CiB9CiAKK0RvY3VtZW50
KiBTVkdFbGVtZW50SW5zdGFuY2U6Om93bmVyRG9jdW1lbnQoKSBjb25zdAoreworICAgIHJldHVy
biBtX2VsZW1lbnQgPyBtX2VsZW1lbnQtPm93bmVyRG9jdW1lbnQoKSA6IDA7Cit9CisKIHZvaWQg
U1ZHRWxlbWVudEluc3RhbmNlOjpzZXRTaGFkb3dUcmVlRWxlbWVudChTVkdFbGVtZW50KiBlbGVt
ZW50KQogewogICAgIEFTU0VSVChlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
SW5zdGFuY2UuaAppbmRleCA2NDVlY2Y1YjUyZmNiYTBhNmNhNGQxMjQzMzlkMDBiZTE4YjMzZjU0
Li5jOWZlNTVjZTc3NjU0ZmU1OWVjM2M4NmJlOTQ3N2ZhNDFmM2UwNWFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudC5o
IgogI2luY2x1ZGUgIlRyZWVTaGFyZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMs
MTcgKzMyLDE2IEBAIHRlbXBsYXRlPGNsYXNzIEdlbmVyaWNOb2RlLCBjbGFzcyBHZW5lcmljTm9k
ZUNvbnRhaW5lcj4KIHZvaWQgYWRkQ2hpbGROb2Rlc1RvRGVsZXRpb25RdWV1ZShHZW5lcmljTm9k
ZSomIGhlYWQsIEdlbmVyaWNOb2RlKiYgdGFpbCwgR2VuZXJpY05vZGVDb250YWluZXIqIGNvbnRh
aW5lcik7CiB9OwogCi1jbGFzcyBTVkdVc2VFbGVtZW50OworY2xhc3MgRG9jdW1lbnQ7CitjbGFz
cyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlTGlzdDsKIGNsYXNzIFNWR1N0
eWxlZEVsZW1lbnQ7CitjbGFzcyBTVkdVc2VFbGVtZW50OwogCiAvLyBTVkdFbGVtZW50SW5zdGFu
Y2UgbWltaWNzIE5vZGUsIGJ1dCB3aXRob3V0IHByb3ZpZGluZyBhbGwgaXRzIGZ1bmN0aW9uYWxp
dHkKIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGlj
IFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZHVXNlRWxlbWVudCogY29ycmVz
cG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQsIFBhc3NS
ZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQotICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTVkdFbGVtZW50SW5zdGFuY2UoY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQs
IGRpcmVjdFVzZUVsZW1lbnQsIG9yaWdpbmFsRWxlbWVudCkpOwotICAgIH0KKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdFbGVtZW50SW5zdGFuY2U+IGNyZWF0ZShTVkdVc2VFbGVtZW50KiBjb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCwgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCwgUGFz
c1JlZlB0cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQpOwogCiAgICAgdmlydHVhbCB+U1ZH
RWxlbWVudEluc3RhbmNlKCk7CiAKQEAgLTc1LDcgKzczLDcgQEAgcHVibGljOgogICAgIFNWR0Vs
ZW1lbnRJbnN0YW5jZSogZmlyc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RDaGlsZDsg
fQogICAgIFNWR0VsZW1lbnRJbnN0YW5jZSogbGFzdENoaWxkKCkgY29uc3QgeyByZXR1cm4gbV9s
YXN0Q2hpbGQ7IH0KIAotICAgIERvY3VtZW50KiBvd25lckRvY3VtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9lbGVtZW50ID8gbV9lbGVtZW50LT5vd25lckRvY3VtZW50KCkgOiAwOyB9CisgICAgRG9j
dW1lbnQqIG93bmVyRG9jdW1lbnQoKSBjb25zdDsKIAogICAgIGNsYXNzIEludmFsaWRhdGlvbkd1
YXJkIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW52YWxpZGF0aW9uR3VhcmQpOwpA
QCAtMTAyLDQ4ICsxMDAsNDggQEAgcHVibGljOgogICAgIHVzaW5nIFRyZWVTaGFyZWQ8U1ZHRWxl
bWVudEluc3RhbmNlPjo6ZGVyZWY7CiAKICAgICAvLyBFdmVudFRhcmdldCBBUEkKLSAgICBERUZJ
TkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1l
bnQoKSwgYWJvcnQpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBibHVyKTsKLSAgICBERUZJTkVfRk9SV0FSRElO
R19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY2hhbmdl
KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVz
cG9uZGluZ0VsZW1lbnQoKSwgY2xpY2spOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjb250ZXh0bWVudSk7Ci0g
ICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRp
bmdFbGVtZW50KCksIGRibGNsaWNrKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZXJyb3IpOwotICAgIERFRklO
RV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVu
dCgpLCBmb2N1cyk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGlucHV0KTsKLSAgICBERUZJTkVfRk9SV0FSRElO
R19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5ZG93
bik7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJl
c3BvbmRpbmdFbGVtZW50KCksIGtleXByZXNzKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5dXApOwotICAg
IERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5n
RWxlbWVudCgpLCBsb2FkKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2Vkb3duKTsKLSAgICBERUZJTkVf
Rk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQo
KSwgbW91c2VlbnRlcik7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbGVhdmUpOwotICAgIERFRklORV9G
T1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgp
LCBtb3VzZW1vdmUpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZW91dCk7Ci0gICAgREVGSU5FX0ZPUldB
UkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1v
dXNlb3Zlcik7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNldXApOwotICAgIERFRklORV9GT1JXQVJESU5H
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXdo
ZWVsKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgYmVmb3JlY3V0KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgY3V0KTsKLSAg
ICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgYmVmb3JlY29weSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNvcHkpOwotICAgIERFRklO
RV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVu
dCgpLCBiZWZvcmVwYXN0ZSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHBhc3RlKTsKLSAgICBERUZJTkVfRk9S
V0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwg
ZHJhZ2VudGVyKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ292ZXIpOwotICAgIERFRklORV9GT1JXQVJE
SU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFn
bGVhdmUpOwotICAgIERFRklORV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihj
b3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcm9wKTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJhZ3N0YXJ0KTsK
LSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9u
ZGluZ0VsZW1lbnQoKSwgZHJhZyk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdlbmQpOwotICAgIERFRklO
RV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVu
dCgpLCByZXNldCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHJlc2l6ZSk7Ci0gICAgREVGSU5FX0ZPUldBUkRJ
TkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNjcm9s
bCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJl
c3BvbmRpbmdFbGVtZW50KCksIHNlYXJjaCk7Ci0gICAgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNlbGVjdCk7Ci0gICAg
REVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIHNlbGVjdHN0YXJ0KTsKLSAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgc3VibWl0KTsKLSAgICBERUZJ
TkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1l
bnQoKSwgdW5sb2FkKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGFib3J0KTsKKyAgICBERUNMQVJFX0ZPUldB
UkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGJs
dXIpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgY2hhbmdlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGNsaWNrKTsKKyAg
ICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRp
bmdFbGVtZW50KCksIGNvbnRleHRtZW51KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRibGNsaWNrKTsKKyAg
ICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRp
bmdFbGVtZW50KCksIGVycm9yKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGZvY3VzKTsKKyAgICBERUNMQVJF
X0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50
KCksIGlucHV0KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGtleWRvd24pOworICAgIERFQ0xBUkVfRk9SV0FS
RElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5
cHJlc3MpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSwga2V5dXApOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbG9hZCk7Cisg
ICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25k
aW5nRWxlbWVudCgpLCBtb3VzZWRvd24pOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgbW91c2VlbnRlcik7Cisg
ICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25k
aW5nRWxlbWVudCgpLCBtb3VzZWxlYXZlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIG1vdXNlbW92ZSk7Cisg
ICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25k
aW5nRWxlbWVudCgpLCBtb3VzZW91dCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZW92ZXIpOworICAg
IERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGlu
Z0VsZW1lbnQoKSwgbW91c2V1cCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBtb3VzZXdoZWVsKTsKKyAgICBE
RUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdF
bGVtZW50KCksIGJlZm9yZWN1dCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjdXQpOworICAgIERFQ0xBUkVf
Rk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQo
KSwgYmVmb3JlY29weSk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBjb3B5KTsKKyAgICBERUNMQVJFX0ZPUldB
UkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGJl
Zm9yZXBhc3RlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHBhc3RlKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJ
TkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIGRyYWdl
bnRlcik7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihj
b3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnb3Zlcik7CisgICAgREVDTEFSRV9GT1JXQVJESU5H
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnbGVh
dmUpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29y
cmVzcG9uZGluZ0VsZW1lbnQoKSwgZHJvcCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnc3RhcnQpOwor
ICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9u
ZGluZ0VsZW1lbnQoKSwgZHJhZyk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBkcmFnZW5kKTsKKyAgICBERUNM
QVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVt
ZW50KCksIHJlc2V0KTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHJlc2l6ZSk7CisgICAgREVDTEFSRV9GT1JX
QVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBz
Y3JvbGwpOworICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgc2VhcmNoKTsKKyAgICBERUNMQVJFX0ZPUldBUkRJTkdf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcnJlc3BvbmRpbmdFbGVtZW50KCksIHNlbGVjdCk7
CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNw
b25kaW5nRWxlbWVudCgpLCBzZWxlY3RzdGFydCk7CisgICAgREVDTEFSRV9GT1JXQVJESU5HX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3JyZXNwb25kaW5nRWxlbWVudCgpLCBzdWJtaXQpOwor
ICAgIERFQ0xBUkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29ycmVzcG9u
ZGluZ0VsZW1lbnQoKSwgdW5sb2FkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgU1ZH
VXNlRWxlbWVudDsKQEAgLTE1NCw3ICsxNTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3Zl
ZExhc3RSZWYoKTsKICAgICBib29sIGhhc1RyZWVTaGFyZWRQYXJlbnQoKSBjb25zdCB7IHJldHVy
biAhIW1fcGFyZW50SW5zdGFuY2U7IH0KIAotICAgIHZpcnR1YWwgTm9kZSogdG9Ob2RlKCkgeyBy
ZXR1cm4gc2hhZG93VHJlZUVsZW1lbnQoKTsgfQorICAgIHZpcnR1YWwgTm9kZSogdG9Ob2RlKCk7
CiAKICAgICB2b2lkIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBj
aGlsZCk7CiAgICAgdm9pZCBzZXRTaGFkb3dUcmVlRWxlbWVudChTVkdFbGVtZW50Kik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>