<?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>160388</bug_id>
          
          <creation_ts>2016-07-31 02:28:34 -0700</creation_ts>
          <short_desc>AX: Add a check for touch event listener on iOS accessibility object</short_desc>
          <delta_ts>2016-07-31 13:04:16 -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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Nan Wang">n_wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</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>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215939</commentid>
    <comment_count>0</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-07-31 02:28:34 -0700</bug_when>
    <thetext>Expose the check on the wrapper object so that we can handle simulating the touch on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215940</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-07-31 02:28:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/27629346&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215941</commentid>
    <comment_count>2</comment_count>
      <attachid>284963</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-07-31 02:47:33 -0700</bug_when>
    <thetext>Created attachment 284963
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215951</commentid>
    <comment_count>3</comment_count>
      <attachid>284963</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-07-31 11:01:05 -0700</bug_when>
    <thetext>Comment on attachment 284963
patch

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

&gt; Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:89
&gt; +        return false;

Will this also take care of the case where the listener is on a parent node?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215952</commentid>
    <comment_count>4</comment_count>
      <attachid>284966</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-07-31 11:33:25 -0700</bug_when>
    <thetext>Created attachment 284966
patch

update from review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215953</commentid>
    <comment_count>5</comment_count>
      <attachid>284967</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-07-31 11:40:37 -0700</bug_when>
    <thetext>Created attachment 284967
patch

better styling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215954</commentid>
    <comment_count>6</comment_count>
      <attachid>284967</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-07-31 12:01:06 -0700</bug_when>
    <thetext>Comment on attachment 284967
patch

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

&gt; Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:88
&gt; +        if (node-&gt;hasEventListeners(eventNames().touchstartEvent) || node-&gt;hasEventListeners(eventNames().touchendEvent))

We may have code for this already. Can you do a search for ontouchstart and see if there&apos;s something in ax alread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215956</commentid>
    <comment_count>7</comment_count>
      <attachid>284967</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-07-31 12:29:07 -0700</bug_when>
    <thetext>Comment on attachment 284967
patch

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

&gt;&gt; Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:88
&gt;&gt; +        if (node-&gt;hasEventListeners(eventNames().touchstartEvent) || node-&gt;hasEventListeners(eventNames().touchendEvent))
&gt; 
&gt; We may have code for this already. Can you do a search for ontouchstart and see if there&apos;s something in ax alread

I searched ontouchstart, ontouchend, touchstart and touchend. And there&apos;s no related accessibility code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215957</commentid>
    <comment_count>8</comment_count>
      <attachid>284967</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-31 13:04:12 -0700</bug_when>
    <thetext>Comment on attachment 284967
patch

Clearing flags on attachment: 284967

Committed r203955: &lt;http://trac.webkit.org/changeset/203955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215958</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-31 13:04:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284963</attachid>
            <date>2016-07-31 02:47:33 -0700</date>
            <delta_ts>2016-07-31 11:33:25 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>9633</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA3LTMxICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFkZCBhIGNoZWNrIGZvciB0b3Vj
aCBldmVudCBsaXN0ZW5lciBvbiBpT1MgYWNjZXNzaWJpbGl0eSBvYmplY3QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGRpc3BhdGNoVG91Y2hFdmVudCgp
IGlzIG5vdCB3b3JraW5nIGNvcnJlY3RseSB3aXRoaW4gQVhQcmVzcygpIHNvbWV0aW1lcy4gTmVl
ZCB0byAKKyAgICAgICAgaW52ZXN0aWdhdGUgaXQgbW9yZSBpbiB0aGUgZnV0dXJlLiBOb3csIGFk
ZGluZyBhIGNoZWNrIGZvciB0aGUgdG91Y2ggZXZlbnQgbGlzdGVuZXIKKyAgICAgICAgb24gdGhl
IG9iamVjdCdzIG5vZGUgc28gdGhhdCBpT1MgY2FuIGhhbmRsZSBkaXNwYXRjaGluZyB0aGUgdG91
Y2ggZXZlbnQgaW5zdGVhZC4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9z
L0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNUb3VjaEV2ZW50TGlzdGVuZXIpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
SU9TLm1tOgorICAgICAgICAoYXBwZW5kU3RyaW5nVG9SZXN1bHQpOgorICAgICAgICAoLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcl0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNz
aWJpbGl0eVZhbHVlSXNBdXRvZmlsbGVkXSk6CisKIDIwMTYtMDctMjggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRWxlbWVudC5nZXRB
dHRyaWJ1dGVOYW1lcygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkyMiw2ICs5MjIsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnByZXNz
KCkKICAgICAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKFByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgZG9jdW1lbnQpOwogICAgIAorICAgIC8vIEZJWE1FOiBkaXNwYXRj
aFRvdWNoRXZlbnQoKSBpcyBub3QgZGlzcGF0Y2hpbmcgdGhlIHRvdWNoIGV2ZW50IGNvcnJlY3Rs
eS4KICAgICBib29sIGRpc3BhdGNoZWRUb3VjaEV2ZW50ID0gZGlzcGF0Y2hUb3VjaEV2ZW50KCk7
CiAgICAgaWYgKCFkaXNwYXRjaGVkVG91Y2hFdmVudCkKICAgICAgICAgcHJlc3NFbGVtZW50LT5h
Y2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjAzODU0KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNDAsNiArMTA0MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBpbnQgYWNjZXNzaWJpbGl0eVBhc3N3b3JkRmllbGRMZW5ndGgoKTsKKyAgICBib29sIGhh
c1RvdWNoRXZlbnRMaXN0ZW5lcigpIGNvbnN0OwogI2VuZGlmCiAgICAgCiAgICAgLy8gYWxsb3dz
IGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3Ig
cGVyZm9ybQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCShyZXZpc2lvbiAyMDM4NTQpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuaCIKKyNpbXBvcnQgIkV2ZW50TmFtZXMuaCIKICNpbXBvcnQgIkhUTUxJbnB1dEVs
ZW1lbnQuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiV0FLVmlldy5oIgpA
QCAtODAsNyArODEsMTYgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmls
aQogewogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9CisKK2Jvb2wgQWNjZXNzaWJpbGl0
eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QKK3sKKyAgICBOb2RlKiBub2Rl
ID0gdGhpcy0+bm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIAorICAgIHJldHVybiBub2RlLT5oYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkudG91
Y2hzdGFydEV2ZW50KSB8fCBub2RlLT5oYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkudG91
Y2hlbmRFdmVudCk7Cit9CisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gSEFWRShBQ0NFU1NJ
QklMSVRZKSAmJiBQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5tbQkocmV2aXNpb24gMjAzODU0KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTk0OSw2ICs5NDksMTQgQEAgc3RhdGljIHZvaWQgYXBwZW5kU3RyaW5nVG9SZXN1
bHQoTlNNdXRhYgogICAgIFtyZXN1bHQgYXBwZW5kU3RyaW5nOnN0cmluZ107CiB9CiAKKy0gKEJP
T0wpX2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXIKK3sKKyAgICBpZiAoIVtzZWxm
IF9wcmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxdKQorICAgICAgICByZXR1cm4gTk87CisgICAgCisg
ICAgcmV0dXJuIG1fb2JqZWN0LT5oYXNUb3VjaEV2ZW50TGlzdGVuZXIoKTsKK30KKwogLSAoQk9P
TClfYWNjZXNzaWJpbGl0eVZhbHVlSXNBdXRvZmlsbGVkCiB7CiAgICAgaWYgKCFbc2VsZiBfcHJl
cGFyZUFjY2Vzc2liaWxpdHlDYWxsXSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzk1NCkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTMxICBOYW4gV2FuZyAg
PG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFkZCBhIGNoZWNrIGZvciB0b3VjaCBl
dmVudCBsaXN0ZW5lciBvbiBpT1MgYWNjZXNzaWJpbGl0eSBvYmplY3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM4OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpib29sQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZSk6CisKIDIwMTYt
MDctMzAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZDogYWRkIG15c2VsZiB0byB0aGUgcmV2aWV3ZXJzIGxpc3QuCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dElPUy5tbQkocmV2aXNpb24gMjAzODU0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcg
QEAgLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJvd0luZGV4OwogLSAoTlNVSW50ZWdl
cilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRz
KV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRz
ZXRBbmNlc3RvcjsKKy0gKEJPT0wpX2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7
CiAKIC8vIFRleHRNYXJrZXIgcmVsYXRlZAogLSAoTlNBcnJheSAqKXRleHRNYXJrZXJSYW5nZTsK
QEAgLTY2Nyw2ICs2NjgsOCBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVt
ZW50CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZhbHVlKEpT
U3RyaW5nUmVmIGF0dHJpYnV0ZSkKIHsKKyAgICBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhhdHRyaWJ1dGUsICJBWEhhc1RvdWNoRXZlbnRMaXN0ZW5lciIpKQorICAgICAgICByZXR1
cm4gW21fZWxlbWVudCBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0ZW5lcl07CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRJT1MubW0JKHJldmlzaW9uIDIwMzg1NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTcyLDYgKzcyLDcgQEAgLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJv
d0luZGV4OwogLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAo
VUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlk
KV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKKy0gKEJPT0wpX2FjY2Vzc2liaWxpdHlI
YXNUb3VjaEV2ZW50TGlzdGVuZXI7CiAKIC8vIFRleHRNYXJrZXIgcmVsYXRlZAogLSAoTlNBcnJh
eSAqKXRleHRNYXJrZXJSYW5nZTsKQEAgLTM3OSw2ICszODAsOCBAQCBQYXNzUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2VzCiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Ym9vbEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKIHsKKyAgICBpZiAoSlNT
dHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhhdHRyaWJ1dGUsICJBWEhhc1RvdWNoRXZlbnRMaXN0
ZW5lciIpKQorICAgICAgICByZXR1cm4gW21fZWxlbWVudCBfYWNjZXNzaWJpbGl0eUhhc1RvdWNo
RXZlbnRMaXN0ZW5lcl07CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMDM4NTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0wNy0zMSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgorCisg
ICAgICAgIEFYOiBBZGQgYSBjaGVjayBmb3IgdG91Y2ggZXZlbnQgbGlzdGVuZXIgb24gaU9TIGFj
Y2Vzc2liaWxpdHkgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjAzODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQt
bGlzdGVuZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lv
cy1zaW11bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWw6IEFkZGVkLgorCiAyMDE2
LTA3LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIEVsZW1lbnQuZ2V0QXR0cmlidXRlTmFtZXMoKQpJbmRleDogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5lci1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2lt
dWxhdG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1l
dmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBA
QAorYnV0dG9uMQorYnV0dG9uMgorRW5zdXJlIHRoYXQgaWYgYW4gZWxlbWVudCBvbiBoYW5kbGVz
IHRvdWNoIGV2ZW50cywgdGhlIHNpbXVsYXRlZCBhY2Nlc3NpYmlsaXR5IHByZXNzIHdpbGwgc3Rp
bGwgYWN0aXZhdGUgdGhvc2UgZWxlbWVudHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGJ1dHRvbjEuYm9vbEF0dHJpYnV0ZVZhbHVlKCdBWEhhc1RvdWNoRXZlbnRMaXN0
ZW5lcicpIGlzIHRydWUKK1BBU1MgYnV0dG9uMi5ib29sQXR0cmlidXRlVmFsdWUoJ0FYSGFzVG91
Y2hFdmVudExpc3RlbmVyJykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlzdGVuZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxp
c3RlbmVyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
b3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5lci5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gZmFsc2U7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKworZnVuY3Rpb24gY2xpY2soKSB7fQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IHJvbGU9ImJ1dHRvbiIgaWQ9ImJ1dHRvbjEiIG9udG91Y2hzdGFydD0iY2hpY2so
KTsiIj5idXR0b24xPC9kaXY+Cis8ZGl2IHJvbGU9ImJ1dHRvbiIgaWQ9ImJ1dHRvbjIiIG9udG91
Y2hlbmQ9ImNoaWNrKCk7Ij5idXR0b24yPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlv
bigiRW5zdXJlIHRoYXQgaWYgYW4gZWxlbWVudCBvbiBoYW5kbGVzIHRvdWNoIGV2ZW50cywgdGhl
IHNpbXVsYXRlZCBhY2Nlc3NpYmlsaXR5IHByZXNzIHdpbGwgc3RpbGwgYWN0aXZhdGUgdGhvc2Ug
ZWxlbWVudHMuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7
CisgICAgICAgIHZhciBidXR0b24xID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJidXR0b24xIik7CisgICAgICAgIHZhciBidXR0b24yID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJidXR0b24yIik7CisgICAgICAg
IHNob3VsZEJlVHJ1ZSgiYnV0dG9uMS5ib29sQXR0cmlidXRlVmFsdWUoJ0FYSGFzVG91Y2hFdmVu
dExpc3RlbmVyJykiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJidXR0b24yLmJvb2xBdHRyaWJ1
dGVWYWx1ZSgnQVhIYXNUb3VjaEV2ZW50TGlzdGVuZXInKSIpOworICAgIH0KKworICAgIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284966</attachid>
            <date>2016-07-31 11:33:25 -0700</date>
            <delta_ts>2016-07-31 11:40:37 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>9612</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA3LTMxICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFkZCBhIGNoZWNrIGZvciB0b3Vj
aCBldmVudCBsaXN0ZW5lciBvbiBpT1MgYWNjZXNzaWJpbGl0eSBvYmplY3QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGRpc3BhdGNoVG91Y2hFdmVudCgp
IGlzIG5vdCB3b3JraW5nIGNvcnJlY3RseSB3aXRoaW4gQVhQcmVzcygpIHNvbWV0aW1lcy4gTmVl
ZCB0byAKKyAgICAgICAgaW52ZXN0aWdhdGUgaXQgbW9yZSBpbiB0aGUgZnV0dXJlLiBOb3csIGFk
ZGluZyBhIGNoZWNrIGZvciB0aGUgdG91Y2ggZXZlbnQgbGlzdGVuZXIKKyAgICAgICAgb24gdGhl
IG9iamVjdCdzIG5vZGUgc28gdGhhdCBpT1MgY2FuIGhhbmRsZSBkaXNwYXRjaGluZyB0aGUgdG91
Y2ggZXZlbnQgaW5zdGVhZC4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9z
L0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNUb3VjaEV2ZW50TGlzdGVuZXIpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
SU9TLm1tOgorICAgICAgICAoYXBwZW5kU3RyaW5nVG9SZXN1bHQpOgorICAgICAgICAoLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcl0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNz
aWJpbGl0eVZhbHVlSXNBdXRvZmlsbGVkXSk6CisKIDIwMTYtMDctMjggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRWxlbWVudC5nZXRB
dHRyaWJ1dGVOYW1lcygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkyMiw2ICs5MjIsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnByZXNz
KCkKICAgICAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKFByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgZG9jdW1lbnQpOwogICAgIAorICAgIC8vIEZJWE1FOiBkaXNwYXRj
aFRvdWNoRXZlbnQoKSBpcyBub3QgZGlzcGF0Y2hpbmcgdGhlIHRvdWNoIGV2ZW50IGNvcnJlY3Rs
eS4KICAgICBib29sIGRpc3BhdGNoZWRUb3VjaEV2ZW50ID0gZGlzcGF0Y2hUb3VjaEV2ZW50KCk7
CiAgICAgaWYgKCFkaXNwYXRjaGVkVG91Y2hFdmVudCkKICAgICAgICAgcHJlc3NFbGVtZW50LT5h
Y2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjAzODU0KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNDAsNiArMTA0MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBpbnQgYWNjZXNzaWJpbGl0eVBhc3N3b3JkRmllbGRMZW5ndGgoKTsKKyAgICBib29sIGhh
c1RvdWNoRXZlbnRMaXN0ZW5lcigpIGNvbnN0OwogI2VuZGlmCiAgICAgCiAgICAgLy8gYWxsb3dz
IGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3Ig
cGVyZm9ybQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCShyZXZpc2lvbiAyMDM4NTQpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuaCIKKyNpbXBvcnQgIkV2ZW50TmFtZXMuaCIKICNpbXBvcnQgIkhUTUxJbnB1dEVs
ZW1lbnQuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiV0FLVmlldy5oIgpA
QCAtODAsNyArODEsMjAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmls
aQogewogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9CisKK2Jvb2wgQWNjZXNzaWJpbGl0
eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QKK3sKKyAgICBOb2RlKiBub2Rl
ID0gdGhpcy0+bm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIAorICAgIGZvciAoOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CisgICAg
ICAgIGlmIChub2RlLT5oYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkudG91Y2hzdGFydEV2
ZW50KSB8fCBub2RlLT5oYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkudG91Y2hlbmRFdmVu
dCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiB9IC8vIFdlYkNvcmUKIAogI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExB
VEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0J
KHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05NDks
NiArOTQ5LDE0IEBAIHN0YXRpYyB2b2lkIGFwcGVuZFN0cmluZ1RvUmVzdWx0KE5TTXV0YWIKICAg
ICBbcmVzdWx0IGFwcGVuZFN0cmluZzpzdHJpbmddOwogfQogCistIChCT09MKV9hY2Nlc3NpYmls
aXR5SGFzVG91Y2hFdmVudExpc3RlbmVyCit7CisgICAgaWYgKCFbc2VsZiBfcHJlcGFyZUFjY2Vz
c2liaWxpdHlDYWxsXSkKKyAgICAgICAgcmV0dXJuIE5POworICAgIAorICAgIHJldHVybiBtX29i
amVjdC0+aGFzVG91Y2hFdmVudExpc3RlbmVyKCk7Cit9CisKIC0gKEJPT0wpX2FjY2Vzc2liaWxp
dHlWYWx1ZUlzQXV0b2ZpbGxlZAogewogICAgIGlmICghW3NlbGYgX3ByZXBhcmVBY2Nlc3NpYmls
aXR5Q2FsbF0pCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDM5NTQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0wNy0zMSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEFYOiBBZGQgYSBjaGVjayBmb3IgdG91Y2ggZXZlbnQgbGlzdGVuZXIg
b24gaU9TIGFjY2Vzc2liaWxpdHkgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50SU9TLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJp
YnV0ZVZhbHVlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lv
cy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUpOgorCiAyMDE2LTA3LTMwICBNYW51ZWwg
UmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQ6
IGFkZCBteXNlbGYgdG8gdGhlIHJldmlld2VycyBsaXN0LgpJbmRleDogVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHJldmlz
aW9uIDIwMzg1NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50SU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIC0gKE5TVUludGVn
ZXIpYWNjZXNzaWJpbGl0eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0
eUFSSUFDb2x1bW5JbmRleDsKIC0gKFVJQWNjZXNzaWJpbGl0eVRyYWl0cylfYXhDb250YWluZWRC
eUZpZWxkc2V0VHJhaXQ7CiAtIChpZClfYWNjZXNzaWJpbGl0eUZpZWxkc2V0QW5jZXN0b3I7Cist
IChCT09MKV9hY2Nlc3NpYmlsaXR5SGFzVG91Y2hFdmVudExpc3RlbmVyOwogCiAvLyBUZXh0TWFy
a2VyIHJlbGF0ZWQKIC0gKE5TQXJyYXkgKil0ZXh0TWFya2VyUmFuZ2U7CkBAIC02NjcsNiArNjY4
LDggQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudAogCiBib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRy
aWJ1dGUpCiB7CisgICAgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoYXR0cmlidXRl
LCAiQVhIYXNUb3VjaEV2ZW50TGlzdGVuZXIiKSkKKyAgICAgICAgcmV0dXJuIFttX2VsZW1lbnQg
X2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXJdOwogICAgIHJldHVybiBmYWxzZTsK
IH0KIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCShy
ZXZpc2lvbiAyMDM4NTQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2
ICs3Miw3IEBAIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFSb3dJbmRleDsKIC0gKE5T
VUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5JbmRleDsKIC0gKFVJQWNjZXNzaWJpbGl0
eVRyYWl0cylfYXhDb250YWluZWRCeUZpZWxkc2V0VHJhaXQ7CiAtIChpZClfYWNjZXNzaWJpbGl0
eUZpZWxkc2V0QW5jZXN0b3I7CistIChCT09MKV9hY2Nlc3NpYmlsaXR5SGFzVG91Y2hFdmVudExp
c3RlbmVyOwogCiAvLyBUZXh0TWFya2VyIHJlbGF0ZWQKIC0gKE5TQXJyYXkgKil0ZXh0TWFya2Vy
UmFuZ2U7CkBAIC0zNzksNiArMzgwLDggQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50PiBBY2NlcwogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVW
YWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCiB7CisgICAgaWYgKEpTU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcoYXR0cmlidXRlLCAiQVhIYXNUb3VjaEV2ZW50TGlzdGVuZXIiKSkKKyAgICAg
ICAgcmV0dXJuIFttX2VsZW1lbnQgX2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXJd
OwogICAgIHJldHVybiBmYWxzZTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzODU0KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTYtMDctMzEgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogQWRk
IGEgY2hlY2sgZm9yIHRvdWNoIGV2ZW50IGxpc3RlbmVyIG9uIGlPUyBhY2Nlc3NpYmlsaXR5IG9i
amVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
Mzg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hh
cy10b3VjaC1ldmVudC1saXN0ZW5lci5odG1sOiBBZGRlZC4KKwogMjAxNi0wNy0yOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFbGVt
ZW50LmdldEF0dHJpYnV0ZU5hbWVzKCkKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW9zLXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9oYXMtdG91
Y2gtZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlzdGVuZXIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKK2J1dHRvbgorbGlu
aworTWFrZXMgc3VyZSB0aGF0IHdlIGNhbiBjaGVjayBpZiBhbiBBWE9iamVjdCBoYXMgdG91Y2gg
ZXZlbnQgbGlzdGVuZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ1
dHRvbi5ib29sQXR0cmlidXRlVmFsdWUoJ0FYSGFzVG91Y2hFdmVudExpc3RlbmVyJykgaXMgdHJ1
ZQorUEFTUyBsaW5rLmJvb2xBdHRyaWJ1dGVWYWx1ZSgnQVhIYXNUb3VjaEV2ZW50TGlzdGVuZXIn
KSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10
b3VjaC1ldmVudC1saXN0ZW5lci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvaW9zLXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlzdGVuZXIuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaGFz
LXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlv
biBjbGljaygpIHt9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgcm9sZT0i
YnV0dG9uIiBpZD0iYnV0dG9uIiBvbnRvdWNoc3RhcnQ9ImNoaWNrKCk7IiI+YnV0dG9uPC9kaXY+
Cis8ZGl2IHJvbGU9ImxpbmsiIG9udG91Y2hlbmQ9ImNoaWNrKCk7Ij48ZGl2IGlkPSJsaW5rIj5s
aW5rPC9kaXY+PC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiTWFrZXMgc3VyZSB0
aGF0IHdlIGNhbiBjaGVjayBpZiBhbiBBWE9iamVjdCBoYXMgdG91Y2ggZXZlbnQgbGlzdGVuZXIu
Iik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAg
IHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoImJ1dHRvbiIpOworICAgICAgICB2YXIgbGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgibGluayIpOworICAgICAgICBzaG91bGRCZVRydWUoImJ1
dHRvbi5ib29sQXR0cmlidXRlVmFsdWUoJ0FYSGFzVG91Y2hFdmVudExpc3RlbmVyJykiKTsKKyAg
ICAgICAgc2hvdWxkQmVUcnVlKCJsaW5rLmJvb2xBdHRyaWJ1dGVWYWx1ZSgnQVhIYXNUb3VjaEV2
ZW50TGlzdGVuZXInKSIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284967</attachid>
            <date>2016-07-31 11:40:37 -0700</date>
            <delta_ts>2016-07-31 13:04:12 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>9566</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA3LTMxICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFkZCBhIGNoZWNrIGZvciB0b3Vj
aCBldmVudCBsaXN0ZW5lciBvbiBpT1MgYWNjZXNzaWJpbGl0eSBvYmplY3QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGRpc3BhdGNoVG91Y2hFdmVudCgp
IGlzIG5vdCB3b3JraW5nIGNvcnJlY3RseSB3aXRoaW4gQVhQcmVzcygpIHNvbWV0aW1lcy4gTmVl
ZCB0byAKKyAgICAgICAgaW52ZXN0aWdhdGUgaXQgbW9yZSBpbiB0aGUgZnV0dXJlLiBOb3csIGFk
ZGluZyBhIGNoZWNrIGZvciB0aGUgdG91Y2ggZXZlbnQgbGlzdGVuZXIKKyAgICAgICAgb24gdGhl
IG9iamVjdCdzIG5vZGUgc28gdGhhdCBpT1MgY2FuIGhhbmRsZSBkaXNwYXRjaGluZyB0aGUgdG91
Y2ggZXZlbnQgaW5zdGVhZC4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9z
L0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNUb3VjaEV2ZW50TGlzdGVuZXIpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
SU9TLm1tOgorICAgICAgICAoYXBwZW5kU3RyaW5nVG9SZXN1bHQpOgorICAgICAgICAoLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcl0pOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfYWNjZXNz
aWJpbGl0eVZhbHVlSXNBdXRvZmlsbGVkXSk6CisKIDIwMTYtMDctMjggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRWxlbWVudC5nZXRB
dHRyaWJ1dGVOYW1lcygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDIwMzg1NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkyMiw2ICs5MjIsNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnByZXNz
KCkKICAgICAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKFByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgZG9jdW1lbnQpOwogICAgIAorICAgIC8vIEZJWE1FOiBkaXNwYXRj
aFRvdWNoRXZlbnQoKSBpcyBub3QgZGlzcGF0Y2hpbmcgdGhlIHRvdWNoIGV2ZW50IGNvcnJlY3Rs
eS4KICAgICBib29sIGRpc3BhdGNoZWRUb3VjaEV2ZW50ID0gZGlzcGF0Y2hUb3VjaEV2ZW50KCk7
CiAgICAgaWYgKCFkaXNwYXRjaGVkVG91Y2hFdmVudCkKICAgICAgICAgcHJlc3NFbGVtZW50LT5h
Y2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMjAzODU0KQorKysgU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNDAsNiArMTA0MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBpbnQgYWNjZXNzaWJpbGl0eVBhc3N3b3JkRmllbGRMZW5ndGgoKTsKKyAgICBib29sIGhh
c1RvdWNoRXZlbnRMaXN0ZW5lcigpIGNvbnN0OwogI2VuZGlmCiAgICAgCiAgICAgLy8gYWxsb3dz
IGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3Ig
cGVyZm9ybQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCShyZXZpc2lvbiAyMDM4NTQpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuaCIKKyNpbXBvcnQgIkV2ZW50TmFtZXMuaCIKICNpbXBvcnQgIkhUTUxJbnB1dEVs
ZW1lbnQuaCIKICNpbXBvcnQgIlJlbmRlck9iamVjdC5oIgogI2ltcG9ydCAiV0FLVmlldy5oIgpA
QCAtODAsNyArODEsMTYgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmls
aQogewogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9Ci0gICAgCisKK2Jvb2wgQWNjZXNz
aWJpbGl0eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QKK3sKKyAgICBmb3Ig
KE5vZGUqIG5vZGUgPSB0aGlzLT5ub2RlKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2Rl
KCkpIHsKKyAgICAgICAgaWYgKG5vZGUtPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50
b3VjaHN0YXJ0RXZlbnQpIHx8IG5vZGUtPmhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50
b3VjaGVuZEV2ZW50KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKIH0gLy8gV2ViQ29yZQogCiAjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklM
SVRZKSAmJiBQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcklPUy5tbQkocmV2aXNpb24gMjAzODU0KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTk0OSw2ICs5NDksMTQgQEAgc3RhdGljIHZvaWQgYXBwZW5kU3RyaW5nVG9SZXN1bHQo
TlNNdXRhYgogICAgIFtyZXN1bHQgYXBwZW5kU3RyaW5nOnN0cmluZ107CiB9CiAKKy0gKEJPT0wp
X2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXIKK3sKKyAgICBpZiAoIVtzZWxmIF9w
cmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxdKQorICAgICAgICByZXR1cm4gTk87CisgICAgCisgICAg
cmV0dXJuIG1fb2JqZWN0LT5oYXNUb3VjaEV2ZW50TGlzdGVuZXIoKTsKK30KKwogLSAoQk9PTClf
YWNjZXNzaWJpbGl0eVZhbHVlSXNBdXRvZmlsbGVkCiB7CiAgICAgaWYgKCFbc2VsZiBfcHJlcGFy
ZUFjY2Vzc2liaWxpdHlDYWxsXSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzk1NCkKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTMxICBOYW4gV2FuZyAgPG5f
d2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEFkZCBhIGNoZWNrIGZvciB0b3VjaCBldmVu
dCBsaXN0ZW5lciBvbiBpT1MgYWNjZXNzaWJpbGl0eSBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpib29sQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZSk6CisKIDIwMTYtMDct
MzAgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZDogYWRkIG15c2VsZiB0byB0aGUgcmV2aWV3ZXJzIGxpc3QuCkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElP
Uy5tbQkocmV2aXNpb24gMjAzODU0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAg
LSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJvd0luZGV4OwogLSAoTlNVSW50ZWdlcilh
Y2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9h
eENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRB
bmNlc3RvcjsKKy0gKEJPT0wpX2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CiAK
IC8vIFRleHRNYXJrZXIgcmVsYXRlZAogLSAoTlNBcnJheSAqKXRleHRNYXJrZXJSYW5nZTsKQEAg
LTY2Nyw2ICs2NjgsOCBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50
CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZhbHVlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkKIHsKKyAgICBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmlu
ZyhhdHRyaWJ1dGUsICJBWEhhc1RvdWNoRXZlbnRMaXN0ZW5lciIpKQorICAgICAgICByZXR1cm4g
W21fZWxlbWVudCBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0ZW5lcl07CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRJT1MubW0JKHJldmlzaW9uIDIwMzg1NCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTcyLDYgKzcyLDcgQEAgLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJvd0lu
ZGV4OwogLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAoVUlB
Y2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9h
Y2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKKy0gKEJPT0wpX2FjY2Vzc2liaWxpdHlIYXNU
b3VjaEV2ZW50TGlzdGVuZXI7CiAKIC8vIFRleHRNYXJrZXIgcmVsYXRlZAogLSAoTlNBcnJheSAq
KXRleHRNYXJrZXJSYW5nZTsKQEAgLTM3OSw2ICszODAsOCBAQCBQYXNzUmVmUHRyPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+IEFjY2VzCiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9v
bEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKIHsKKyAgICBpZiAoSlNTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhhdHRyaWJ1dGUsICJBWEhhc1RvdWNoRXZlbnRMaXN0ZW5l
ciIpKQorICAgICAgICByZXR1cm4gW21fZWxlbWVudCBfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZl
bnRMaXN0ZW5lcl07CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MDM4NTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNi0wNy0zMSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEFYOiBBZGQgYSBjaGVjayBmb3IgdG91Y2ggZXZlbnQgbGlzdGVuZXIgb24gaU9TIGFjY2Vz
c2liaWxpdHkgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjAzODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlz
dGVuZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1z
aW11bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA3
LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIEVsZW1lbnQuZ2V0QXR0cmlidXRlTmFtZXMoKQpJbmRleDogTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5lci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1ldmVu
dC1saXN0ZW5lci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAor
YnV0dG9uCitsaW5rCitNYWtlcyBzdXJlIHRoYXQgd2UgY2FuIGNoZWNrIGlmIGFuIEFYT2JqZWN0
IGhhcyB0b3VjaCBldmVudCBsaXN0ZW5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgYnV0dG9uLmJvb2xBdHRyaWJ1dGVWYWx1ZSgnQVhIYXNUb3VjaEV2ZW50TGlzdGVu
ZXInKSBpcyB0cnVlCitQQVNTIGxpbmsuYm9vbEF0dHJpYnV0ZVZhbHVlKCdBWEhhc1RvdWNoRXZl
bnRMaXN0ZW5lcicpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvaGFzLXRvdWNoLWV2ZW50LWxpc3RlbmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2hhcy10b3VjaC1ldmVudC1saXN0ZW5l
ci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNp
bXVsYXRvci9oYXMtdG91Y2gtZXZlbnQtbGlzdGVuZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZh
bHNlOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKK2Z1bmN0aW9uIGNsaWNrKCkge30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiByb2xlPSJidXR0b24iIGlkPSJidXR0b24iIG9udG91Y2hzdGFydD0iY2hpY2soKTsiIj5i
dXR0b248L2Rpdj4KKzxkaXYgcm9sZT0ibGluayIgb250b3VjaGVuZD0iY2hpY2soKTsiPjxkaXYg
aWQ9ImxpbmsiPmxpbms8L2Rpdj48L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJN
YWtlcyBzdXJlIHRoYXQgd2UgY2FuIGNoZWNrIGlmIGFuIEFYT2JqZWN0IGhhcyB0b3VjaCBldmVu
dCBsaXN0ZW5lci4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKKyAgICAgICAgdmFyIGJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgICAgICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJsaW5rIik7CisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiYnV0dG9uLmJvb2xBdHRyaWJ1dGVWYWx1ZSgnQVhIYXNUb3VjaEV2ZW50TGlzdGVu
ZXInKSIpOworICAgICAgICBzaG91bGRCZVRydWUoImxpbmsuYm9vbEF0dHJpYnV0ZVZhbHVlKCdB
WEhhc1RvdWNoRXZlbnRMaXN0ZW5lcicpIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>