<?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>131402</bug_id>
          
          <creation_ts>2014-04-08 15:47:54 -0700</creation_ts>
          <short_desc>AX: Initial text selection point should respect element focus.</short_desc>
          <delta_ts>2014-04-09 14:15:15 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.9</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Samuel White">samuel_white</reporter>
          <assigned_to name="Samuel White">samuel_white</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>998834</commentid>
    <comment_count>0</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2014-04-08 15:47:54 -0700</bug_when>
    <thetext>When AX is running and we have no selection, pressing an arrow key initializes selection to the beginning of the document. Initial selection should respect and key off of the focused element if one is present. This would make it possible for a user to navigate halfway down a page using tab, and then hit an arrow key to start reading text from that point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998836</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-04-08 15:48:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/16558855&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998842</commentid>
    <comment_count>2</comment_count>
      <attachid>228904</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2014-04-08 15:51:07 -0700</bug_when>
    <thetext>Created attachment 228904
Patch for EWS.

No review needed. Just running through EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998857</commentid>
    <comment_count>3</comment_count>
      <attachid>228906</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2014-04-08 16:08:25 -0700</bug_when>
    <thetext>Created attachment 228906
Patch.

Might as well update logs. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999242</commentid>
    <comment_count>4</comment_count>
      <attachid>228906</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-09 11:41:13 -0700</bug_when>
    <thetext>Comment on attachment 228906
Patch.

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

&gt; LayoutTests/platform/mac/accessibility/selection-initial.html:88
&gt; +        //

This should just be one line I think

&gt; LayoutTests/platform/mac/accessibility/selection-initial.html:131
&gt; +        //

ditto

&gt; Source/WebCore/page/EventHandler.cpp:3049
&gt; +static void setKeyboardSelection(Frame&amp; frame, SelectionDirection direction)

should this be setInitialKeyboardSelection

&gt; Source/WebCore/page/EventHandler.cpp:3052
&gt; +

you can remove this empty line

&gt; Source/WebCore/ChangeLog:10
&gt; +        Added function to set initial selection more gracefully. Specifically, when accessibility has the need to set initial selection,

move this explanation above the line about &quot;No New Tests&apos;

This should say something like
&quot;Support the case where we want to set the initial selection and there&apos;s already a focused element.&quot;
The current wording is a bit backward in terms of importance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999288</commentid>
    <comment_count>5</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2014-04-09 14:14:47 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 228906 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=228906&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/mac/accessibility/selection-initial.html:88
&gt; &gt; +        //
&gt; 
&gt; This should just be one line I think
&gt; 
&gt; &gt; LayoutTests/platform/mac/accessibility/selection-initial.html:131
&gt; &gt; +        //
&gt; 
&gt; ditto
&gt; 
&gt; &gt; Source/WebCore/page/EventHandler.cpp:3049
&gt; &gt; +static void setKeyboardSelection(Frame&amp; frame, SelectionDirection direction)
&gt; 
&gt; should this be setInitialKeyboardSelection
&gt; 
&gt; &gt; Source/WebCore/page/EventHandler.cpp:3052
&gt; &gt; +
&gt; 
&gt; you can remove this empty line
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Added function to set initial selection more gracefully. Specifically, when accessibility has the need to set initial selection,
&gt; 
&gt; move this explanation above the line about &quot;No New Tests&apos;
&gt; 
&gt; This should say something like
&gt; &quot;Support the case where we want to set the initial selection and there&apos;s already a focused element.&quot;
&gt; The current wording is a bit backward in terms of importance

Addressed all feedback and committed manually. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999289</commentid>
    <comment_count>6</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2014-04-09 14:15:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/167033</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228904</attachid>
            <date>2014-04-08 15:51:07 -0700</date>
            <delta_ts>2014-04-08 16:08:25 -0700</delta_ts>
            <desc>Patch for EWS.</desc>
            <filename>selection.patch</filename>
            <type>text/plain</type>
            <size>11125</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NlbGVj
dGlvbi1pbml0aWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3NlbGVjdGlvbi1pbml0aWFsLWV4cGVjdGVkLnR4dAppbmRleCBmNjA1YjZjLi40
ZDBiNDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0
eS9zZWxlY3Rpb24taW5pdGlhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvc2VsZWN0aW9uLWluaXRpYWwtZXhwZWN0ZWQudHh0CkBAIC0z
LDE5ICszLDI3IEBAIFRoaXMgdGVzdHMgdGhhdCBpbml0aWFsIHNlbGVjdGlvbiBpcyBzZXQgd2hl
biBhcnJvdyBrZXlzIGFyZSBwcmVzc2VkIGFuZCBubyBzZWxlCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAotUEFTUyBpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkgaXMgZmFsc2UK
LVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2Vs
ZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQogUEFTUyBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5lbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkIGlzIHRydWUK
LVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2Vs
ZWN0aW9uKCkgaXMgZmFsc2UKIFBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlz
IHRydWUKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNT
IGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQo
KSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKIFBBU1MgaXNTZWxlY3Rpb25B
dFN0YXJ0T2ZEb2N1bWVudCgpIGlzIHRydWUKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1
bWVudCgpIGlzIGZhbHNlCi1QQVNTIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSBpcyB0
cnVlCi1QQVNTIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSBpcyBmYWxzZQotUEFTUyBp
c1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkgaXMgdHJ1ZQotUEFTUyBpc1NlbGVjdGlvbkF0
U3RhcnRPZkRvY3VtZW50KCkgaXMgZmFsc2UKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1
bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxl
Y3Rpb25BdEVuZE9mRG9jdW1lbnQoKSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFs
c2UKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQorUEFTUyBpc1NlbGVjdGlvbigpIGlzIGZh
bHNlCitQQVNTIGlzU2VsZWN0aW9uQWZ0ZXJCdXR0b24oKSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0
aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25CZWZvcmVCdXR0b24oKSBpcyB0cnVlCitQ
QVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25BZnRlckJ1dHRvbigp
IGlzIHRydWUKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQorUEFTUyBpc1NlbGVjdGlvbkJl
Zm9yZUJ1dHRvbigpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvc2VsZWN0aW9uLWluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9hY2Nlc3NpYmlsaXR5L3NlbGVjdGlvbi1pbml0aWFsLmh0bWwKaW5kZXggNzQ2YzQ2YS4uOGM3
MzFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
c2VsZWN0aW9uLWluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9zZWxlY3Rpb24taW5pdGlhbC5odG1sCkBAIC02LDI4ICs2LDkxIEBACiA8L2hl
YWQ+CiA8Ym9keT4KIAotPHAgaWQ9InRleHQiPlRleHQuPC9wPgorPHAgaWQ9InN0YXJ0VGV4dCI+
U3RhcnQgdGV4dC4gQmVmb3JlLiA8aW5wdXQgaWQ9ImJ1dHRvbiIgdHlwZT0iYnV0dG9uIiB2YWx1
ZT0iU3VibWl0Ij4gQWZ0ZXIuPC9wPgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogCis8cCBpZD0iZW5kVGV4dCI+RW5kIHRleHQuPC9wPgorCiA8
c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaW5pdGlhbCBzZWxlY3Rp
b24gaXMgc2V0IHdoZW4gYXJyb3cga2V5cyBhcmUgcHJlc3NlZCBhbmQgbm8gc2VsZWN0aW9uIGV4
aXN0cy4iKTsKICAgICAKKyAgICB2YXIgYWZ0ZXJCdXR0b25UZXh0UmFuZ2UgPSBudWxsOworICAg
IHZhciBiZWZvcmVCdXR0b25UZXh0UmFuZ2UgPSBudWxsOworICAgIAorICAgIHZhciBkb2N1bWVu
dEVuZFRleHRSYW5nZSA9IG51bGw7CisgICAgdmFyIGRvY3VtZW50U3RhcnRUZXh0UmFuZ2UgPSBu
dWxsOworICAgIAogICAgIGZ1bmN0aW9uIGNsZWFyU2VsZWN0aW9uKCkgewogICAgICAgICB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICAgfQogICAgIAorICAgIGZ1
bmN0aW9uIGlzU2VsZWN0aW9uKCkgeworICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlv
bigpLnJhbmdlQ291bnQgPiAwOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBpc1NlbGVjdGlv
bkFmdGVyQnV0dG9uKCkgeworICAgICAgICBpZiAoaXNTZWxlY3Rpb24oKSA9PT0gZmFsc2UpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciBzZWxlY3Rpb25SYW5nZSA9IHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApOworICAgICAgICBpZiAoYWZ0ZXJCdXR0
b25UZXh0UmFuZ2UgPT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBidXR0b25Ob2RlID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAgICAgICAgICAgYWZ0ZXJCdXR0b25U
ZXh0UmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICAgICAgICAgIGFmdGVyQnV0dG9uVGV4dFJhbmdl
LnNldEVuZEFmdGVyKGJ1dHRvbk5vZGUpOworICAgICAgICAgICAgYWZ0ZXJCdXR0b25UZXh0UmFu
Z2Uuc2V0U3RhcnRCZWZvcmUoYnV0dG9uTm9kZS5uZXh0U2libGluZyk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHNlbGVjdGlvblJhbmdlLmVuZE9mZnNldCA9PT0gYWZ0ZXJCdXR0b25UZXh0
UmFuZ2UuZW5kT2Zmc2V0ICYmIHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0ID09PSBhZnRlckJ1
dHRvblRleHRSYW5nZS5zdGFydE9mZnNldDsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gaXNT
ZWxlY3Rpb25CZWZvcmVCdXR0b24oKSB7CisgICAgICAgIGlmIChpc1NlbGVjdGlvbigpID09PSBm
YWxzZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIHNlbGVjdGlvblJh
bmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCk7CisgICAgICAgIGlmIChi
ZWZvcmVCdXR0b25UZXh0UmFuZ2UgPT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBidXR0b25O
b2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAgICAgICAgICAgYmVm
b3JlQnV0dG9uVGV4dFJhbmdlID0gbmV3IFJhbmdlKCk7CisgICAgICAgICAgICBiZWZvcmVCdXR0
b25UZXh0UmFuZ2Uuc2V0RW5kKGJ1dHRvbk5vZGUucHJldmlvdXNTaWJsaW5nLCBidXR0b25Ob2Rl
LnByZXZpb3VzU2libGluZy5sZW5ndGgpOworICAgICAgICAgICAgYmVmb3JlQnV0dG9uVGV4dFJh
bmdlLnNldFN0YXJ0KGJ1dHRvbk5vZGUucHJldmlvdXNTaWJsaW5nLCBidXR0b25Ob2RlLnByZXZp
b3VzU2libGluZy5sZW5ndGgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzZWxlY3Rpb25S
YW5nZS5lbmRPZmZzZXQgPT09IGJlZm9yZUJ1dHRvblRleHRSYW5nZS5lbmRPZmZzZXQgJiYgc2Vs
ZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgPT09IGJlZm9yZUJ1dHRvblRleHRSYW5nZS5zdGFydE9m
ZnNldDsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1l
bnQoKSB7CisgICAgICAgIGlmIChpc1NlbGVjdGlvbigpID09PSBmYWxzZSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIHNlbGVjdGlvblJhbmdlID0gd2luZG93LmdldFNl
bGVjdGlvbigpLmdldFJhbmdlQXQoMCk7CisgICAgICAgIGlmIChkb2N1bWVudEVuZFRleHRSYW5n
ZSA9PT0gbnVsbCkgeworICAgICAgICAgICAgdmFyIGVuZFRleHROb2RlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZFRleHQiKS5maXJzdENoaWxkOworICAgICAgICAgICAgZG9jdW1lbnRF
bmRUZXh0UmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICAgICAgICAgIGRvY3VtZW50RW5kVGV4dFJh
bmdlLnNldEVuZChlbmRUZXh0Tm9kZSwgZW5kVGV4dE5vZGUubGVuZ3RoKTsKKyAgICAgICAgICAg
IGRvY3VtZW50RW5kVGV4dFJhbmdlLnNldFN0YXJ0KGVuZFRleHROb2RlLCBlbmRUZXh0Tm9kZS5s
ZW5ndGgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzZWxlY3Rpb25SYW5nZS5lbmRPZmZz
ZXQgPT09IGRvY3VtZW50RW5kVGV4dFJhbmdlLmVuZE9mZnNldCAmJiBzZWxlY3Rpb25SYW5nZS5z
dGFydE9mZnNldCA9PT0gZG9jdW1lbnRFbmRUZXh0UmFuZ2Uuc3RhcnRPZmZzZXQ7CisgICAgfQor
ICAgIAogICAgIGZ1bmN0aW9uIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSB7Ci0gICAg
ICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7Ci0gICAgICAgIHJldHVy
biBzZWxlY3Rpb24ucmFuZ2VDb3VudCA+PSAxICYmIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmVu
ZE9mZnNldCA9PT0gMCAmJiBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5zdGFydE9mZnNldCA9PT0g
MDsKKyAgICAgICAgaWYgKGlzU2VsZWN0aW9uKCkgPT09IGZhbHNlKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB2YXIgc2VsZWN0aW9uUmFuZ2UgPSB3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkuZ2V0UmFuZ2VBdCgwKTsKKyAgICAgICAgaWYgKGRvY3VtZW50U3RhcnRUZXh0UmFuZ2Ug
PT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBzdGFydFRleHROb2RlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0VGV4dCIpLmZpcnN0Q2hpbGQ7CisgICAgICAgICAgICBkb2N1bWVu
dFN0YXJ0VGV4dFJhbmdlID0gbmV3IFJhbmdlKCk7CisgICAgICAgICAgICBkb2N1bWVudFN0YXJ0
VGV4dFJhbmdlLnNldEVuZChzdGFydFRleHROb2RlLCAwKTsKKyAgICAgICAgICAgIGRvY3VtZW50
U3RhcnRUZXh0UmFuZ2Uuc2V0U3RhcnQoc3RhcnRUZXh0Tm9kZSwgMCk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHNlbGVjdGlvblJhbmdlLmVuZE9mZnNldCA9PT0gZG9jdW1lbnRTdGFydFRl
eHRSYW5nZS5lbmRPZmZzZXQgJiYgc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgPT09IGRvY3Vt
ZW50U3RhcnRUZXh0UmFuZ2Uuc3RhcnRPZmZzZXQ7CiAgICAgfQogICAgIAogICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgJiYgd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAg
ICAgIC8vCisgICAgICAgIC8vIFRlc3RzIFdJVEhPVVQgZm9jdXMgc2V0LgorICAgICAgICAvLwor
ICAgICAgICAKICAgICAgICAgLy8gRG93biBhcnJvdyBrZXkgKHNob3VsZCBOT1Qgc2V0IGluaXRp
YWwgc2VsZWN0aW9uIGJlZm9yZSBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGlzIGVuYWJsZWQpLgot
ICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgImZhbHNl
Iik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CiAgICAgICAg
IGV2ZW50U2VuZGVyLmtleURvd24oImRvd25BcnJvdyIpOwotICAgICAgICBzaG91bGRCZSgiaXNT
ZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgImZhbHNlIik7CisgICAgICAgIHNob3VsZEJl
KCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CiAgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBFbmFibGUgZW5oYW5jZWQgYWNjZXNzaWJpbGl0eSAobmVjZXNz
YXJ5IGZvciBhY2Nlc3NpYmlsaXR5IHNwZWNpZmljIHNlbGVjdGlvbiBoYW5kbGluZykuCkBAIC0z
NSwzNiArOTgsNjggQEAKICAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmVuaGFuY2VkQWNjZXNzaWJpbGl0eUVuYWJsZWQiLCAidHJ1ZSIpOwogICAgICAgICAKICAgICAg
ICAgLy8gRG93biBhcnJvdyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3Rh
cnRPZkRvY3VtZW50KCkiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9u
KCkiLCAiZmFsc2UiKTsKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93Iik7
CiAgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1
ZSIpOwogICAgICAgICBjbGVhclNlbGVjdGlvbigpOwogICAgICAgICAKICAgICAgICAgLy8gTGVm
dCBhcnJvdyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3Vt
ZW50KCkiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFs
c2UiKTsKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigibGVmdEFycm93Iik7Ci0gICAgICAg
IHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1ZSIpOworICAg
ICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQoKSIsICJ0cnVlIik7CiAg
ICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CiAgICAgICAgIAogICAgICAgICAvLyBSaWdodCBhcnJv
dyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCki
LCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFsc2UiKTsK
ICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIpOwogICAgICAgICBzaG91
bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgInRydWUiKTsKICAgICAgICAg
Y2xlYXJTZWxlY3Rpb24oKTsKICAgICAgICAgCiAgICAgICAgIC8vIFVwIGFycm93IGtleS4KLSAg
ICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSIsICJmYWxzZSIp
OworICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb24oKSIsICJmYWxzZSIpOwogICAgICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7Ci0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVj
dGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaXNT
ZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQoKSIsICJ0cnVlIik7CiAgICAgICAgIGNsZWFyU2VsZWN0
aW9uKCk7CiAgICAgICAgIAogICAgICAgICAvLyBaIGtleSAob25seSBhcnJvdyBrZXlzIHNob3Vs
ZCBzZXQgaW5pdGlhbCBzZWxlY3Rpb24gaWYgbm8gc2VsZWN0aW9uIGV4aXN0cykuCi0gICAgICAg
IHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAiZmFsc2UiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFsc2UiKTsKICAgICAgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigiWiIpOwotICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0
T2ZEb2N1bWVudCgpIiwgImZhbHNlIik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigp
IiwgImZhbHNlIik7CisgICAgICAgIAorICAgICAgICAvLworICAgICAgICAvLyBUZXN0cyBXSVRI
IGZvY3VzIHNldC4KKyAgICAgICAgLy8KKyAgICAgICAgCisgICAgICAgIC8vIFNldCBmb2N1cy4K
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpLmZvY3VzKCk7CisgICAg
ICAgIAorICAgICAgICAvLyBEb3duIGFycm93IGtleS4KKyAgICAgICAgc2hvdWxkQmUoImlzU2Vs
ZWN0aW9uKCkiLCAiZmFsc2UiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFy
cm93Iik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkFmdGVyQnV0dG9uKCkiLCAidHJ1
ZSIpOworICAgICAgICBjbGVhclNlbGVjdGlvbigpOworICAgICAgICAKKyAgICAgICAgLy8gTGVm
dCBhcnJvdyBrZXkuCisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7
CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImxlZnRBcnJvdyIpOworICAgICAgICBzaG91
bGRCZSgiaXNTZWxlY3Rpb25CZWZvcmVCdXR0b24oKSIsICJ0cnVlIik7CisgICAgICAgIGNsZWFy
U2VsZWN0aW9uKCk7CisgICAgICAgIAorICAgICAgICAvLyBSaWdodCBhcnJvdyBrZXkuCisgICAg
ICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oInJpZ2h0QXJyb3ciKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9u
QWZ0ZXJCdXR0b24oKSIsICJ0cnVlIik7CisgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CisgICAg
ICAgIAorICAgICAgICAvLyBVcCBhcnJvdyBrZXkuCisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVj
dGlvbigpIiwgImZhbHNlIik7CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ci
KTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uQmVmb3JlQnV0dG9uKCkiLCAidHJ1ZSIp
OworICAgICAgICBjbGVhclNlbGVjdGlvbigpOwogICAgICAgICAKICAgICAgICAgLy8gSGlkZSBz
dXBlcmZsdW91cyB0ZXh0LgotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dCIp
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmRUZXh0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0VGV4dCIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgfQog
PC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2MjBhOTZh
Li5hMGU2YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0zMDQ2LDYg
KzMwNDYsNDEgQEAgc3RhdGljIEZvY3VzRGlyZWN0aW9uIGZvY3VzRGlyZWN0aW9uRm9yS2V5KGNv
bnN0IEF0b21pY1N0cmluZyYga2V5SWRlbnRpZmllcikKICAgICByZXR1cm4gcmV0VmFsOwogfQog
CitzdGF0aWMgdm9pZCBzZXRLZXlib2FyZFNlbGVjdGlvbihGcmFtZSYgZnJhbWUsIFNlbGVjdGlv
bkRpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUu
ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAg
IEZyYW1lU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKTsKKworICAgIGlm
ICghc2VsZWN0aW9uLmlzTm9uZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBFbGVtZW50KiBm
b2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LT5mb2N1c2VkRWxlbWVudCgpOworICAgIFZpc2libGVQ
b3NpdGlvbiB2aXNpYmxlUG9zaXRpb247CisKKyAgICBzd2l0Y2ggKGRpcmVjdGlvbikgeworICAg
IGNhc2UgRGlyZWN0aW9uQmFja3dhcmQ6CisgICAgY2FzZSBEaXJlY3Rpb25MZWZ0OgorICAgICAg
ICBpZiAoZm9jdXNlZEVsZW1lbnQpCisgICAgICAgICAgICB2aXNpYmxlUG9zaXRpb24gPSBWaXNp
YmxlUG9zaXRpb24ocG9zaXRpb25CZWZvcmVOb2RlKGZvY3VzZWRFbGVtZW50KSk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHZpc2libGVQb3NpdGlvbiA9IGVuZE9mRG9jdW1lbnQoZG9jdW1l
bnQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERpcmVjdGlvbkZvcndhcmQ6CisgICAgY2Fz
ZSBEaXJlY3Rpb25SaWdodDoKKyAgICAgICAgaWYgKGZvY3VzZWRFbGVtZW50KQorICAgICAgICAg
ICAgdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9uKHBvc2l0aW9uQWZ0ZXJOb2RlKGZv
Y3VzZWRFbGVtZW50KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZpc2libGVQb3NpdGlv
biA9IHN0YXJ0T2ZEb2N1bWVudChkb2N1bWVudCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIHNlbGVjdGlvbi5zZXRTZWxlY3Rpb24odmlzaWJsZVBvc2l0aW9uLCBGcmFtZVNlbGVjdGlv
bjo6ZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoVXNlclRyaWdnZXJlZCkpOworfQorCiBzdGF0
aWMgdm9pZCBoYW5kbGVLZXlib2FyZFNlbGVjdGlvbk1vdmVtZW50KEZyYW1lJiBmcmFtZSwgS2V5
Ym9hcmRFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFldmVudCkKQEAgLTMwODksNyArMzEyNCw3
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZUtleWJvYXJkU2VsZWN0aW9uTW92ZW1lbnQoRnJhbWUmIGZy
YW1lLCBLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBpZiAoaXNTZWxlY3Rpb24pCiAgICAgICAg
IHNlbGVjdGlvbi5tb2RpZnkoYWx0ZXJuYXRpb24sIGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIFVz
ZXJUcmlnZ2VyZWQpOwogICAgIGVsc2UKLSAgICAgICAgc2VsZWN0aW9uLnNldFNlbGVjdGlvbihz
dGFydE9mRG9jdW1lbnQoZnJhbWUuZG9jdW1lbnQoKSksIEZyYW1lU2VsZWN0aW9uOjpkZWZhdWx0
U2V0U2VsZWN0aW9uT3B0aW9ucyhVc2VyVHJpZ2dlcmVkKSk7CisgICAgICAgIHNldEtleWJvYXJk
U2VsZWN0aW9uKGZyYW1lLCBkaXJlY3Rpb24pOwogCiAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228906</attachid>
            <date>2014-04-08 16:08:25 -0700</date>
            <delta_ts>2014-04-09 11:41:12 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>selection.patch</filename>
            <type>text/plain</type>
            <size>13136</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NlbGVj
dGlvbi1pbml0aWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3NlbGVjdGlvbi1pbml0aWFsLWV4cGVjdGVkLnR4dAppbmRleCBmNjA1YjZjLi40
ZDBiNDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0
eS9zZWxlY3Rpb24taW5pdGlhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvc2VsZWN0aW9uLWluaXRpYWwtZXhwZWN0ZWQudHh0CkBAIC0z
LDE5ICszLDI3IEBAIFRoaXMgdGVzdHMgdGhhdCBpbml0aWFsIHNlbGVjdGlvbiBpcyBzZXQgd2hl
biBhcnJvdyBrZXlzIGFyZSBwcmVzc2VkIGFuZCBubyBzZWxlCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAotUEFTUyBpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkgaXMgZmFsc2UK
LVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2Vs
ZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQogUEFTUyBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5lbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkIGlzIHRydWUK
LVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2Vs
ZWN0aW9uKCkgaXMgZmFsc2UKIFBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlz
IHRydWUKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIGlzIGZhbHNlCitQQVNT
IGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQo
KSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKIFBBU1MgaXNTZWxlY3Rpb25B
dFN0YXJ0T2ZEb2N1bWVudCgpIGlzIHRydWUKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1
bWVudCgpIGlzIGZhbHNlCi1QQVNTIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSBpcyB0
cnVlCi1QQVNTIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSBpcyBmYWxzZQotUEFTUyBp
c1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkgaXMgdHJ1ZQotUEFTUyBpc1NlbGVjdGlvbkF0
U3RhcnRPZkRvY3VtZW50KCkgaXMgZmFsc2UKLVBBU1MgaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1
bWVudCgpIGlzIGZhbHNlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxl
Y3Rpb25BdEVuZE9mRG9jdW1lbnQoKSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFs
c2UKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQorUEFTUyBpc1NlbGVjdGlvbigpIGlzIGZh
bHNlCitQQVNTIGlzU2VsZWN0aW9uQWZ0ZXJCdXR0b24oKSBpcyB0cnVlCitQQVNTIGlzU2VsZWN0
aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25CZWZvcmVCdXR0b24oKSBpcyB0cnVlCitQ
QVNTIGlzU2VsZWN0aW9uKCkgaXMgZmFsc2UKK1BBU1MgaXNTZWxlY3Rpb25BZnRlckJ1dHRvbigp
IGlzIHRydWUKK1BBU1MgaXNTZWxlY3Rpb24oKSBpcyBmYWxzZQorUEFTUyBpc1NlbGVjdGlvbkJl
Zm9yZUJ1dHRvbigpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvc2VsZWN0aW9uLWluaXRpYWwuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9hY2Nlc3NpYmlsaXR5L3NlbGVjdGlvbi1pbml0aWFsLmh0bWwKaW5kZXggNzQ2YzQ2YS4uOGM3
MzFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
c2VsZWN0aW9uLWluaXRpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9zZWxlY3Rpb24taW5pdGlhbC5odG1sCkBAIC02LDI4ICs2LDkxIEBACiA8L2hl
YWQ+CiA8Ym9keT4KIAotPHAgaWQ9InRleHQiPlRleHQuPC9wPgorPHAgaWQ9InN0YXJ0VGV4dCI+
U3RhcnQgdGV4dC4gQmVmb3JlLiA8aW5wdXQgaWQ9ImJ1dHRvbiIgdHlwZT0iYnV0dG9uIiB2YWx1
ZT0iU3VibWl0Ij4gQWZ0ZXIuPC9wPgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogCis8cCBpZD0iZW5kVGV4dCI+RW5kIHRleHQuPC9wPgorCiA8
c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaW5pdGlhbCBzZWxlY3Rp
b24gaXMgc2V0IHdoZW4gYXJyb3cga2V5cyBhcmUgcHJlc3NlZCBhbmQgbm8gc2VsZWN0aW9uIGV4
aXN0cy4iKTsKICAgICAKKyAgICB2YXIgYWZ0ZXJCdXR0b25UZXh0UmFuZ2UgPSBudWxsOworICAg
IHZhciBiZWZvcmVCdXR0b25UZXh0UmFuZ2UgPSBudWxsOworICAgIAorICAgIHZhciBkb2N1bWVu
dEVuZFRleHRSYW5nZSA9IG51bGw7CisgICAgdmFyIGRvY3VtZW50U3RhcnRUZXh0UmFuZ2UgPSBu
dWxsOworICAgIAogICAgIGZ1bmN0aW9uIGNsZWFyU2VsZWN0aW9uKCkgewogICAgICAgICB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICAgfQogICAgIAorICAgIGZ1
bmN0aW9uIGlzU2VsZWN0aW9uKCkgeworICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlv
bigpLnJhbmdlQ291bnQgPiAwOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBpc1NlbGVjdGlv
bkFmdGVyQnV0dG9uKCkgeworICAgICAgICBpZiAoaXNTZWxlY3Rpb24oKSA9PT0gZmFsc2UpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciBzZWxlY3Rpb25SYW5nZSA9IHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApOworICAgICAgICBpZiAoYWZ0ZXJCdXR0
b25UZXh0UmFuZ2UgPT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBidXR0b25Ob2RlID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAgICAgICAgICAgYWZ0ZXJCdXR0b25U
ZXh0UmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICAgICAgICAgIGFmdGVyQnV0dG9uVGV4dFJhbmdl
LnNldEVuZEFmdGVyKGJ1dHRvbk5vZGUpOworICAgICAgICAgICAgYWZ0ZXJCdXR0b25UZXh0UmFu
Z2Uuc2V0U3RhcnRCZWZvcmUoYnV0dG9uTm9kZS5uZXh0U2libGluZyk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHNlbGVjdGlvblJhbmdlLmVuZE9mZnNldCA9PT0gYWZ0ZXJCdXR0b25UZXh0
UmFuZ2UuZW5kT2Zmc2V0ICYmIHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0ID09PSBhZnRlckJ1
dHRvblRleHRSYW5nZS5zdGFydE9mZnNldDsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gaXNT
ZWxlY3Rpb25CZWZvcmVCdXR0b24oKSB7CisgICAgICAgIGlmIChpc1NlbGVjdGlvbigpID09PSBm
YWxzZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIHNlbGVjdGlvblJh
bmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpLmdldFJhbmdlQXQoMCk7CisgICAgICAgIGlmIChi
ZWZvcmVCdXR0b25UZXh0UmFuZ2UgPT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBidXR0b25O
b2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAgICAgICAgICAgYmVm
b3JlQnV0dG9uVGV4dFJhbmdlID0gbmV3IFJhbmdlKCk7CisgICAgICAgICAgICBiZWZvcmVCdXR0
b25UZXh0UmFuZ2Uuc2V0RW5kKGJ1dHRvbk5vZGUucHJldmlvdXNTaWJsaW5nLCBidXR0b25Ob2Rl
LnByZXZpb3VzU2libGluZy5sZW5ndGgpOworICAgICAgICAgICAgYmVmb3JlQnV0dG9uVGV4dFJh
bmdlLnNldFN0YXJ0KGJ1dHRvbk5vZGUucHJldmlvdXNTaWJsaW5nLCBidXR0b25Ob2RlLnByZXZp
b3VzU2libGluZy5sZW5ndGgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzZWxlY3Rpb25S
YW5nZS5lbmRPZmZzZXQgPT09IGJlZm9yZUJ1dHRvblRleHRSYW5nZS5lbmRPZmZzZXQgJiYgc2Vs
ZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgPT09IGJlZm9yZUJ1dHRvblRleHRSYW5nZS5zdGFydE9m
ZnNldDsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1l
bnQoKSB7CisgICAgICAgIGlmIChpc1NlbGVjdGlvbigpID09PSBmYWxzZSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIHNlbGVjdGlvblJhbmdlID0gd2luZG93LmdldFNl
bGVjdGlvbigpLmdldFJhbmdlQXQoMCk7CisgICAgICAgIGlmIChkb2N1bWVudEVuZFRleHRSYW5n
ZSA9PT0gbnVsbCkgeworICAgICAgICAgICAgdmFyIGVuZFRleHROb2RlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZFRleHQiKS5maXJzdENoaWxkOworICAgICAgICAgICAgZG9jdW1lbnRF
bmRUZXh0UmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICAgICAgICAgIGRvY3VtZW50RW5kVGV4dFJh
bmdlLnNldEVuZChlbmRUZXh0Tm9kZSwgZW5kVGV4dE5vZGUubGVuZ3RoKTsKKyAgICAgICAgICAg
IGRvY3VtZW50RW5kVGV4dFJhbmdlLnNldFN0YXJ0KGVuZFRleHROb2RlLCBlbmRUZXh0Tm9kZS5s
ZW5ndGgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzZWxlY3Rpb25SYW5nZS5lbmRPZmZz
ZXQgPT09IGRvY3VtZW50RW5kVGV4dFJhbmdlLmVuZE9mZnNldCAmJiBzZWxlY3Rpb25SYW5nZS5z
dGFydE9mZnNldCA9PT0gZG9jdW1lbnRFbmRUZXh0UmFuZ2Uuc3RhcnRPZmZzZXQ7CisgICAgfQor
ICAgIAogICAgIGZ1bmN0aW9uIGlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSB7Ci0gICAg
ICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7Ci0gICAgICAgIHJldHVy
biBzZWxlY3Rpb24ucmFuZ2VDb3VudCA+PSAxICYmIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmVu
ZE9mZnNldCA9PT0gMCAmJiBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5zdGFydE9mZnNldCA9PT0g
MDsKKyAgICAgICAgaWYgKGlzU2VsZWN0aW9uKCkgPT09IGZhbHNlKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB2YXIgc2VsZWN0aW9uUmFuZ2UgPSB3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkuZ2V0UmFuZ2VBdCgwKTsKKyAgICAgICAgaWYgKGRvY3VtZW50U3RhcnRUZXh0UmFuZ2Ug
PT09IG51bGwpIHsKKyAgICAgICAgICAgIHZhciBzdGFydFRleHROb2RlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0VGV4dCIpLmZpcnN0Q2hpbGQ7CisgICAgICAgICAgICBkb2N1bWVu
dFN0YXJ0VGV4dFJhbmdlID0gbmV3IFJhbmdlKCk7CisgICAgICAgICAgICBkb2N1bWVudFN0YXJ0
VGV4dFJhbmdlLnNldEVuZChzdGFydFRleHROb2RlLCAwKTsKKyAgICAgICAgICAgIGRvY3VtZW50
U3RhcnRUZXh0UmFuZ2Uuc2V0U3RhcnQoc3RhcnRUZXh0Tm9kZSwgMCk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHNlbGVjdGlvblJhbmdlLmVuZE9mZnNldCA9PT0gZG9jdW1lbnRTdGFydFRl
eHRSYW5nZS5lbmRPZmZzZXQgJiYgc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgPT09IGRvY3Vt
ZW50U3RhcnRUZXh0UmFuZ2Uuc3RhcnRPZmZzZXQ7CiAgICAgfQogICAgIAogICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgJiYgd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAg
ICAgIC8vCisgICAgICAgIC8vIFRlc3RzIFdJVEhPVVQgZm9jdXMgc2V0LgorICAgICAgICAvLwor
ICAgICAgICAKICAgICAgICAgLy8gRG93biBhcnJvdyBrZXkgKHNob3VsZCBOT1Qgc2V0IGluaXRp
YWwgc2VsZWN0aW9uIGJlZm9yZSBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGlzIGVuYWJsZWQpLgot
ICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgImZhbHNl
Iik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CiAgICAgICAg
IGV2ZW50U2VuZGVyLmtleURvd24oImRvd25BcnJvdyIpOwotICAgICAgICBzaG91bGRCZSgiaXNT
ZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgImZhbHNlIik7CisgICAgICAgIHNob3VsZEJl
KCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CiAgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBFbmFibGUgZW5oYW5jZWQgYWNjZXNzaWJpbGl0eSAobmVjZXNz
YXJ5IGZvciBhY2Nlc3NpYmlsaXR5IHNwZWNpZmljIHNlbGVjdGlvbiBoYW5kbGluZykuCkBAIC0z
NSwzNiArOTgsNjggQEAKICAgICAgICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmVuaGFuY2VkQWNjZXNzaWJpbGl0eUVuYWJsZWQiLCAidHJ1ZSIpOwogICAgICAgICAKICAgICAg
ICAgLy8gRG93biBhcnJvdyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3Rh
cnRPZkRvY3VtZW50KCkiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9u
KCkiLCAiZmFsc2UiKTsKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFycm93Iik7
CiAgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1
ZSIpOwogICAgICAgICBjbGVhclNlbGVjdGlvbigpOwogICAgICAgICAKICAgICAgICAgLy8gTGVm
dCBhcnJvdyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3Vt
ZW50KCkiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFs
c2UiKTsKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigibGVmdEFycm93Iik7Ci0gICAgICAg
IHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1ZSIpOworICAg
ICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQoKSIsICJ0cnVlIik7CiAg
ICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CiAgICAgICAgIAogICAgICAgICAvLyBSaWdodCBhcnJv
dyBrZXkuCi0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCki
LCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFsc2UiKTsK
ICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIpOwogICAgICAgICBzaG91
bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0T2ZEb2N1bWVudCgpIiwgInRydWUiKTsKICAgICAgICAg
Y2xlYXJTZWxlY3Rpb24oKTsKICAgICAgICAgCiAgICAgICAgIC8vIFVwIGFycm93IGtleS4KLSAg
ICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uQXRTdGFydE9mRG9jdW1lbnQoKSIsICJmYWxzZSIp
OworICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb24oKSIsICJmYWxzZSIpOwogICAgICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCJ1cEFycm93Iik7Ci0gICAgICAgIHNob3VsZEJlKCJpc1NlbGVj
dGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgiaXNT
ZWxlY3Rpb25BdEVuZE9mRG9jdW1lbnQoKSIsICJ0cnVlIik7CiAgICAgICAgIGNsZWFyU2VsZWN0
aW9uKCk7CiAgICAgICAgIAogICAgICAgICAvLyBaIGtleSAob25seSBhcnJvdyBrZXlzIHNob3Vs
ZCBzZXQgaW5pdGlhbCBzZWxlY3Rpb24gaWYgbm8gc2VsZWN0aW9uIGV4aXN0cykuCi0gICAgICAg
IHNob3VsZEJlKCJpc1NlbGVjdGlvbkF0U3RhcnRPZkRvY3VtZW50KCkiLCAiZmFsc2UiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uKCkiLCAiZmFsc2UiKTsKICAgICAgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigiWiIpOwotICAgICAgICBzaG91bGRCZSgiaXNTZWxlY3Rpb25BdFN0YXJ0
T2ZEb2N1bWVudCgpIiwgImZhbHNlIik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigp
IiwgImZhbHNlIik7CisgICAgICAgIAorICAgICAgICAvLworICAgICAgICAvLyBUZXN0cyBXSVRI
IGZvY3VzIHNldC4KKyAgICAgICAgLy8KKyAgICAgICAgCisgICAgICAgIC8vIFNldCBmb2N1cy4K
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpLmZvY3VzKCk7CisgICAg
ICAgIAorICAgICAgICAvLyBEb3duIGFycm93IGtleS4KKyAgICAgICAgc2hvdWxkQmUoImlzU2Vs
ZWN0aW9uKCkiLCAiZmFsc2UiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZG93bkFy
cm93Iik7CisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbkFmdGVyQnV0dG9uKCkiLCAidHJ1
ZSIpOworICAgICAgICBjbGVhclNlbGVjdGlvbigpOworICAgICAgICAKKyAgICAgICAgLy8gTGVm
dCBhcnJvdyBrZXkuCisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7
CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImxlZnRBcnJvdyIpOworICAgICAgICBzaG91
bGRCZSgiaXNTZWxlY3Rpb25CZWZvcmVCdXR0b24oKSIsICJ0cnVlIik7CisgICAgICAgIGNsZWFy
U2VsZWN0aW9uKCk7CisgICAgICAgIAorICAgICAgICAvLyBSaWdodCBhcnJvdyBrZXkuCisgICAg
ICAgIHNob3VsZEJlKCJpc1NlbGVjdGlvbigpIiwgImZhbHNlIik7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oInJpZ2h0QXJyb3ciKTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9u
QWZ0ZXJCdXR0b24oKSIsICJ0cnVlIik7CisgICAgICAgIGNsZWFyU2VsZWN0aW9uKCk7CisgICAg
ICAgIAorICAgICAgICAvLyBVcCBhcnJvdyBrZXkuCisgICAgICAgIHNob3VsZEJlKCJpc1NlbGVj
dGlvbigpIiwgImZhbHNlIik7CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oInVwQXJyb3ci
KTsKKyAgICAgICAgc2hvdWxkQmUoImlzU2VsZWN0aW9uQmVmb3JlQnV0dG9uKCkiLCAidHJ1ZSIp
OworICAgICAgICBjbGVhclNlbGVjdGlvbigpOwogICAgICAgICAKICAgICAgICAgLy8gSGlkZSBz
dXBlcmZsdW91cyB0ZXh0LgotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dCIp
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmRUZXh0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0VGV4dCIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgfQog
PC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2MjBhOTZh
Li5hMGU2YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0zMDQ2LDYg
KzMwNDYsNDEgQEAgc3RhdGljIEZvY3VzRGlyZWN0aW9uIGZvY3VzRGlyZWN0aW9uRm9yS2V5KGNv
bnN0IEF0b21pY1N0cmluZyYga2V5SWRlbnRpZmllcikKICAgICByZXR1cm4gcmV0VmFsOwogfQog
CitzdGF0aWMgdm9pZCBzZXRLZXlib2FyZFNlbGVjdGlvbihGcmFtZSYgZnJhbWUsIFNlbGVjdGlv
bkRpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUu
ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAg
IEZyYW1lU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKTsKKworICAgIGlm
ICghc2VsZWN0aW9uLmlzTm9uZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBFbGVtZW50KiBm
b2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LT5mb2N1c2VkRWxlbWVudCgpOworICAgIFZpc2libGVQ
b3NpdGlvbiB2aXNpYmxlUG9zaXRpb247CisKKyAgICBzd2l0Y2ggKGRpcmVjdGlvbikgeworICAg
IGNhc2UgRGlyZWN0aW9uQmFja3dhcmQ6CisgICAgY2FzZSBEaXJlY3Rpb25MZWZ0OgorICAgICAg
ICBpZiAoZm9jdXNlZEVsZW1lbnQpCisgICAgICAgICAgICB2aXNpYmxlUG9zaXRpb24gPSBWaXNp
YmxlUG9zaXRpb24ocG9zaXRpb25CZWZvcmVOb2RlKGZvY3VzZWRFbGVtZW50KSk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHZpc2libGVQb3NpdGlvbiA9IGVuZE9mRG9jdW1lbnQoZG9jdW1l
bnQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIERpcmVjdGlvbkZvcndhcmQ6CisgICAgY2Fz
ZSBEaXJlY3Rpb25SaWdodDoKKyAgICAgICAgaWYgKGZvY3VzZWRFbGVtZW50KQorICAgICAgICAg
ICAgdmlzaWJsZVBvc2l0aW9uID0gVmlzaWJsZVBvc2l0aW9uKHBvc2l0aW9uQWZ0ZXJOb2RlKGZv
Y3VzZWRFbGVtZW50KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZpc2libGVQb3NpdGlv
biA9IHN0YXJ0T2ZEb2N1bWVudChkb2N1bWVudCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIHNlbGVjdGlvbi5zZXRTZWxlY3Rpb24odmlzaWJsZVBvc2l0aW9uLCBGcmFtZVNlbGVjdGlv
bjo6ZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoVXNlclRyaWdnZXJlZCkpOworfQorCiBzdGF0
aWMgdm9pZCBoYW5kbGVLZXlib2FyZFNlbGVjdGlvbk1vdmVtZW50KEZyYW1lJiBmcmFtZSwgS2V5
Ym9hcmRFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFldmVudCkKQEAgLTMwODksNyArMzEyNCw3
IEBAIHN0YXRpYyB2b2lkIGhhbmRsZUtleWJvYXJkU2VsZWN0aW9uTW92ZW1lbnQoRnJhbWUmIGZy
YW1lLCBLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICBpZiAoaXNTZWxlY3Rpb24pCiAgICAgICAg
IHNlbGVjdGlvbi5tb2RpZnkoYWx0ZXJuYXRpb24sIGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIFVz
ZXJUcmlnZ2VyZWQpOwogICAgIGVsc2UKLSAgICAgICAgc2VsZWN0aW9uLnNldFNlbGVjdGlvbihz
dGFydE9mRG9jdW1lbnQoZnJhbWUuZG9jdW1lbnQoKSksIEZyYW1lU2VsZWN0aW9uOjpkZWZhdWx0
U2V0U2VsZWN0aW9uT3B0aW9ucyhVc2VyVHJpZ2dlcmVkKSk7CisgICAgICAgIHNldEtleWJvYXJk
U2VsZWN0aW9uKGZyYW1lLCBkaXJlY3Rpb24pOwogCiAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNDI3YzdjNS4uYzFlMDM2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTA0LTA4ICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29tPgorCisg
ICAgICAgIEFYOiBJbml0aWFsIHRleHQgc2VsZWN0aW9uIHBvaW50IHNob3VsZCByZXNwZWN0IGVs
ZW1lbnQgZm9jdXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzE0MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGluZyB0ZXN0IHRvIG1ha2Ugc3VyZSBpbml0aWFsIHNlbGVjdGlvbiByZXNwZWN0
cyB0aGUgZm9jdXNlZCBlbGVtZW50IHdoZW4gbmVjZXNzYXJ5LiBOb3csIGlmIGEgVm9pY2VPdmVy
IHVzZXIgYXR0ZW1wdHMgdG8gdXNlCisgICAgICAgIGFycm93IGtleXMgdG8gcmVhZCB0ZXh0IGFu
ZCBzZWxlY3Rpb24gaXNuJ3Qgc2V0LCB3ZSB3aWxsIHNldCBpbml0aWFsIHNlbGVjdGlvbiBiZWZv
cmUvYWZ0ZXIgdGhlIGZvY3VzZWQgZWxlbWVudCBpZiBvbmUgaXMgcHJlc2VudC4KKworICAgICAg
ICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3NlbGVjdGlvbi1pbml0aWFsLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9zZWxlY3Rpb24taW5p
dGlhbC5odG1sOgorCiAyMDE0LTAzLTMwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgTW92ZSBzbG93IEpTUmVncmVzcyB0ZXN0cyBvdXQgb2YgdGhlIHdheSBzbyB0
aGF0IHRoZXkgZG9uJ3Qgc2hvdyB1cCBpbiBydW4tanNjLWJlbmNobWFya3MgcnVucyBhbmQgYWxz
byBza2lwIHRlc3RzIHRoYXQgYXJlIGV4dHJlbWVseSBsb25nLXJ1bm5pbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAyMWMxNGIyLi5iMWFkNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDQt
MDggIFNhbXVlbCBXaGl0ZSAgPHNhbXVlbF93aGl0ZUBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IEluaXRpYWwgdGV4dCBzZWxlY3Rpb24gcG9pbnQgc2hvdWxkIHJlc3BlY3QgZWxlbWVudCBmb2N1
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgdXBkYXRlZCBleGlzdGluZyBzZWxlY3Rpb24taW5pdGlhbCB0byB0ZXN0IHRoaXMg
ZnVuY3Rpb25hbGl0eS4KKworICAgICAgICBBZGRlZCBmdW5jdGlvbiB0byBzZXQgaW5pdGlhbCBz
ZWxlY3Rpb24gbW9yZSBncmFjZWZ1bGx5LiBTcGVjaWZpY2FsbHksIHdoZW4gYWNjZXNzaWJpbGl0
eSBoYXMgdGhlIG5lZWQgdG8gc2V0IGluaXRpYWwgc2VsZWN0aW9uLAorICAgICAgICBpdCB3aWxs
IG5vdyBkbyBzbyBiZWZvcmUvYWZ0ZXIgdGhlIGZvY3VzZWQgZWxlbWVudCBpZiBhcHByb3ByaWF0
ZSAoaW5zdGVhZCBvZiBhbHdheXMgZGVmYXVsdGluZyB0byB0aGUgdG9wIG9mIHRoZSBkb2N1bWVu
dCkuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRLZXlib2FyZFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVLZXlib2Fy
ZFNlbGVjdGlvbk1vdmVtZW50KToKKwogMjAxNC0wNC0wNyAgQmVuamFtaW4gUG91bGFpbiAgPGJl
bmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3BsaXQgQ1NTIFNlbGVjdG9ycyBwc2V1ZG8g
Y2xhc3MgYW5kIHBzZXVkbyBlbGVtZW50cwo=
</data>
<flag name="review"
          id="253273"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>