<?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>157457</bug_id>
          
          <creation_ts>2016-05-07 22:58:44 -0700</creation_ts>
          <short_desc>Change HTMLSlotElement::assignedNodes to take an IDL dictionary instead of a WebCore::Dictionary</short_desc>
          <delta_ts>2016-05-08 11:34:39 -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>Bindings</component>
          <version>WebKit 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>
          <dependson>157463</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191015</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-07 22:58:44 -0700</bug_when>
    <thetext>Change HTMLSlotElement::assignedNodes to take a IDL dictionary instead of a WebCore::Dictionary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191016</commentid>
    <comment_count>1</comment_count>
      <attachid>278353</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-07 23:03:16 -0700</bug_when>
    <thetext>Created attachment 278353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191052</commentid>
    <comment_count>2</comment_count>
      <attachid>278353</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 08:28:13 -0700</bug_when>
    <thetext>Comment on attachment 278353
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMConvert.h:54
&gt; +template&lt;&gt; inline bool convert&lt;bool&gt;(JSC::ExecState&amp; state, JSC::JSValue value)
&gt; +{
&gt; +    return value.toBoolean(&amp;state);
&gt; +}

I will rebase since I recently landed a patch that adds this so I don’t need to add it again.

&gt; Source/WebCore/html/HTMLSlotElement.cpp:113
&gt; +Vector&lt;Node*&gt; HTMLSlotElement::assignedNodes(const Optional&lt;AssignedNodesOptions&gt;&amp; options) const

I’ll post a new patch that no longer uses Optional once I land the patch that fixes the use of Optional for dictionaries.

&gt; LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html:52
&gt; -testSlotOutsideShadowTree(null);
&gt; +testSlotOutsideShadowTree({});

I won’t need any of these LayoutTests changes after fixing the handling of null in dictionaries, which is the patch I am working on right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191064</commentid>
    <comment_count>3</comment_count>
      <attachid>278365</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 10:50:55 -0700</bug_when>
    <thetext>Created attachment 278365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191065</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 10:51:30 -0700</bug_when>
    <thetext>OK, back to a nice small, contained patch again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191067</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 10:55:24 -0700</bug_when>
    <thetext>Nope, forgot to get rid of Optional!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191068</commentid>
    <comment_count>6</comment_count>
      <attachid>278366</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 10:56:11 -0700</bug_when>
    <thetext>Created attachment 278366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191069</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 10:56:29 -0700</bug_when>
    <thetext>OK, that’s better. Ready to review and land now, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191071</commentid>
    <comment_count>8</comment_count>
      <attachid>278366</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-08 11:10:50 -0700</bug_when>
    <thetext>Comment on attachment 278366
Patch

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

r=me

&gt; Source/WebCore/html/HTMLSlotElement.cpp:-138
&gt; -    bool bubbles = false;

bubbles had the benefit of matching the DOM spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191074</commentid>
    <comment_count>9</comment_count>
      <attachid>278366</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 11:30:34 -0700</bug_when>
    <thetext>Comment on attachment 278366
Patch

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

&gt;&gt; Source/WebCore/html/HTMLSlotElement.cpp:-138
&gt;&gt; -    bool bubbles = false;
&gt; 
&gt; bubbles had the benefit of matching the DOM spec.

Very interesting. I changed this to match Event.idl and Event.h; didn’t realize they were out of sync with the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191075</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-08 11:34:39 -0700</bug_when>
    <thetext>Committed r200557: &lt;http://trac.webkit.org/changeset/200557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278353</attachid>
            <date>2016-05-07 23:03:16 -0700</date>
            <delta_ts>2016-05-08 10:50:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157457-20160507230400.patch</filename>
            <type>text/plain</type>
            <size>13438</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUyMjY5ZTJlYWVlZjIx
YmMyMDI5MGNjNmJjNzc1M2IwZTI0MWRhYy4uMjQ3YTdkOTlmN2Q0NjI4YTQxOTg0ODZjMTM2NWMx
NWJjZDZiODk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTA1LTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgSFRNTFNsb3RFbGVt
ZW50Ojphc3NpZ25lZE5vZGVzIHRvIHRha2UgYSBJREwgZGljdGlvbmFyeSBpbnN0ZWFkIG9mIGEg
V2ViQ29yZTo6RGljdGlvbmFyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OmNvbnZlcnQ8Ym9vbD4pOiBBZGRlZC4KKworICAgICAgICAqIGh0bWwvSFRNTFNsb3RFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTbG90RWxlbWVudDo6cmVtb3ZlZEZyb20p
OiBGaXhlZCB0eXBvIGluIGNvbW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1l
bnQ6OmFzc2lnbmVkTm9kZXMpOiBSZW5hbWVkIGFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyBiYWNr
IHRvIHRoaXMKKyAgICAgICAgYW5kIGNoYW5nZWQgdGhlIGFyZ3VtZW50IHR5cGUgdG8gT3B0aW9u
YWw8QXNzaWduZWROb2Rlc09wdGlvbnM+IGluc3RlYWQgb2YgRGljdGlvbmFyeS4KKyAgICAgICAg
QWxzbyBzdHJlYW1saW5lZCB0aGUgbG9naWMgYSBiaXQuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
U2xvdEVsZW1lbnQ6OmVucXVldWVTbG90Q2hhbmdlRXZlbnQpOiBDaGFuZ2VkIHRvIHVzZSBhIHBv
aW50ZXIgdG8gdGhlCisgICAgICAgIGVucXVldWVkIGV2ZW50IGluc3RlYWQgb2YgYSBib29sZWFu
LiBXaXRoIG9ubHkgYSBib29sZWFuLCB3ZSBjb3VsZCBlbmQgdXAgY2xlYXJpbmcgdGhlCisgICAg
ICAgIGZsYWcgaW4gY2FzZXMgd2hlcmUgd2UgZG9uJ3QgcmVhbGx5IHdhbnQgdG8uCisgICAgICAg
IChXZWJDb3JlOjpIVE1MU2xvdEVsZW1lbnQ6OmRpc3BhdGNoRXZlbnQpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTbG90RWxlbWVudDo6YXNzaWduZWROb2Rlc0ZvckJpbmRpbmdzKTog
RGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5oOiBVc2UgcHJhZ21hIG9u
Y2UuIEFkZGVkIEFzc2lnbmVkTm9kZU9wdGlvbnMuIENoYW5nZWQgZm9yIHRoZQorICAgICAgICBh
Ym92ZSwgaW5jbHVkaW5nIGNoYW5naW5nIHRoZSBkYXRhIG1lbWJlci4KKyAgICAgICAgKiBodG1s
L0hUTUxTbG90RWxlbWVudC5pZGw6IFJlbW92ZWQgdXNlIG9mIEltcGxlbWVudGVkQXMuIEZpeGVk
IHRoZSB0eXBlIG9mIHRoZSBvcHRpb25zCisgICAgICAgIGRpY3Rpb25hcnkuCisKIDIwMTYtMDUt
MDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2Ugc3Bl
Y2lhbCBoYW5kbGluZyBvZiBYUGF0aE5TUmVzb2x2ZXIgdHlwZSBpbiB0aGUgYmluZGluZ3MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgKaW5kZXggYjhjZTM0NWMzNTI3
MjI5ZjZlYjhkNDhlYzlmYTExZjk4NmJjMTNjZS4uZGVjNDBiOGFjOWY4MTNlM2I0NWI3YjAxNGY2
YzBlYWNiYmU5M2FmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Db252ZXJ0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0
LmgKQEAgLTQ4LDYgKzQ4LDExIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlu
bGluZSBUIGNvbnZlcnRPcHRpb25hbChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsCiAgICAgcmV0dXJu
IHZhbHVlLmlzVW5kZWZpbmVkKCkgPyBzdGQ6OmZvcndhcmQ8VT4oZGVmYXVsdFZhbHVlKSA6IGNv
bnZlcnQ8VD4oc3RhdGUsIHZhbHVlKTsKIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBjb252
ZXJ0PGJvb2w+KEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZhbHVlKQorewor
ICAgIHJldHVybiB2YWx1ZS50b0Jvb2xlYW4oJnN0YXRlKTsKK30KKwogdGVtcGxhdGU8PiBpbmxp
bmUgU3RyaW5nIGNvbnZlcnQ8U3RyaW5nPihKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNW
YWx1ZSB2YWx1ZSkKIHsKICAgICByZXR1cm4gdmFsdWUudG9XVEZTdHJpbmcoJnN0YXRlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmNwcAppbmRleCA0N2MxOWNmYjQwYTFiOWI0
OGNhNjFlOTFkNjc0NDBmODMyZWM2MDI3Li4zYmE1OTE3NTFmNzc1NDNlMjY4ZjU0Yjg3ZTM5ZTA3
NDRkN2VhODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuY3BwCkBAIC0y
OCw4ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKERFVEFJTFNf
RUxFTUVOVCkKIAotI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKLSNpbmNsdWRlICJFbGVtZW50Q2hp
bGRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAtNjgsNyArNjYsNyBAQCBIVE1MU2xvdEVsZW1l
bnQ6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgSFRNTFNsb3RFbGVtZW50OjppbnNlcnRl
ZEludG8oQ29udAogCiB2b2lkIEhUTUxTbG90RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVy
Tm9kZSYgaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgLy8gQ29udGFpbmVyTm9kZTo6cmVtb3ZlQmV0
d2VlbiBhbHdheXMgc2V0cyB0aGUgcmVtb3ZlZCBjaGlkJ3MgdHJlZSBzY29wZSB0byBEb2N1bWVu
dCdzIGJ1dCBJblNoYWRvd1Jvb3QgZmxhZyBpcyB1bnNldCBpbiBOb2RlOjpyZW1vdmVkRnJvbS4K
KyAgICAvLyBDb250YWluZXJOb2RlOjpyZW1vdmVCZXR3ZWVuIGFsd2F5cyBzZXRzIHRoZSByZW1v
dmVkIGNoaWxkJ3MgdHJlZSBzY29wZSB0byBEb2N1bWVudCdzIGJ1dCBJblNoYWRvd1Jvb3QgZmxh
ZyBpcyB1bnNldCBpbiBOb2RlOjpyZW1vdmVkRnJvbS4KICAgICAvLyBTbyBpZiBJblNoYWRvd1Jv
b3QgZmxhZyBpcyBzZXQgYnV0IHRoaXMgZWxlbWVudCdzIHRyZWUgc2NvcGUgaXMgRG9jdW1lbnQn
cywgdGhpcyBlbGVtZW50IGhhcyBqdXN0IGJlZW4gcmVtb3ZlZCBmcm9tIGEgc2hhZG93IHJvb3Qu
CiAgICAgaWYgKGluc2VydGlvblBvaW50LmlzSW5TaGFkb3dUcmVlKCkgJiYgaXNJblNoYWRvd1Ry
ZWUoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmRvY3VtZW50KCkpIHsKICAgICAgICAgYXV0byogb2xk
U2hhZG93Um9vdCA9IGluc2VydGlvblBvaW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0x
MTIsNDIgKzExMCwzNyBAQCBzdGF0aWMgdm9pZCBmbGF0dGVuQXNzaWduZWROb2RlcyhWZWN0b3I8
Tm9kZSo+JiBub2RlcywgY29uc3QgVmVjdG9yPE5vZGUqPiYgYXNzaQogICAgIH0KIH0KIAotY29u
c3QgVmVjdG9yPE5vZGUqPiBIVE1MU2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9kZXNGb3JCaW5kaW5n
cyhjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zKSBjb25zdAorVmVjdG9yPE5vZGUqPiBIVE1MU2xv
dEVsZW1lbnQ6OmFzc2lnbmVkTm9kZXMoY29uc3QgT3B0aW9uYWw8QXNzaWduZWROb2Rlc09wdGlv
bnM+JiBvcHRpb25zKSBjb25zdAogewotICAgIGJvb2wgc2hvdWxkRmxhdHRlbiA9IGZhbHNlOwot
ICAgIG9wdGlvbnMuZ2V0KCJmbGF0dGVuIiwgc2hvdWxkRmxhdHRlbik7Ci0KLSAgICBWZWN0b3I8
Tm9kZSo+IG5vZGVzOwogICAgIGF1dG8qIGFzc2lnbmVkTm9kZXMgPSB0aGlzLT5hc3NpZ25lZE5v
ZGVzKCk7CiAgICAgaWYgKCFhc3NpZ25lZE5vZGVzKQotICAgICAgICByZXR1cm4gbm9kZXM7Cisg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBpZiAoc2hvdWxkRmxhdHRlbikKLSAgICAgICAgZmxh
dHRlbkFzc2lnbmVkTm9kZXMobm9kZXMsICphc3NpZ25lZE5vZGVzKTsKLSAgICBlbHNlCi0gICAg
ICAgIG5vZGVzID0gKmFzc2lnbmVkTm9kZXM7CisgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25z
LT5mbGF0dGVuKQorICAgICAgICByZXR1cm4gKmFzc2lnbmVkTm9kZXM7CiAKKyAgICBWZWN0b3I8
Tm9kZSo+IG5vZGVzOworICAgIGZsYXR0ZW5Bc3NpZ25lZE5vZGVzKG5vZGVzLCAqYXNzaWduZWRO
b2Rlcyk7CiAgICAgcmV0dXJuIG5vZGVzOwogfQogCiB2b2lkIEhUTUxTbG90RWxlbWVudDo6ZW5x
dWV1ZVNsb3RDaGFuZ2VFdmVudCgpCiB7Ci0gICAgaWYgKG1faGFzRW5xdWV1ZWRTbG90Q2hhbmdl
RXZlbnQpCisgICAgaWYgKG1fZW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGJvb2wgYnViYmxlcyA9IGZhbHNlOworICAgIGJvb2wgY2FuQnViYmxlID0gZmFs
c2U7CiAgICAgYm9vbCBjYW5jZWxhYmxlID0gZmFsc2U7Ci0gICAgYXV0byBldmVudCA9IEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnNsb3RjaGFuZ2VFdmVudCwgYnViYmxlcywgY2FuY2VsYWJs
ZSk7CisgICAgYXV0byBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNsb3RjaGFu
Z2VFdmVudCwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKICAgICBldmVudC0+c2V0VGFyZ2V0KHRo
aXMpOworICAgIG1fZW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQgPSBldmVudC5wdHIoKTsKICAgICBk
b2N1bWVudCgpLmVucXVldWVTbG90Y2hhbmdlRXZlbnQoV1RGTW92ZShldmVudCkpOwotCi0gICAg
bV9oYXNFbnF1ZXVlZFNsb3RDaGFuZ2VFdmVudCA9IHRydWU7CiB9CiAKIGJvb2wgSFRNTFNsb3RF
bGVtZW50OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVudCkKIHsKLSAgICBpZiAoZXZlbnQudHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5zbG90Y2hhbmdlRXZlbnQpCi0gICAgICAgIG1faGFzRW5xdWV1
ZWRTbG90Q2hhbmdlRXZlbnQgPSBmYWxzZTsKKyAgICBpZiAoJmV2ZW50ID09IG1fZW5xdWV1ZWRT
bG90Q2hhbmdlRXZlbnQpCisgICAgICAgIG1fZW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQgPSBudWxs
cHRyOwogICAgIHJldHVybiBIVE1MRWxlbWVudDo6ZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5oCmluZGV4IDMyZWFiMzMzZjhjMzE4YjI0
N2FmNTcyM2Q1ZTRiYzM1YzBmMGQ4OTUuLjUyZmNmZTJlYWExZmI2Yzg3YjhlMTVhODEyOGU0NmZm
Mzc5ZWQ1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuaApAQCAtMjMsMTMg
KzIzLDExIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgSFRNTFNsb3RFbGVtZW50
X2gKLSNkZWZpbmUgSFRNTFNsb3RFbGVtZW50X2gKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxF
KFNIQURPV19ET00pIHx8IEVOQUJMRShERVRBSUxTX0VMRU1FTlQpCiAKICNpbmNsdWRlICJIVE1M
RWxlbWVudC5oIgotI2luY2x1ZGUgIlJhbmdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzgsMjMgKzM2LDI0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxTbG90RWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiAgICAgY29uc3Qg
VmVjdG9yPE5vZGUqPiogYXNzaWduZWROb2RlcygpIGNvbnN0OwotICAgIGNvbnN0IFZlY3RvcjxO
b2RlKj4gYXNzaWduZWROb2Rlc0ZvckJpbmRpbmdzKGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMp
IGNvbnN0OworICAgIHN0cnVjdCBBc3NpZ25lZE5vZGVzT3B0aW9ucyB7CisgICAgICAgIGJvb2wg
ZmxhdHRlbjsKKyAgICB9OworICAgIFZlY3RvcjxOb2RlKj4gYXNzaWduZWROb2Rlcyhjb25zdCBP
cHRpb25hbDxBc3NpZ25lZE5vZGVzT3B0aW9ucz4mKSBjb25zdDsKIAogICAgIHZvaWQgZW5xdWV1
ZVNsb3RDaGFuZ2VFdmVudCgpOwogCiBwcml2YXRlOgogICAgIEhUTUxTbG90RWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIEluc2VydGlvbk5vdGlmaWNhdGlv
blJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKLSAgICB2b2lk
IHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgb2xkVmFs
dWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJl
YXNvbikgb3ZlcnJpZGU7CisgICAgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRl
ZEludG8oQ29udGFpbmVyTm9kZSYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFp
bmVyTm9kZSYpIGZpbmFsOworICAgIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uKSBmaW5hbDsKKyAgICBib29s
IGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBmaW5hbDsKIAotICAgIGJvb2wgZGlzcGF0Y2hFdmVudChF
dmVudCYpIG92ZXJyaWRlOwotCi0gICAgYm9vbCBtX2hhc0VucXVldWVkU2xvdENoYW5nZUV2ZW50
IHsgZmFsc2UgfTsKKyAgICBFdmVudCogbV9lbnF1ZXVlZFNsb3RDaGFuZ2VFdmVudCB7IG51bGxw
dHIgfTsKIH07CiAKIH0KIAogI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNs
b3RFbGVtZW50LmlkbAppbmRleCBlNjM3NWRiM2U2N2Q0ZjZkNTUwZGE0ZmIzM2M1YzQ3ZmY4ZDcy
ZmI4Li4wNGZkZjIzYjZhNTc2ODNmMzM4Y2MyNmVmNDY1MjI1OGRiZjM0OTUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuaWRsCkBAIC0yMywxNCArMjMsMTUgQEAKICAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVudHMv
c3BlYy9zaGFkb3cvI2lkbC1kZWYtSFRNTFNsb3RFbGVtZW50CiBbCiAgICAgQ29uZGl0aW9uYWw9
U0hBRE9XX0RPTSwKICAgICBFbmFibGVkQXRSdW50aW1lPVNoYWRvd0RPTSwKICAgICBKU0dlbmVy
YXRlVG9OYXRpdmVPYmplY3QKIF0gaW50ZXJmYWNlIEhUTUxTbG90RWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKLQogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAgW0lt
cGxlbWVudGVkQXM9YXNzaWduZWROb2Rlc0ZvckJpbmRpbmdzXSBzZXF1ZW5jZTxOb2RlPiBhc3Np
Z25lZE5vZGVzKG9wdGlvbmFsIERpY3Rpb25hcnkgb3B0aW9ucyk7CisgICAgc2VxdWVuY2U8Tm9k
ZT4gYXNzaWduZWROb2RlcyhvcHRpb25hbCBBc3NpZ25lZE5vZGVzT3B0aW9ucyBvcHRpb25zKTsK
K307CiAKK2RpY3Rpb25hcnkgQXNzaWduZWROb2Rlc09wdGlvbnMgeworICAgIGJvb2xlYW4gZmxh
dHRlbiA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNGMxYjkzNWQ1NGQ3ZWY3YjY5NDI4YWZjMWM4ODc5
OWI1MTUwNDQ0Li5iYTRkYTlhNWE3OWI3YjA5ODNiZmEzODg4MzE2MTYzYmJhNTU5YTkxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDUtMDcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIENoYW5nZSBIVE1MU2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9kZXMgdG8g
dGFrZSBhIElETCBkaWN0aW9uYXJ5IGluc3RlYWQgb2YgYSBXZWJDb3JlOjpEaWN0aW9uYXJ5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc0NTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2hh
ZG93LWRvbS9IVE1MU2xvdEVsZW1lbnQtaW50ZXJmYWNlLWV4cGVjdGVkLnR4dDogVXBkYXRlZCBm
b3IgY2hhbmdlIGJlbG93LgorICAgICAgICAqIGZhc3Qvc2hhZG93LWRvbS9IVE1MU2xvdEVsZW1l
bnQtaW50ZXJmYWNlLmh0bWw6IFBhc3MgYW4gZW1wdHkgb2JqZWN0IGluc3RlYWQgb2YgYSBudWxs
CisgICAgICAgIGZvciB0aGUgb3B0aW9ucy4gVGhlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBzbyB3
ZSBjb3VsZCBwYXNzIHVuZGVmaW5lZCwgYnV0IGl0J3Mgbm90IG51bGxhYmxlLAorICAgICAgICBz
byB0aGUgdmFsdWUgbnVsbCBpcyBub3QgdmFsaWQuIEkgZGVjaWRlZCB0byBqdXN0IHVzZSBhbiBl
bXB0eSBkaWN0aW9uYXJ5LiBDb3VsZCBhZGQgY292ZXJhZ2UKKyAgICAgICAgZm9yIHVuZGVmaW5l
ZCB0b28sIGFuZCBldmVuIHRlc3QgbnVsbCB0byBzZWUgdGhhdCBpdCByYWlzZXMgYW4gZXhjZXB0
aW9uLCBidXQgZGlkIG5vdCBib3RoZXIKKyAgICAgICAgZm9yIG5vdy4KKwogMjAxNi0wNS0wNyAg
Sm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyMTk2MjIyKTogW0FYXVtHVEtdIGFjY2Vzc2liaWxpdHkvZ3RrL2NhcmV0LW9mZnNldHMuaHRt
bCBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vSFRNTFNs
b3RFbGVtZW50LWludGVyZmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYWRv
dy1kb20vSFRNTFNsb3RFbGVtZW50LWludGVyZmFjZS1leHBlY3RlZC50eHQKaW5kZXggOWVmNjU4
N2M2ZjIyYzUzYmIwMDVkZTVjZjEyNDM1YWRmZDcyYWNlYS4uNDllZWYyZjg4Mjg5NGM4Mjc4Njdh
NjBlOTJjYzFkNmUwMmMyMzYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ct
ZG9tL0hUTUxTbG90RWxlbWVudC1pbnRlcmZhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhZG93LWRvbS9IVE1MU2xvdEVsZW1lbnQtaW50ZXJmYWNlLWV4cGVjdGVkLnR4
dApAQCAtMSwxMyArMSwxMyBAQAogCiBQQVNTIEhUTUxTbG90RWxlbWVudCBtdXN0IGJlIGRlZmlu
ZWQgb24gd2luZG93IAogUEFTUyAibmFtZSIgYXR0cmlidXRlIG9uIEhUTUxTbG90RWxlbWVudCBt
dXN0IHJlZmxlY3QgIm5hbWUiIGF0dHJpYnV0ZSAKLVBBU1MgYXNzaWduZWROb2RlcygpIG9uIGEg
SFRNTFNsb3RFbGVtZW50IG11c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIHNsb3Qg
ZWxlbWVudCBpcyBub3QgaW4gYSB0cmVlIG9yIGluIGEgZG9jdW1lbnQgdHJlZSAKK1BBU1MgYXNz
aWduZWROb2Rlcyh7fSkgb24gYSBIVE1MU2xvdEVsZW1lbnQgbXVzdCByZXR1cm4gYW4gZW1wdHkg
YXJyYXkgd2hlbiB0aGUgc2xvdCBlbGVtZW50IGlzIG5vdCBpbiBhIHRyZWUgb3IgaW4gYSBkb2N1
bWVudCB0cmVlIAogUEFTUyBhc3NpZ25lZE5vZGVzKHsiZmxhdHRlbmVkIjpmYWxzZX0pIG9uIGEg
SFRNTFNsb3RFbGVtZW50IG11c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIHNsb3Qg
ZWxlbWVudCBpcyBub3QgaW4gYSB0cmVlIG9yIGluIGEgZG9jdW1lbnQgdHJlZSAKIFBBU1MgYXNz
aWduZWROb2Rlcyh7ImZsYXR0ZW5lZCI6dHJ1ZX0pIG9uIGEgSFRNTFNsb3RFbGVtZW50IG11c3Qg
cmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIHNsb3QgZWxlbWVudCBpcyBub3QgaW4gYSB0
cmVlIG9yIGluIGEgZG9jdW1lbnQgdHJlZSAKLVBBU1MgYXNzaWduZWROb2RlcygpIG11c3QgcmV0
dXJuIHRoZSBsaXN0IG9mIGFzc2lnbmVkIG5vZGVzIHdoZW4gbm9uZSBvZiB0aGUgYXNzaWduZWQg
bm9kZXMgdGhlbXNlbHZlcyBhcmUgc2xvdHMgCitQQVNTIGFzc2lnbmVkTm9kZXMoe30pIG11c3Qg
cmV0dXJuIHRoZSBsaXN0IG9mIGFzc2lnbmVkIG5vZGVzIHdoZW4gbm9uZSBvZiB0aGUgYXNzaWdu
ZWQgbm9kZXMgdGhlbXNlbHZlcyBhcmUgc2xvdHMgCiBQQVNTIGFzc2lnbmVkTm9kZXMoeyJmbGF0
dGVuZWQiOmZhbHNlfSkgbXVzdCByZXR1cm4gdGhlIGxpc3Qgb2YgYXNzaWduZWQgbm9kZXMgd2hl
biBub25lIG9mIHRoZSBhc3NpZ25lZCBub2RlcyB0aGVtc2VsdmVzIGFyZSBzbG90cyAKIFBBU1Mg
YXNzaWduZWROb2Rlcyh7ImZsYXR0ZW5lZCI6dHJ1ZX0pIG11c3QgcmV0dXJuIHRoZSBsaXN0IG9m
IGFzc2lnbmVkIG5vZGVzIHdoZW4gbm9uZSBvZiB0aGUgYXNzaWduZWQgbm9kZXMgdGhlbXNlbHZl
cyBhcmUgc2xvdHMgCi1QQVNTIGFzc2lnbmVkTm9kZXMoKSBtdXN0IHVwZGF0ZSB3aGVuIHNsb3Qg
YW5kIG5hbWUgYXR0cmlidXRlcyBhcmUgbW9kaWZpZWQgCitQQVNTIGFzc2lnbmVkTm9kZXMoe30p
IG11c3QgdXBkYXRlIHdoZW4gc2xvdCBhbmQgbmFtZSBhdHRyaWJ1dGVzIGFyZSBtb2RpZmllZCAK
IFBBU1MgYXNzaWduZWROb2Rlcyh7ImZsYXR0ZW5lZCI6ZmFsc2V9KSBtdXN0IHVwZGF0ZSB3aGVu
IHNsb3QgYW5kIG5hbWUgYXR0cmlidXRlcyBhcmUgbW9kaWZpZWQgCiBQQVNTIGFzc2lnbmVkTm9k
ZXMoeyJmbGF0dGVuZWQiOnRydWV9KSBtdXN0IHVwZGF0ZSB3aGVuIHNsb3QgYW5kIG5hbWUgYXR0
cmlidXRlcyBhcmUgbW9kaWZpZWQgCiBQQVNTIGFzc2lnbmVkTm9kZXMgbXVzdCB1cGRhdGUgd2hl
biBhIGRlZmF1bHQgc2xvdCBpcyBpbnRyb2R1Y2VkIGR5bmFtaWNhbGx5IGJ5IGEgc2xvdCByZW5h
bWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vSFRNTFNsb3RFbGVt
ZW50LWludGVyZmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL0hUTUxTbG90
RWxlbWVudC1pbnRlcmZhY2UuaHRtbAppbmRleCBhZjhkOTdiZWEzOWY3ZmE2YzExMjZlZDhiN2Nk
MzRkYmIxZGZmODEwLi41NzExYTA3YjIyMjNkZWQxMDA4ZWVmNDBmY2FmYWNkOGQ0ZDQxODgwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vSFRNTFNsb3RFbGVtZW50LWlu
dGVyZmFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9IVE1MU2xvdEVs
ZW1lbnQtaW50ZXJmYWNlLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAgZnVuY3Rpb24gdGVzdFNsb3RP
dXRzaWRlU2hhZG93VHJlZShvcHRpb25zKQogICAgICAgICArICcpIG9uIGEgSFRNTFNsb3RFbGVt
ZW50IG11c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIHNsb3QgZWxlbWVudCBpcyBu
b3QgaW4gYSB0cmVlIG9yIGluIGEgZG9jdW1lbnQgdHJlZScpOwogfQogCi10ZXN0U2xvdE91dHNp
ZGVTaGFkb3dUcmVlKG51bGwpOwordGVzdFNsb3RPdXRzaWRlU2hhZG93VHJlZSh7fSk7CiB0ZXN0
U2xvdE91dHNpZGVTaGFkb3dUcmVlKHtmbGF0dGVuZWQ6IGZhbHNlfSk7CiB0ZXN0U2xvdE91dHNp
ZGVTaGFkb3dUcmVlKHtmbGF0dGVuZWQ6IHRydWV9KTsKIApAQCAtODUsNyArODUsNyBAQCBmdW5j
dGlvbiB0ZXN0U2luZ2xlTGV2ZWxPZlNsb3R0aW5nKG9wdGlvbnMpCiAgICAgfSwgJ2Fzc2lnbmVk
Tm9kZXMoJyArIChvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiAnJykgKyAnKSBt
dXN0IHJldHVybiB0aGUgbGlzdCBvZiBhc3NpZ25lZCBub2RlcyB3aGVuIG5vbmUgb2YgdGhlIGFz
c2lnbmVkIG5vZGVzIHRoZW1zZWx2ZXMgYXJlIHNsb3RzJyk7CiB9CiAKLXRlc3RTaW5nbGVMZXZl
bE9mU2xvdHRpbmcobnVsbCk7Cit0ZXN0U2luZ2xlTGV2ZWxPZlNsb3R0aW5nKHt9KTsKIHRlc3RT
aW5nbGVMZXZlbE9mU2xvdHRpbmcoe2ZsYXR0ZW5lZDogZmFsc2V9KTsKIHRlc3RTaW5nbGVMZXZl
bE9mU2xvdHRpbmcoe2ZsYXR0ZW5lZDogdHJ1ZX0pOwogCkBAIC0xMTksNyArMTE5LDcgQEAgZnVu
Y3Rpb24gdGVzdE11dGF0aW5nU2xvdHRlZENvbnRlbnRzKG9wdGlvbnMpCiAgICAgfSwgJ2Fzc2ln
bmVkTm9kZXMoJyArIChvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiAnJykgKyAn
KSBtdXN0IHVwZGF0ZSB3aGVuIHNsb3QgYW5kIG5hbWUgYXR0cmlidXRlcyBhcmUgbW9kaWZpZWQn
KTsKIH0KIAotdGVzdE11dGF0aW5nU2xvdHRlZENvbnRlbnRzKG51bGwpOwordGVzdE11dGF0aW5n
U2xvdHRlZENvbnRlbnRzKHt9KTsKIHRlc3RNdXRhdGluZ1Nsb3R0ZWRDb250ZW50cyh7ZmxhdHRl
bmVkOiBmYWxzZX0pOwogdGVzdE11dGF0aW5nU2xvdHRlZENvbnRlbnRzKHtmbGF0dGVuZWQ6IHRy
dWV9KTsKIApAQCAtMTQzLDcgKzE0Myw3IEBAIGZ1bmN0aW9uIHRlc3RNdXRhdGluZ1Nsb3ROYW1l
KG9wdGlvbnMpCiAgICAgfSwgJ2Fzc2lnbmVkTm9kZXMgbXVzdCB1cGRhdGUgd2hlbiBhIGRlZmF1
bHQgc2xvdCBpcyBpbnRyb2R1Y2VkIGR5bmFtaWNhbGx5IGJ5IGEgc2xvdCByZW5hbWUnKTsKIH0K
IAotdGVzdE11dGF0aW5nU2xvdE5hbWUobnVsbCk7Cit0ZXN0TXV0YXRpbmdTbG90TmFtZSh7fSk7
CiB0ZXN0TXV0YXRpbmdTbG90dGVkQ29udGVudHMoe2ZsYXR0ZW5lZDogZmFsc2V9KTsKIHRlc3RN
dXRhdGluZ1Nsb3R0ZWRDb250ZW50cyh7ZmxhdHRlbmVkOiB0cnVlfSk7CiAKQEAgLTE5Nyw3ICsx
OTcsNyBAQCBmdW5jdGlvbiB0ZXN0SW5zZXJ0aW5nQW5kUmVtb3ZpbmdTbG90cyhvcHRpb25zKQog
ICAgIH0sICdhc3NpZ25lZE5vZGVzIG11c3QgdXBkYXRlIHdoZW4gc2xvdCBlbGVtZW50cyBhcmUg
aW5zZXJ0ZWQgb3IgcmVtb3ZlZCcpOwogfQogCi10ZXN0SW5zZXJ0aW5nQW5kUmVtb3ZpbmdTbG90
cyhudWxsKTsKK3Rlc3RJbnNlcnRpbmdBbmRSZW1vdmluZ1Nsb3RzKHVuZGVmaW5lZCk7CiB0ZXN0
SW5zZXJ0aW5nQW5kUmVtb3ZpbmdTbG90cyh7ZmxhdHRlbmVkOiBmYWxzZX0pOwogdGVzdEluc2Vy
dGluZ0FuZFJlbW92aW5nU2xvdHMoe2ZsYXR0ZW5lZDogdHJ1ZX0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278365</attachid>
            <date>2016-05-08 10:50:55 -0700</date>
            <delta_ts>2016-05-08 10:56:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157457-20160508105140.patch</filename>
            <type>text/plain</type>
            <size>7293</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3MmY1YTZjZDFlNjNh
NjAyMDUxOTcyODc0ZWM5YmZiYmVkMTVjZC4uY2IyZDJlZDQ5ODEzZmIwNmM2ZjNkZjliY2Y4NWUz
Yzk5YTFmNGRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA1LTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgSFRNTFNsb3RFbGVt
ZW50Ojphc3NpZ25lZE5vZGVzIHRvIHRha2UgYSBJREwgZGljdGlvbmFyeSBpbnN0ZWFkIG9mIGEg
V2ViQ29yZTo6RGljdGlvbmFyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2xvdEVsZW1lbnQ6OnJlbW92ZWRGcm9tKTogRml4ZWQgdHlwbyBpbiBjb21tZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50Ojphc3NpZ25lZE5vZGVzKTogUmVuYW1l
ZCBhc3NpZ25lZE5vZGVzRm9yQmluZGluZ3MgYmFjayB0byB0aGlzCisgICAgICAgIGFuZCBjaGFu
Z2VkIHRoZSBhcmd1bWVudCB0eXBlIHRvIE9wdGlvbmFsPEFzc2lnbmVkTm9kZXNPcHRpb25zPiBp
bnN0ZWFkIG9mIERpY3Rpb25hcnkuCisgICAgICAgIEFsc28gc3RyZWFtbGluZWQgdGhlIGxvZ2lj
IGEgYml0LgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50OjplbnF1ZXVlU2xvdENo
YW5nZUV2ZW50KTogQ2hhbmdlZCB0byB1c2UgYSBwb2ludGVyIHRvIHRoZQorICAgICAgICBlbnF1
ZXVlZCBldmVudCBpbnN0ZWFkIG9mIGEgYm9vbGVhbi4gV2l0aCBvbmx5IGEgYm9vbGVhbiwgd2Ug
Y291bGQgZW5kIHVwIGNsZWFyaW5nIHRoZQorICAgICAgICBmbGFnIGluIGNhc2VzIHdoZXJlIHdl
IGRvbid0IHJlYWxseSB3YW50IHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50
OjpkaXNwYXRjaEV2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1l
bnQ6OmFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9I
VE1MU2xvdEVsZW1lbnQuaDogVXNlIHByYWdtYSBvbmNlLiBBZGRlZCBBc3NpZ25lZE5vZGVPcHRp
b25zLiBDaGFuZ2VkIGZvciB0aGUKKyAgICAgICAgYWJvdmUsIGluY2x1ZGluZyBjaGFuZ2luZyB0
aGUgZGF0YSBtZW1iZXIuCisgICAgICAgICogaHRtbC9IVE1MU2xvdEVsZW1lbnQuaWRsOiBSZW1v
dmVkIHVzZSBvZiBJbXBsZW1lbnRlZEFzLiBGaXhlZCB0aGUgdHlwZSBvZiB0aGUgb3B0aW9ucwor
ICAgICAgICBkaWN0aW9uYXJ5LgorCiAyMDE2LTA1LTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0IGRpY3Rpb25hcnkgYmluZGluZ3MgaGFuZGxpbmcg
b2Ygb3B0aW9uYWwsIG51bGwsIGFuZCB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNs
b3RFbGVtZW50LmNwcAppbmRleCA0N2MxOWNmYjQwYTFiOWI0OGNhNjFlOTFkNjc0NDBmODMyZWM2
MDI3Li4zYmE1OTE3NTFmNzc1NDNlMjY4ZjU0Yjg3ZTM5ZTA3NDRkN2VhODlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkKIAotI2luY2x1ZGUg
IkRpY3Rpb25hcnkuaCIKLSNpbmNsdWRlICJFbGVtZW50Q2hpbGRJdGVyYXRvci5oIgogI2luY2x1
ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgpAQCAtNjgsNyArNjYsNyBAQCBIVE1MU2xvdEVsZW1lbnQ6Okluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgSFRNTFNsb3RFbGVtZW50OjppbnNlcnRlZEludG8oQ29udAogCiB2b2lkIEhU
TUxTbG90RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYgaW5zZXJ0aW9uUG9pbnQp
CiB7Ci0gICAgLy8gQ29udGFpbmVyTm9kZTo6cmVtb3ZlQmV0d2VlbiBhbHdheXMgc2V0cyB0aGUg
cmVtb3ZlZCBjaGlkJ3MgdHJlZSBzY29wZSB0byBEb2N1bWVudCdzIGJ1dCBJblNoYWRvd1Jvb3Qg
ZmxhZyBpcyB1bnNldCBpbiBOb2RlOjpyZW1vdmVkRnJvbS4KKyAgICAvLyBDb250YWluZXJOb2Rl
OjpyZW1vdmVCZXR3ZWVuIGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWxkJ3MgdHJlZSBzY29w
ZSB0byBEb2N1bWVudCdzIGJ1dCBJblNoYWRvd1Jvb3QgZmxhZyBpcyB1bnNldCBpbiBOb2RlOjpy
ZW1vdmVkRnJvbS4KICAgICAvLyBTbyBpZiBJblNoYWRvd1Jvb3QgZmxhZyBpcyBzZXQgYnV0IHRo
aXMgZWxlbWVudCdzIHRyZWUgc2NvcGUgaXMgRG9jdW1lbnQncywgdGhpcyBlbGVtZW50IGhhcyBq
dXN0IGJlZW4gcmVtb3ZlZCBmcm9tIGEgc2hhZG93IHJvb3QuCiAgICAgaWYgKGluc2VydGlvblBv
aW50LmlzSW5TaGFkb3dUcmVlKCkgJiYgaXNJblNoYWRvd1RyZWUoKSAmJiAmdHJlZVNjb3BlKCkg
PT0gJmRvY3VtZW50KCkpIHsKICAgICAgICAgYXV0byogb2xkU2hhZG93Um9vdCA9IGluc2VydGlv
blBvaW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0xMTIsNDIgKzExMCwzNyBAQCBzdGF0
aWMgdm9pZCBmbGF0dGVuQXNzaWduZWROb2RlcyhWZWN0b3I8Tm9kZSo+JiBub2RlcywgY29uc3Qg
VmVjdG9yPE5vZGUqPiYgYXNzaQogICAgIH0KIH0KIAotY29uc3QgVmVjdG9yPE5vZGUqPiBIVE1M
U2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyhjb25zdCBEaWN0aW9uYXJ5JiBv
cHRpb25zKSBjb25zdAorVmVjdG9yPE5vZGUqPiBIVE1MU2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9k
ZXMoY29uc3QgT3B0aW9uYWw8QXNzaWduZWROb2Rlc09wdGlvbnM+JiBvcHRpb25zKSBjb25zdAog
ewotICAgIGJvb2wgc2hvdWxkRmxhdHRlbiA9IGZhbHNlOwotICAgIG9wdGlvbnMuZ2V0KCJmbGF0
dGVuIiwgc2hvdWxkRmxhdHRlbik7Ci0KLSAgICBWZWN0b3I8Tm9kZSo+IG5vZGVzOwogICAgIGF1
dG8qIGFzc2lnbmVkTm9kZXMgPSB0aGlzLT5hc3NpZ25lZE5vZGVzKCk7CiAgICAgaWYgKCFhc3Np
Z25lZE5vZGVzKQotICAgICAgICByZXR1cm4gbm9kZXM7CisgICAgICAgIHJldHVybiB7IH07CiAK
LSAgICBpZiAoc2hvdWxkRmxhdHRlbikKLSAgICAgICAgZmxhdHRlbkFzc2lnbmVkTm9kZXMobm9k
ZXMsICphc3NpZ25lZE5vZGVzKTsKLSAgICBlbHNlCi0gICAgICAgIG5vZGVzID0gKmFzc2lnbmVk
Tm9kZXM7CisgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLT5mbGF0dGVuKQorICAgICAgICBy
ZXR1cm4gKmFzc2lnbmVkTm9kZXM7CiAKKyAgICBWZWN0b3I8Tm9kZSo+IG5vZGVzOworICAgIGZs
YXR0ZW5Bc3NpZ25lZE5vZGVzKG5vZGVzLCAqYXNzaWduZWROb2Rlcyk7CiAgICAgcmV0dXJuIG5v
ZGVzOwogfQogCiB2b2lkIEhUTUxTbG90RWxlbWVudDo6ZW5xdWV1ZVNsb3RDaGFuZ2VFdmVudCgp
CiB7Ci0gICAgaWYgKG1faGFzRW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQpCisgICAgaWYgKG1fZW5x
dWV1ZWRTbG90Q2hhbmdlRXZlbnQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgYnViYmxl
cyA9IGZhbHNlOworICAgIGJvb2wgY2FuQnViYmxlID0gZmFsc2U7CiAgICAgYm9vbCBjYW5jZWxh
YmxlID0gZmFsc2U7Ci0gICAgYXV0byBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnNsb3RjaGFuZ2VFdmVudCwgYnViYmxlcywgY2FuY2VsYWJsZSk7CisgICAgYXV0byBldmVudCA9
IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNsb3RjaGFuZ2VFdmVudCwgY2FuQnViYmxlLCBj
YW5jZWxhYmxlKTsKICAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fZW5xdWV1ZWRT
bG90Q2hhbmdlRXZlbnQgPSBldmVudC5wdHIoKTsKICAgICBkb2N1bWVudCgpLmVucXVldWVTbG90
Y2hhbmdlRXZlbnQoV1RGTW92ZShldmVudCkpOwotCi0gICAgbV9oYXNFbnF1ZXVlZFNsb3RDaGFu
Z2VFdmVudCA9IHRydWU7CiB9CiAKIGJvb2wgSFRNTFNsb3RFbGVtZW50OjpkaXNwYXRjaEV2ZW50
KEV2ZW50JiBldmVudCkKIHsKLSAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5z
bG90Y2hhbmdlRXZlbnQpCi0gICAgICAgIG1faGFzRW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQgPSBm
YWxzZTsKKyAgICBpZiAoJmV2ZW50ID09IG1fZW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQpCisgICAg
ICAgIG1fZW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQgPSBudWxscHRyOwogICAgIHJldHVybiBIVE1M
RWxlbWVudDo6ZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
bG90RWxlbWVudC5oCmluZGV4IDMyZWFiMzMzZjhjMzE4YjI0N2FmNTcyM2Q1ZTRiYzM1YzBmMGQ4
OTUuLjUyZmNmZTJlYWExZmI2Yzg3YjhlMTVhODEyOGU0NmZmMzc5ZWQ1MjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuaApAQCAtMjMsMTMgKzIzLDExIEBACiAgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpZm5kZWYgSFRNTFNsb3RFbGVtZW50X2gKLSNkZWZpbmUgSFRNTFNsb3RF
bGVtZW50X2gKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKFNIQURPV19ET00pIHx8IEVOQUJM
RShERVRBSUxTX0VMRU1FTlQpCiAKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgotI2luY2x1ZGUg
IlJhbmdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgsMjMgKzM2LDI0IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxTbG90RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiAgICAgY29uc3QgVmVjdG9yPE5vZGUqPiogYXNzaWdu
ZWROb2RlcygpIGNvbnN0OwotICAgIGNvbnN0IFZlY3RvcjxOb2RlKj4gYXNzaWduZWROb2Rlc0Zv
ckJpbmRpbmdzKGNvbnN0IERpY3Rpb25hcnkmIG9wdGlvbnMpIGNvbnN0OworICAgIHN0cnVjdCBB
c3NpZ25lZE5vZGVzT3B0aW9ucyB7CisgICAgICAgIGJvb2wgZmxhdHRlbjsKKyAgICB9OworICAg
IFZlY3RvcjxOb2RlKj4gYXNzaWduZWROb2Rlcyhjb25zdCBPcHRpb25hbDxBc3NpZ25lZE5vZGVz
T3B0aW9ucz4mKSBjb25zdDsKIAogICAgIHZvaWQgZW5xdWV1ZVNsb3RDaGFuZ2VFdmVudCgpOwog
CiBwcml2YXRlOgogICAgIEhUTUxTbG90RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIAotICAgIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRv
KENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5l
ck5vZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbikgb3ZlcnJpZGU7CisgICAg
SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSYp
IGZpbmFsOworICAgIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYpIGZpbmFsOworICAg
IHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSwgQXR0cmlidXRl
TW9kaWZpY2F0aW9uUmVhc29uKSBmaW5hbDsKKyAgICBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnQm
KSBmaW5hbDsKIAotICAgIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudCYpIG92ZXJyaWRlOwotCi0g
ICAgYm9vbCBtX2hhc0VucXVldWVkU2xvdENoYW5nZUV2ZW50IHsgZmFsc2UgfTsKKyAgICBFdmVu
dCogbV9lbnF1ZXVlZFNsb3RDaGFuZ2VFdmVudCB7IG51bGxwdHIgfTsKIH07CiAKIH0KIAogI2Vu
ZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmlkbAppbmRleCBl
NjM3NWRiM2U2N2Q0ZjZkNTUwZGE0ZmIzM2M1YzQ3ZmY4ZDcyZmI4Li4wNGZkZjIzYjZhNTc2ODNm
MzM4Y2MyNmVmNDY1MjI1OGRiZjM0OTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTbG90RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2xvdEVs
ZW1lbnQuaWRsCkBAIC0yMywxNCArMjMsMTUgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVudHMvc3BlYy9zaGFkb3cvI2lkbC1kZWYt
SFRNTFNsb3RFbGVtZW50CiBbCiAgICAgQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKICAgICBFbmFi
bGVkQXRSdW50aW1lPVNoYWRvd0RPTSwKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QKIF0g
aW50ZXJmYWNlIEhUTUxTbG90RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLQogICAgIFtSZWZsZWN0
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAgW0ltcGxlbWVudGVkQXM9YXNzaWduZWRO
b2Rlc0ZvckJpbmRpbmdzXSBzZXF1ZW5jZTxOb2RlPiBhc3NpZ25lZE5vZGVzKG9wdGlvbmFsIERp
Y3Rpb25hcnkgb3B0aW9ucyk7CisgICAgc2VxdWVuY2U8Tm9kZT4gYXNzaWduZWROb2RlcyhvcHRp
b25hbCBBc3NpZ25lZE5vZGVzT3B0aW9ucyBvcHRpb25zKTsKK307CiAKK2RpY3Rpb25hcnkgQXNz
aWduZWROb2Rlc09wdGlvbnMgeworICAgIGJvb2xlYW4gZmxhdHRlbiA9IGZhbHNlOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278366</attachid>
            <date>2016-05-08 10:56:11 -0700</date>
            <delta_ts>2016-05-08 11:10:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157457-20160508105656.patch</filename>
            <type>text/plain</type>
            <size>7260</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3MmY1YTZjZDFlNjNh
NjAyMDUxOTcyODc0ZWM5YmZiYmVkMTVjZC4uY2IyZDJlZDQ5ODEzZmIwNmM2ZjNkZjliY2Y4NWUz
Yzk5YTFmNGRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA1LTA3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgSFRNTFNsb3RFbGVt
ZW50Ojphc3NpZ25lZE5vZGVzIHRvIHRha2UgYSBJREwgZGljdGlvbmFyeSBpbnN0ZWFkIG9mIGEg
V2ViQ29yZTo6RGljdGlvbmFyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodG1sL0hUTUxTbG90RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2xvdEVsZW1lbnQ6OnJlbW92ZWRGcm9tKTogRml4ZWQgdHlwbyBpbiBjb21tZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50Ojphc3NpZ25lZE5vZGVzKTogUmVuYW1l
ZCBhc3NpZ25lZE5vZGVzRm9yQmluZGluZ3MgYmFjayB0byB0aGlzCisgICAgICAgIGFuZCBjaGFu
Z2VkIHRoZSBhcmd1bWVudCB0eXBlIHRvIE9wdGlvbmFsPEFzc2lnbmVkTm9kZXNPcHRpb25zPiBp
bnN0ZWFkIG9mIERpY3Rpb25hcnkuCisgICAgICAgIEFsc28gc3RyZWFtbGluZWQgdGhlIGxvZ2lj
IGEgYml0LgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50OjplbnF1ZXVlU2xvdENo
YW5nZUV2ZW50KTogQ2hhbmdlZCB0byB1c2UgYSBwb2ludGVyIHRvIHRoZQorICAgICAgICBlbnF1
ZXVlZCBldmVudCBpbnN0ZWFkIG9mIGEgYm9vbGVhbi4gV2l0aCBvbmx5IGEgYm9vbGVhbiwgd2Ug
Y291bGQgZW5kIHVwIGNsZWFyaW5nIHRoZQorICAgICAgICBmbGFnIGluIGNhc2VzIHdoZXJlIHdl
IGRvbid0IHJlYWxseSB3YW50IHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNsb3RFbGVtZW50
OjpkaXNwYXRjaEV2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2xvdEVsZW1l
bnQ6OmFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9I
VE1MU2xvdEVsZW1lbnQuaDogVXNlIHByYWdtYSBvbmNlLiBBZGRlZCBBc3NpZ25lZE5vZGVPcHRp
b25zLiBDaGFuZ2VkIGZvciB0aGUKKyAgICAgICAgYWJvdmUsIGluY2x1ZGluZyBjaGFuZ2luZyB0
aGUgZGF0YSBtZW1iZXIuCisgICAgICAgICogaHRtbC9IVE1MU2xvdEVsZW1lbnQuaWRsOiBSZW1v
dmVkIHVzZSBvZiBJbXBsZW1lbnRlZEFzLiBGaXhlZCB0aGUgdHlwZSBvZiB0aGUgb3B0aW9ucwor
ICAgICAgICBkaWN0aW9uYXJ5LgorCiAyMDE2LTA1LTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0IGRpY3Rpb25hcnkgYmluZGluZ3MgaGFuZGxpbmcg
b2Ygb3B0aW9uYWwsIG51bGwsIGFuZCB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNs
b3RFbGVtZW50LmNwcAppbmRleCA0N2MxOWNmYjQwYTFiOWI0OGNhNjFlOTFkNjc0NDBmODMyZWM2
MDI3Li4zOTc2OWVhNTNkNmI1OGIwMjk5Mjk1MDRmZjgwNGIyMzkyOTcyMzVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkKIAotI2luY2x1ZGUg
IkRpY3Rpb25hcnkuaCIKLSNpbmNsdWRlICJFbGVtZW50Q2hpbGRJdGVyYXRvci5oIgogI2luY2x1
ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgpAQCAtNjgsNyArNjYsNyBAQCBIVE1MU2xvdEVsZW1lbnQ6Okluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgSFRNTFNsb3RFbGVtZW50OjppbnNlcnRlZEludG8oQ29udAogCiB2b2lkIEhU
TUxTbG90RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYgaW5zZXJ0aW9uUG9pbnQp
CiB7Ci0gICAgLy8gQ29udGFpbmVyTm9kZTo6cmVtb3ZlQmV0d2VlbiBhbHdheXMgc2V0cyB0aGUg
cmVtb3ZlZCBjaGlkJ3MgdHJlZSBzY29wZSB0byBEb2N1bWVudCdzIGJ1dCBJblNoYWRvd1Jvb3Qg
ZmxhZyBpcyB1bnNldCBpbiBOb2RlOjpyZW1vdmVkRnJvbS4KKyAgICAvLyBDb250YWluZXJOb2Rl
OjpyZW1vdmVCZXR3ZWVuIGFsd2F5cyBzZXRzIHRoZSByZW1vdmVkIGNoaWxkJ3MgdHJlZSBzY29w
ZSB0byBEb2N1bWVudCdzIGJ1dCBJblNoYWRvd1Jvb3QgZmxhZyBpcyB1bnNldCBpbiBOb2RlOjpy
ZW1vdmVkRnJvbS4KICAgICAvLyBTbyBpZiBJblNoYWRvd1Jvb3QgZmxhZyBpcyBzZXQgYnV0IHRo
aXMgZWxlbWVudCdzIHRyZWUgc2NvcGUgaXMgRG9jdW1lbnQncywgdGhpcyBlbGVtZW50IGhhcyBq
dXN0IGJlZW4gcmVtb3ZlZCBmcm9tIGEgc2hhZG93IHJvb3QuCiAgICAgaWYgKGluc2VydGlvblBv
aW50LmlzSW5TaGFkb3dUcmVlKCkgJiYgaXNJblNoYWRvd1RyZWUoKSAmJiAmdHJlZVNjb3BlKCkg
PT0gJmRvY3VtZW50KCkpIHsKICAgICAgICAgYXV0byogb2xkU2hhZG93Um9vdCA9IGluc2VydGlv
blBvaW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CkBAIC0xMTIsNDIgKzExMCwzNyBAQCBzdGF0
aWMgdm9pZCBmbGF0dGVuQXNzaWduZWROb2RlcyhWZWN0b3I8Tm9kZSo+JiBub2RlcywgY29uc3Qg
VmVjdG9yPE5vZGUqPiYgYXNzaQogICAgIH0KIH0KIAotY29uc3QgVmVjdG9yPE5vZGUqPiBIVE1M
U2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyhjb25zdCBEaWN0aW9uYXJ5JiBv
cHRpb25zKSBjb25zdAorVmVjdG9yPE5vZGUqPiBIVE1MU2xvdEVsZW1lbnQ6OmFzc2lnbmVkTm9k
ZXMoY29uc3QgQXNzaWduZWROb2Rlc09wdGlvbnMmIG9wdGlvbnMpIGNvbnN0CiB7Ci0gICAgYm9v
bCBzaG91bGRGbGF0dGVuID0gZmFsc2U7Ci0gICAgb3B0aW9ucy5nZXQoImZsYXR0ZW4iLCBzaG91
bGRGbGF0dGVuKTsKLQotICAgIFZlY3RvcjxOb2RlKj4gbm9kZXM7CiAgICAgYXV0byogYXNzaWdu
ZWROb2RlcyA9IHRoaXMtPmFzc2lnbmVkTm9kZXMoKTsKICAgICBpZiAoIWFzc2lnbmVkTm9kZXMp
Ci0gICAgICAgIHJldHVybiBub2RlczsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGlmIChz
aG91bGRGbGF0dGVuKQotICAgICAgICBmbGF0dGVuQXNzaWduZWROb2Rlcyhub2RlcywgKmFzc2ln
bmVkTm9kZXMpOwotICAgIGVsc2UKLSAgICAgICAgbm9kZXMgPSAqYXNzaWduZWROb2RlczsKKyAg
ICBpZiAoIW9wdGlvbnMuZmxhdHRlbikKKyAgICAgICAgcmV0dXJuICphc3NpZ25lZE5vZGVzOwog
CisgICAgVmVjdG9yPE5vZGUqPiBub2RlczsKKyAgICBmbGF0dGVuQXNzaWduZWROb2Rlcyhub2Rl
cywgKmFzc2lnbmVkTm9kZXMpOwogICAgIHJldHVybiBub2RlczsKIH0KIAogdm9pZCBIVE1MU2xv
dEVsZW1lbnQ6OmVucXVldWVTbG90Q2hhbmdlRXZlbnQoKQogewotICAgIGlmIChtX2hhc0VucXVl
dWVkU2xvdENoYW5nZUV2ZW50KQorICAgIGlmIChtX2VucXVldWVkU2xvdENoYW5nZUV2ZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBib29sIGJ1YmJsZXMgPSBmYWxzZTsKKyAgICBib29sIGNh
bkJ1YmJsZSA9IGZhbHNlOwogICAgIGJvb2wgY2FuY2VsYWJsZSA9IGZhbHNlOwotICAgIGF1dG8g
ZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zbG90Y2hhbmdlRXZlbnQsIGJ1YmJs
ZXMsIGNhbmNlbGFibGUpOworICAgIGF1dG8gZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5zbG90Y2hhbmdlRXZlbnQsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7CiAgICAgZXZlbnQt
PnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2VucXVldWVkU2xvdENoYW5nZUV2ZW50ID0gZXZlbnQu
cHRyKCk7CiAgICAgZG9jdW1lbnQoKS5lbnF1ZXVlU2xvdGNoYW5nZUV2ZW50KFdURk1vdmUoZXZl
bnQpKTsKLQotICAgIG1faGFzRW5xdWV1ZWRTbG90Q2hhbmdlRXZlbnQgPSB0cnVlOwogfQogCiBi
b29sIEhUTUxTbG90RWxlbWVudDo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpCiB7Ci0gICAg
aWYgKGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuc2xvdGNoYW5nZUV2ZW50KQotICAgICAg
ICBtX2hhc0VucXVldWVkU2xvdENoYW5nZUV2ZW50ID0gZmFsc2U7CisgICAgaWYgKCZldmVudCA9
PSBtX2VucXVldWVkU2xvdENoYW5nZUV2ZW50KQorICAgICAgICBtX2VucXVldWVkU2xvdENoYW5n
ZUV2ZW50ID0gbnVsbHB0cjsKICAgICByZXR1cm4gSFRNTEVsZW1lbnQ6OmRpc3BhdGNoRXZlbnQo
ZXZlbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuaAppbmRleCAzMmVh
YjMzM2Y4YzMxOGIyNDdhZjU3MjNkNWU0YmMzNWMwZjBkODk1Li5kMDcxMWE1NzE5YmVkMzBiNWNj
YWVlMWYzZGZhOGRiYTE5MGRiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTbG90RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50
LmgKQEAgLTIzLDEzICsyMywxMSBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIEhU
TUxTbG90RWxlbWVudF9oCi0jZGVmaW5lIEhUTUxTbG90RWxlbWVudF9oCisjcHJhZ21hIG9uY2UK
IAogI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBFTkFCTEUoREVUQUlMU19FTEVNRU5UKQogCiAj
aW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJSYW5nZS5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM4LDIzICszNiwyNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxI
VE1MU2xvdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAogICAgIGNvbnN0IFZlY3RvcjxOb2RlKj4qIGFzc2lnbmVkTm9kZXMoKSBjb25zdDsKLSAgICBj
b25zdCBWZWN0b3I8Tm9kZSo+IGFzc2lnbmVkTm9kZXNGb3JCaW5kaW5ncyhjb25zdCBEaWN0aW9u
YXJ5JiBvcHRpb25zKSBjb25zdDsKKyAgICBzdHJ1Y3QgQXNzaWduZWROb2Rlc09wdGlvbnMgewor
ICAgICAgICBib29sIGZsYXR0ZW47CisgICAgfTsKKyAgICBWZWN0b3I8Tm9kZSo+IGFzc2lnbmVk
Tm9kZXMoY29uc3QgQXNzaWduZWROb2Rlc09wdGlvbnMmKSBjb25zdDsKIAogICAgIHZvaWQgZW5x
dWV1ZVNsb3RDaGFuZ2VFdmVudCgpOwogCiBwcml2YXRlOgogICAgIEhUTUxTbG90RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIEluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKLSAgICB2
b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgb2xk
VmFsdWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlv
blJlYXNvbikgb3ZlcnJpZGU7CisgICAgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNl
cnRlZEludG8oQ29udGFpbmVyTm9kZSYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlZEZyb20oQ29u
dGFpbmVyTm9kZSYpIGZpbmFsOworICAgIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uKSBmaW5hbDsKKyAgICBi
b29sIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBmaW5hbDsKIAotICAgIGJvb2wgZGlzcGF0Y2hFdmVu
dChFdmVudCYpIG92ZXJyaWRlOwotCi0gICAgYm9vbCBtX2hhc0VucXVldWVkU2xvdENoYW5nZUV2
ZW50IHsgZmFsc2UgfTsKKyAgICBFdmVudCogbV9lbnF1ZXVlZFNsb3RDaGFuZ2VFdmVudCB7IG51
bGxwdHIgfTsKIH07CiAKIH0KIAogI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNsb3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNsb3RFbGVtZW50LmlkbAppbmRleCBlNjM3NWRiM2U2N2Q0ZjZkNTUwZGE0ZmIzM2M1YzQ3ZmY4
ZDcyZmI4Li4wNGZkZjIzYjZhNTc2ODNmMzM4Y2MyNmVmNDY1MjI1OGRiZjM0OTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTbG90RWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2xvdEVsZW1lbnQuaWRsCkBAIC0yMywxNCArMjMsMTUgQEAKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVu
dHMvc3BlYy9zaGFkb3cvI2lkbC1kZWYtSFRNTFNsb3RFbGVtZW50CiBbCiAgICAgQ29uZGl0aW9u
YWw9U0hBRE9XX0RPTSwKICAgICBFbmFibGVkQXRSdW50aW1lPVNoYWRvd0RPTSwKICAgICBKU0dl
bmVyYXRlVG9OYXRpdmVPYmplY3QKIF0gaW50ZXJmYWNlIEhUTUxTbG90RWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKLQogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAg
W0ltcGxlbWVudGVkQXM9YXNzaWduZWROb2Rlc0ZvckJpbmRpbmdzXSBzZXF1ZW5jZTxOb2RlPiBh
c3NpZ25lZE5vZGVzKG9wdGlvbmFsIERpY3Rpb25hcnkgb3B0aW9ucyk7CisgICAgc2VxdWVuY2U8
Tm9kZT4gYXNzaWduZWROb2RlcyhvcHRpb25hbCBBc3NpZ25lZE5vZGVzT3B0aW9ucyBvcHRpb25z
KTsKK307CiAKK2RpY3Rpb25hcnkgQXNzaWduZWROb2Rlc09wdGlvbnMgeworICAgIGJvb2xlYW4g
ZmxhdHRlbiA9IGZhbHNlOwogfTsK
</data>
<flag name="review"
          id="302471"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>