<?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>209576</bug_id>
          
          <creation_ts>2020-03-25 18:57:15 -0700</creation_ts>
          <short_desc>[WebAccessibilityObjectWrapper remoteAccessibilityParentObject should be cached to avoid hitting the main thread often.</short_desc>
          <delta_ts>2020-03-30 13:08: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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1634153</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-25 18:57:15 -0700</bug_when>
    <thetext>[WebAccessibilityObjectWrapper remoteAccessibilityParentObject should be cached to avoid hitting the main thread often.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634166</commentid>
    <comment_count>1</comment_count>
      <attachid>394568</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-25 19:09:21 -0700</bug_when>
    <thetext>Created attachment 394568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634187</commentid>
    <comment_count>2</comment_count>
      <attachid>394568</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-03-25 19:58:53 -0700</bug_when>
    <thetext>Comment on attachment 394568
Patch

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

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:906
&gt; +    RetainPtr&lt;RemoteAXObjectRef&gt; m_remoteParentObject;

should this be a WeakPtr so it goes away on its own?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634715</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-26 20:00:38 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #2)
&gt; Comment on attachment 394568 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394568&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:906
&gt; &gt; +    RetainPtr&lt;RemoteAXObjectRef&gt; m_remoteParentObject;
&gt; 
&gt; should this be a WeakPtr so it goes away on its own?

RemoteAXObjectRef is an id. WeakPtr does not work with id which is the same as void *. I believe the only way to hold a reference to this id is with RetainPtr. I don&apos;t know however if there is another way to do the equivalent to @property (weak) id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634766</commentid>
    <comment_count>4</comment_count>
      <attachid>394568</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-03-27 00:56:50 -0700</bug_when>
    <thetext>Comment on attachment 394568
Patch

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

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:381
&gt; +    m_remoteParentObject = object.remoteParentObject();

I think we only want to do this for the top level scroll view... see logic in

scrollViewParent

Might be good to store it in the attribute hash so that we don&apos;t have to burn an ivar memory for every isolated object, when only 1 of them needs it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635242</commentid>
    <comment_count>5</comment_count>
      <attachid>394844</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-28 15:28:40 -0700</bug_when>
    <thetext>Created attachment 394844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635243</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-03-28 15:33:02 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #4)
&gt; Comment on attachment 394568 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394568&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:381
&gt; &gt; +    m_remoteParentObject = object.remoteParentObject();
&gt; 
&gt; I think we only want to do this for the top level scroll view... see logic in
&gt; 
&gt; scrollViewParent
&gt; 
&gt; Might be good to store it in the attribute hash so that we don&apos;t have to
&gt; burn an ivar memory for every isolated object, when only 1 of them needs it

Cached it in the variant along with all other properties. Also moved the PlatformWidget cached value to the Variant as well.

Cache it only for scroll views, however this property can be requested for all objects, so had to return it for all objects as you see in AXIsolatedObjectMac.mm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635664</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-30 13:07:17 -0700</bug_when>
    <thetext>Committed r259220: &lt;https://trac.webkit.org/changeset/259220&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394844.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635665</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-30 13:08:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/61069499&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394568</attachid>
            <date>2020-03-25 19:09:21 -0700</date>
            <delta_ts>2020-03-28 15:28:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209576-20200325220920.patch</filename>
            <type>text/plain</type>
            <size>7751</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NmMjQzMDA5YzY3YzEx
MmRmYWM4OTI2NTdhZmY3ZTViNjdkMzEzMy4uMzQxYWE2NzE0ZGNmNDg3ZTdjYjgyMmI5ODM2NjJk
YjBhYWYxMDEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAzLTI1ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgcmVtb3RlQWNjZXNzaWJpbGl0eVBhcmVudE9iamVjdF0gc2hv
dWxkIGJlIGNhY2hlZCB0byBhdm9pZCBoaXR0aW5nIHRoZSBtYWluIHRocmVhZCBvZnRlbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTU3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciByZW1vdGVBY2Nlc3NpYmlsaXR5UGFyZW50T2JqZWN0XSBpcwor
ICAgICAgICBjYWxsZWQgdmVyeSBvZnRlbiBhbmQgdGh1cyBpcyBhIHBlcmZvcm1hbmNlIGhpdCBp
biBpc29sYXRlZCB0cmVlIG1vZGUKKyAgICAgICAgc2luY2UgaXQgaGFzIHRvIGJlIGRpc3BhdGNo
ZWQgdG8gdGhlIG1haW4gdGhyZWFkLiBUaGlzIGNoYW5nZSBjYWNoZXMKKyAgICAgICAgdGhpcyB2
YWx1ZSBpbiBBWElzb2xhdGVkT2JqZWN0LCBzbyBubyBuZWVkIHRvIGRpc3BhdGNoIHRvIHRoZSBt
YWluCisgICAgICAgIHRocmVhZCBhbnkgbG9uZ2VyLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3Q6OnJlbW90ZVBhcmVudE9iamVjdCBjb25zdCk6IEFjdHVhbCBpbXBsZW1lbnRhdGlv
biBvZiB0aGlzIG1laG9kLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oOiBFeHBvc2VzIHJlbW90ZVBhcmVudE9iamVjdC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKTogQ2FjaGVzIHJlbW90
ZVBhcmVudE9iamVjdC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIHJlbW90ZUFjY2Vzc2liaWxpdHlQYXJlbnRPYmplY3RdKTogTm8gbmVlZCB0byBk
aXNwYXRjaCB0byBtYWluIHRocmVhZC4KKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIgc2Nyb2xsVmlld1BhcmVudF0pOiBVc2VzIHRoZSBBWENvcmVPYmplY3QgbWV0aG9k
LgorCiAyMDIwLTAzLTIwICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4K
IAogICAgICAgICBJc29sYXRlZCB0cmVlIHVwZGF0ZXMgbXVzdCBoYXBwZW4gYWZ0ZXIgQVhPYmpl
Y3QgaGFzIGZpbmlzaGVkIGhhbmRsaW5nIG5vdGlmaWNhdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA0NWMw
YjA3MGZkZDgwZTgwOGQxMzBlMWMxN2M3YjI3YmZkMjBkNzY3Li41MWNhNGNmMTQ1NjZmNmE0YzIy
ZWE2NmJkYzc4NTY5MGMyMjhiNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTE3MDEsNyArMTcwMSwxOCBAQCBT
Y3JvbGxWaWV3KiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzY3JvbGxWaWV3QW5jZXN0b3IoKSBjb25z
dAogICAgIAogICAgIHJldHVybiBudWxscHRyOwogfQotICAgIAorCisjaWYgUExBVEZPUk0oQ09D
T0EpCitSZW1vdGVBWE9iamVjdFJlZiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZW1vdGVQYXJlbnRP
YmplY3QoKSBjb25zdAoreworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50
KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCkpCisgICAg
ICAgICAgICByZXR1cm4gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLmFjY2Vzc2liaWxpdHlSZW1v
dGVPYmplY3QoKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZW5kaWYKKwogRG9j
dW1lbnQqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRvY3VtZW50KCkgY29uc3QKIHsKICAgICBGcmFt
ZVZpZXcqIGZyYW1lVmlldyA9IGRvY3VtZW50RnJhbWVWaWV3KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDU4OTMxYmM2
OWRiZmY1ZjZmM2MwOGM5NTZlMjk5MTQ3YjZmM2VmZDMuLmUwYWUyYmI3NDEzZjJmNTRhNjlkYjJh
NzM2ODFhNDhiZmM2MzRjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC00NDMsNiArNDQzLDkgQEAgcHVibGljOgogICAg
IFN0cmluZyBhY3Rpb25WZXJiKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgV2lkZ2V0KiB3aWRnZXQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgUGxhdGZvcm1XaWRnZXQg
cGxhdGZvcm1XaWRnZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9CisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgUmVtb3RlQVhPYmplY3RSZWYgcmVtb3RlUGFyZW50T2JqZWN0
KCkgY29uc3Qgb3ZlcnJpZGU7CisjZW5kaWYKICAgICBXaWRnZXQqIHdpZGdldEZvckF0dGFjaG1l
bnRWaWV3KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIFBhZ2UqIHBh
Z2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdCBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggOGY1NTcwOGZhMTc0YTI5NzJkNmYyYTIz
YmI2YWI4ZmZkYThkYWMzNi4uNGU5YjAzNDA4OTMzNGIxZDc3NzRjYmNhODBkYjBlODQ4YTY1NDYx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUg
IlJhbmdlLmgiCkBAIC04NjgsNiArODY5LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5n
IGFjdGlvblZlcmIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBXaWRnZXQqIHdpZGdldCgpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIFBsYXRmb3JtV2lkZ2V0IHBsYXRmb3JtV2lkZ2V0KCkgY29u
c3QgPSAwOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZpcnR1YWwgUmVtb3RlQVhPYmplY3RS
ZWYgcmVtb3RlUGFyZW50T2JqZWN0KCkgY29uc3QgPSAwOworI2VuZGlmCiAgICAgdmlydHVhbCBX
aWRnZXQqIHdpZGdldEZvckF0dGFjaG1lbnRWaWV3KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
UGFnZSogcGFnZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIERvY3VtZW50KiBkb2N1bWVudCgp
IGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXggYTRkMzFkNWZjODRl
ODM4M2FlZmQ5NTM0MmZlNGJjNTdhMjczMDA2Yi4uNzFhODA2YjZkNWMxZTFmM2Q1YjMyZGFkZmE4
YWFkMzIwNzFlODNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTM3OCw2ICsz
NzgsOCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFY
Q29yZU9iamVjdCYgb2JqZWN0LCBib29sIGlzUm9vdAogICAgIGlmIChvYmplY3QuaXNTY3JvbGxW
aWV3KCkpCiAgICAgICAgIG1fcGxhdGZvcm1XaWRnZXQgPSBvYmplY3QucGxhdGZvcm1XaWRnZXQo
KTsKIAorICAgIG1fcmVtb3RlUGFyZW50T2JqZWN0ID0gb2JqZWN0LnJlbW90ZVBhcmVudE9iamVj
dCgpOworCiAgICAgaWYgKGlzUm9vdCkgewogICAgICAgICBzZXRPYmplY3RQcm9wZXJ0eShBWFBy
b3BlcnR5TmFtZTo6V2ViQXJlYSwgb2JqZWN0LndlYkFyZWFPYmplY3QoKSk7CiAgICAgICAgIHNl
dFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
LCBvYmplY3QucHJldmVudEtleWJvYXJkRE9NRXZlbnREaXNwYXRjaCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRPYmplY3QuaAppbmRleCBmMTMxODEzMTk4MWFlZDEzMmU3MzU3NTc5ZDUxOWY0MmU4NWQ2MzVj
Li42ZWM5OGRjYWQ2MTgyNjJmOWI0YzNlY2U0Y2ViZjBiZTQ5MWQ4YzEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZE9iamVjdC5oCkBAIC04MjIsNiArODIyLDkgQEAgcHJpdmF0ZToKICAgICBUZXh0SXRlcmF0
b3JCZWhhdmlvciB0ZXh0SXRlcmF0b3JCZWhhdmlvckZvclRleHRSYW5nZSgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIFdpZGdldCogd2lkZ2V0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1X
aWRnZXQgcGxhdGZvcm1XaWRnZXQoKSBjb25zdCBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICBSZW1vdGVBWE9iamVjdFJlZiByZW1vdGVQYXJlbnRPYmplY3QoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX3JlbW90ZVBhcmVudE9iamVjdC5nZXQoKTsgfQorI2VuZGlmCiAgICAg
V2lkZ2V0KiB3aWRnZXRGb3JBdHRhY2htZW50VmlldygpIGNvbnN0IG92ZXJyaWRlOwogICAgIFBh
Z2UqIHBhZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTkwMCw2ICs5MDMsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgUmV0YWluUHRyPE5TVmlldz4gbV9wbGF0Zm9ybVdpZGdldDsKKyAgICBSZXRh
aW5QdHI8UmVtb3RlQVhPYmplY3RSZWY+IG1fcmVtb3RlUGFyZW50T2JqZWN0OwogI2Vsc2UKICAg
ICBQbGF0Zm9ybVdpZGdldCBtX3BsYXRmb3JtV2lkZ2V0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCmluZGV4IDg1OTJmMDcwNzgzZGY1YWQxODM4Mjc5NGU1
YWU5YWY5OGMwZWYyYjMuLjdmNWI2ZGU5OTZjNzI5MGE1ZjNkYTNmZDYxOWE1ZWM5NzY0MzI0OTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCkBAIC0xODczLDE4ICsx
ODczLDggQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAKIC0gKGlkKXJl
bW90ZUFjY2Vzc2liaWxpdHlQYXJlbnRPYmplY3QKIHsKLSAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlkPihbcHJvdGVjdGVk
U2VsZiA9IHJldGFpblB0cihzZWxmKV0gKCkgLT4gUmV0YWluUHRyPGlkPiB7Ci0gICAgICAgIGF1
dG8qIGJhY2tpbmdPYmplY3QgPSBwcm90ZWN0ZWRTZWxmLmdldCgpLmF4QmFja2luZ09iamVjdDsK
LSAgICAgICAgaWYgKCFiYWNraW5nT2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuIG5pbDsKLQot
ICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBiYWNraW5nT2JqZWN0LT5kb2N1bWVudCgpKSB7
Ci0gICAgICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLmFjY2Vzc2liaWxpdHlS
ZW1vdGVPYmplY3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgfSk7
CisgICAgYXV0byogYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0OworICAgIHJl
dHVybiBiYWNraW5nT2JqZWN0ID8gYmFja2luZ09iamVjdC0+cmVtb3RlUGFyZW50T2JqZWN0KCkg
OiBuaWw7CiB9CiAKIHN0YXRpYyB2b2lkIGNvbnZlcnRUb1ZlY3RvcihOU0FycmF5KiBhcnJheSwg
QWNjZXNzaWJpbGl0eU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiB2ZWN0b3Ip
CkBAIC0yMjgxLDcgKzIyNzEsNyBAQCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
ICAgICBpZiAoYXV0byBwbGF0Zm9ybVdpZGdldCA9IGJhY2tpbmdPYmplY3QtPnBsYXRmb3JtV2lk
Z2V0KCkpCiAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlVbmlnbm9yZWRBbmNlc3Rvcihw
bGF0Zm9ybVdpZGdldCk7CiAKLSAgICByZXR1cm4gW3NlbGYgcmVtb3RlQWNjZXNzaWJpbGl0eVBh
cmVudE9iamVjdF07CisgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPnJlbW90ZVBhcmVudE9iamVj
dCgpOwogfQogCiAtIChpZCl3aW5kb3dFbGVtZW50OihOU1N0cmluZyopYXR0cmlidXRlTmFtZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394844</attachid>
            <date>2020-03-28 15:28:40 -0700</date>
            <delta_ts>2020-03-30 13:07:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209576-20200328182838.patch</filename>
            <type>text/plain</type>
            <size>16753</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NmMjQzMDA5YzY3YzEx
MmRmYWM4OTI2NTdhZmY3ZTViNjdkMzEzMy4uYWM3YTIzMmU4MTBiODY4N2Y3ZGY0OWUxODI2MGRm
Yzg1NjIzOTUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAzLTI4ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIgcmVtb3RlQWNjZXNzaWJpbGl0eVBhcmVudE9iamVjdCBzaG91
bGQgYmUgY2FjaGVkIHRvIGF2b2lkIGhpdHRpbmcgdGhlIG1haW4gdGhyZWFkIG9mdGVuLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTc2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyIHJlbW90ZUFjY2Vzc2liaWxpdHlQYXJlbnRPYmplY3RdIGlzCisg
ICAgICAgIGNhbGxlZCB2ZXJ5IG9mdGVuIGFuZCB0aHVzIGlzIGEgcGVyZm9ybWFuY2UgaGl0IGlu
IGlzb2xhdGVkIHRyZWUgbW9kZQorICAgICAgICBzaW5jZSBpdCBoYXMgdG8gYmUgZGlzcGF0Y2hl
ZCB0byB0aGUgbWFpbiB0aHJlYWQuIFRoaXMgY2hhbmdlIGNhY2hlcworICAgICAgICB0aGlzIHZh
bHVlIGluIEFYSXNvbGF0ZWRPYmplY3QsIHNvIG5vIG5lZWQgdG8gZGlzcGF0Y2ggdG8gdGhlIG1h
aW4KKyAgICAgICAgdGhyZWFkIGFueSBsb25nZXIuCisgICAgICAgIEluIGFkZGl0aW9uLCB0aGUg
UGxhdGZvcm1XaWRnZXQgdGhhdCB3YXMgY2FjaGVkIGluIGEgbWVtYmVyIHZhcmlhYmxlLAorICAg
ICAgICBpcyBub3cgY2FjaGVkIGluIHRoZSBhdHRyaWJ1dGUgbWFwIGFzIHdlbGwgYXMgdGhlIHJl
bW90ZVBhcmVudE9iamVjdC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpyZW1v
dGVQYXJlbnRPYmplY3QgY29uc3QpOiBBY3R1YWwgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBtZXRo
b2QuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpwbGF0Zm9ybVdpZGdldCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6cHJv
cGVydHlWYWx1ZSBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
bWFjL0FYSXNvbGF0ZWRPYmplY3RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0OjpyZW1vdGVQYXJlbnRPYmplY3QgY29uc3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW1vdGVBY2Nlc3NpYmlsaXR5UGFyZW50T2Jq
ZWN0XSk6IE5vIG5lZWQgdG8gZGlzcGF0Y2ggdG8gbWFpbiB0aHJlYWQuCisgICAgICAgICgtW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHNjcm9sbFZpZXdQYXJlbnRdKToKKwogMjAyMC0w
My0yMCAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAg
SXNvbGF0ZWQgdHJlZSB1cGRhdGVzIG11c3QgaGFwcGVuIGFmdGVyIEFYT2JqZWN0IGhhcyBmaW5p
c2hlZCBoYW5kbGluZyBub3RpZmljYXRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNDVjMGIwNzBmZGQ4MGU4
MDhkMTMwZTFjMTdjN2IyN2JmZDIwZDc2Ny4uNTFjYTRjZjE0NTY2ZjZhNGMyMmVhNjZiZGM3ODU2
OTBjMjI4YjRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0xNzAxLDcgKzE3MDEsMTggQEAgU2Nyb2xsVmlldyog
QWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVmlld0FuY2VzdG9yKCkgY29uc3QKICAgICAKICAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KLSAgICAKKworI2lmIFBMQVRGT1JNKENPQ09BKQorUmVtb3Rl
QVhPYmplY3RSZWYgQWNjZXNzaWJpbGl0eU9iamVjdDo6cmVtb3RlUGFyZW50T2JqZWN0KCkgY29u
c3QKK3sKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAg
ICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpKQorICAgICAgICAgICAgcmV0
dXJuIGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5hY2Nlc3NpYmlsaXR5UmVtb3RlT2JqZWN0KCk7
CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKIERvY3VtZW50KiBBY2Nl
c3NpYmlsaXR5T2JqZWN0Ojpkb2N1bWVudCgpIGNvbnN0CiB7CiAgICAgRnJhbWVWaWV3KiBmcmFt
ZVZpZXcgPSBkb2N1bWVudEZyYW1lVmlldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA1ODkzMWJjNjlkYmZmNWY2ZjNj
MDhjOTU2ZTI5OTE0N2I2ZjNlZmQzLi4xYjFkN2RmNThkMTMzNGYxOWRjYjQ3YWZlZDAwYTA3ZGNh
ODg1MzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaApAQCAtOTcsOSArOTcsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjY2Vz
c2liaWxpdHlTVkdSb290KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBi
b29sIGlzQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFibGVJbnN0YW5jZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVz
c0luZGljYXRvckluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLQog
ICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvckluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBi
b29sIGlzQVhJc29sYXRlZE9iamVjdEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KIAogICAgIGJvb2wgaXNBdHRhY2htZW50RWxlbWVudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc0hlYWRpbmcoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBmYWxzZTsgfQpAQCAtNDQzLDYgKzQ0Myw5IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
YWN0aW9uVmVyYigpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdpZGdldCogd2lkZ2V0KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIFBsYXRmb3JtV2lkZ2V0IHBsYXRmb3Jt
V2lkZ2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQorI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIFJlbW90ZUFYT2JqZWN0UmVmIHJlbW90ZVBhcmVudE9iamVjdCgpIGNvbnN0
IG92ZXJyaWRlOworI2VuZGlmCiAgICAgV2lkZ2V0KiB3aWRnZXRGb3JBdHRhY2htZW50Vmlldygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICBQYWdlKiBwYWdlKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oCmluZGV4IDhmNTU3MDhmYTE3NGEyOTcyZDZmMmEyM2JiNmFiOGZm
ZGE4ZGFjMzYuLmQyN2RmMmM5ZTRjMTcyMjg1Y2FmMTlhY2Y4ODRmNzlmZDljYzJkYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdEludGVyZmFjZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudC5oIgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlICJSYW5nZS5o
IgpAQCAtNDkwLDYgKzQ5MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGFibGVJbnN0YW5jZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY2Nl
c3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3JJbnN0YW5jZSgpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNBWElzb2xhdGVkT2JqZWN0SW5zdGFuY2UoKSBjb25zdCA9IDA7
CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50RWxlbWVudCgpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNIZWFkaW5nKCkgY29uc3QgPSAwOwpAQCAtODY4LDYgKzg3MCw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBhY3Rpb25WZXJiKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgV2lkZ2V0KiB3aWRnZXQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBQbGF0Zm9y
bVdpZGdldCBwbGF0Zm9ybVdpZGdldCgpIGNvbnN0ID0gMDsKKyNpZiBQTEFURk9STShDT0NPQSkK
KyAgICB2aXJ0dWFsIFJlbW90ZUFYT2JqZWN0UmVmIHJlbW90ZVBhcmVudE9iamVjdCgpIGNvbnN0
ID0gMDsKKyNlbmRpZgogICAgIHZpcnR1YWwgV2lkZ2V0KiB3aWRnZXRGb3JBdHRhY2htZW50Vmll
dygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFBhZ2UqIHBhZ2UoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRP
YmplY3QuY3BwCmluZGV4IGE0ZDMxZDVmYzg0ZTgzODNhZWZkOTUzNDJmZTRiYzU3YTI3MzAwNmIu
LmM2MzdmZjhjY2YxNzk2MWYzMjZlZDc3NjA4NDc4MWVmOTQ3Yjk3NmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNv
bGF0ZWRPYmplY3QuY3BwCkBAIC0xNDcsOCArMTQ3LDggQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0
Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jv
b3QKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6VmFsdWVGb3JSYW5nZSwgb2JqZWN0
LnZhbHVlRm9yUmFuZ2UoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Ok1heFZh
bHVlRm9yUmFuZ2UsIG9iamVjdC5tYXhWYWx1ZUZvclJhbmdlKCkpOwogICAgIHNldFByb3BlcnR5
KEFYUHJvcGVydHlOYW1lOjpNaW5WYWx1ZUZvclJhbmdlLCBvYmplY3QubWluVmFsdWVGb3JSYW5n
ZSgpKTsKLSAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U2VsZWN0ZWRSYWRpb0J1dHRv
biwgb2JqZWN0LnNlbGVjdGVkUmFkaW9CdXR0b24oKSk7Ci0gICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OlNlbGVjdGVkVGFiSXRlbSwgb2JqZWN0LnNlbGVjdGVkVGFiSXRlbSgpKTsKKyAg
ICBzZXRPYmplY3RQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U2VsZWN0ZWRSYWRpb0J1dHRvbiwg
b2JqZWN0LnNlbGVjdGVkUmFkaW9CdXR0b24oKSk7CisgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQ
cm9wZXJ0eU5hbWU6OlNlbGVjdGVkVGFiSXRlbSwgb2JqZWN0LnNlbGVjdGVkVGFiSXRlbSgpKTsK
ICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6TGF5b3V0Q291bnQsIG9iamVjdC5sYXlv
dXRDb3VudCgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6RXN0aW1hdGVkTG9h
ZGluZ1Byb2dyZXNzLCBvYmplY3QuZXN0aW1hdGVkTG9hZGluZ1Byb2dyZXNzKCkpOwogICAgIHNl
dFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpTdXBwb3J0c0FSSUFPd25zLCBvYmplY3Quc3VwcG9y
dHNBUklBT3ducygpKTsKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6
OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBib29sIGlzUm9v
dAogICAgICAgICBzZXRPYmplY3RWZWN0b3JQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q29sdW1u
SGVhZGVycywgb2JqZWN0LmNvbHVtbkhlYWRlcnMoKSk7CiAgICAgICAgIHNldE9iamVjdFZlY3Rv
clByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSb3dIZWFkZXJzLCBvYmplY3Qucm93SGVhZGVycygp
KTsKICAgICAgICAgc2V0T2JqZWN0VmVjdG9yUHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlZpc2li
bGVSb3dzLCBvYmplY3QudmlzaWJsZVJvd3MoKSk7Ci0gICAgICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpIZWFkZXJDb250YWluZXIsIG9iamVjdC5oZWFkZXJDb250YWluZXIoKSk7Cisg
ICAgICAgIHNldE9iamVjdFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIZWFkZXJDb250YWluZXIs
IG9iamVjdC5oZWFkZXJDb250YWluZXIoKSk7CiAgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpBWENvbHVtbkNvdW50LCBvYmplY3QuYXhDb2x1bW5Db3VudCgpKTsKICAgICAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFYUm93Q291bnQsIG9iamVjdC5heFJvd0NvdW50
KCkpOwogICAgIH0KQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6Omlu
aXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBib29sIGlzUm9vdAog
ICAgIGlmIChvYmplY3QuaXNUYWJsZUNvbHVtbigpKSB7CiAgICAgICAgIHNldFByb3BlcnR5KEFY
UHJvcGVydHlOYW1lOjpJc1RhYmxlQ29sdW1uLCB0cnVlKTsKICAgICAgICAgc2V0UHJvcGVydHko
QVhQcm9wZXJ0eU5hbWU6OkNvbHVtbkluZGV4LCBvYmplY3QuY29sdW1uSW5kZXgoKSk7Ci0gICAg
ICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpDb2x1bW5IZWFkZXIsIG9iamVjdC5jb2x1
bW5IZWFkZXIoKSk7CisgICAgICAgIHNldE9iamVjdFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpD
b2x1bW5IZWFkZXIsIG9iamVjdC5jb2x1bW5IZWFkZXIoKSk7CiAgICAgfSBlbHNlIGlmIChvYmpl
Y3QuaXNUYWJsZVJvdygpKSB7CiAgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJ
c1RhYmxlUm93LCB0cnVlKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJv
d0luZGV4LCBvYmplY3Qucm93SW5kZXgoKSk7CkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBBWElz
b2xhdGVkT2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVj
dCwgYm9vbCBpc1Jvb3QKICAgICBpZiAob2JqZWN0LmlzQVJJQVRyZWVHcmlkUm93KCkpIHsKICAg
ICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQVJJQVRyZWVHcmlkUm93LCB0cnVl
KTsKICAgICAgICAgc2V0T2JqZWN0VmVjdG9yUHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRpc2Ns
b3NlZFJvd3MsIG9iamVjdC5kaXNjbG9zZWRSb3dzKCkpOwotICAgICAgICBzZXRQcm9wZXJ0eShB
WFByb3BlcnR5TmFtZTo6RGlzY2xvc2VkQnlSb3csIG9iamVjdC5kaXNjbG9zZWRCeVJvdygpKTsK
KyAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRpc2Nsb3NlZEJ5Um93
LCBvYmplY3QuZGlzY2xvc2VkQnlSb3coKSk7CiAgICAgfQogCiAgICAgaWYgKG9iamVjdC5pc1Ry
ZWVJdGVtKCkpCkBAIC0zNzUsOCArMzc1LDE0IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6aW5p
dGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3QsIGJvb2wgaXNSb290CiAg
ICAgICAgIHNldE1hdGhzY3JpcHRzKEFYUHJvcGVydHlOYW1lOjpNYXRoUG9zdHNjcmlwdHMsIG9i
amVjdCk7CiAgICAgfQogCi0gICAgaWYgKG9iamVjdC5pc1Njcm9sbFZpZXcoKSkKLSAgICAgICAg
bV9wbGF0Zm9ybVdpZGdldCA9IG9iamVjdC5wbGF0Zm9ybVdpZGdldCgpOworICAgIGlmIChvYmpl
Y3QuaXNTY3JvbGxWaWV3KCkpIHsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgc2V0UHJv
cGVydHkoQVhQcm9wZXJ0eU5hbWU6OlBsYXRmb3JtV2lkZ2V0LCBvYmplY3QucGxhdGZvcm1XaWRn
ZXQoKSk7CisgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSZW1vdGVQYXJlbnRP
YmplY3QsIG9iamVjdC5yZW1vdGVQYXJlbnRPYmplY3QoKSk7CisjZWxzZQorICAgICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UGxhdGZvcm1XaWRnZXQsIG9iamVjdC5wbGF0Zm9ybVdp
ZGdldCgpKTsKKyNlbmRpZgorICAgIH0KIAogICAgIGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0
T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2Jq
ZWN0KCkpOwpAQCAtMTU1NCwxNSArMTU2MCw2IEBAIFdpZGdldCogQVhJc29sYXRlZE9iamVjdDo6
d2lkZ2V0KCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUGxhdGZvcm1XaWRnZXQg
QVhJc29sYXRlZE9iamVjdDo6cGxhdGZvcm1XaWRnZXQoKSBjb25zdAotewotI2lmIFBMQVRGT1JN
KENPQ09BKQotICAgIHJldHVybiBtX3BsYXRmb3JtV2lkZ2V0LmdldCgpOwotI2Vsc2UKLSAgICBy
ZXR1cm4gbV9wbGF0Zm9ybVdpZGdldDsKLSNlbmRpZgotfQotCiBXaWRnZXQqIEFYSXNvbGF0ZWRP
YmplY3Q6OndpZGdldEZvckF0dGFjaG1lbnRWaWV3KCkgY29uc3QKIHsKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAppbmRleCBmMTMxODEzMTk4MWFlZDEz
MmU3MzU3NTc5ZDUxOWY0MmU4NWQ2MzVjLi44MGJhOGJhNDg0YzUxMGY1OGE5YzVjMjg0YWMyMTk3
NzRkMzFjZjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC03Miw2ICs3MSw3IEBAIHByaXZhdGU6CiAKICAgICBB
WElzb2xhdGVkT2JqZWN0KCkgPSBkZWZhdWx0OwogICAgIEFYSXNvbGF0ZWRPYmplY3QoQVhDb3Jl
T2JqZWN0JiwgQVhJc29sYXRlZFRyZWVJRCwgQVhJRCBwYXJlbnRJRCk7CisgICAgYm9vbCBpc0FY
SXNvbGF0ZWRPYmplY3RJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2b2lkIGluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYsIGJvb2wgaXNS
b290KTsKICAgICBBWENvcmVPYmplY3QqIGFzc29jaWF0ZWRBWE9iamVjdCgpIGNvbnN0CiAgICAg
ewpAQCAtMjc2LDEyICsyNzYsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgTWluVmFsdWVGb3JSYW5n
ZSwKICAgICAgICAgT3JpZW50YXRpb24sCiAgICAgICAgIFBsYWNlaG9sZGVyVmFsdWUsCisgICAg
ICAgIFBsYXRmb3JtV2lkZ2V0LAogICAgICAgICBQcmVzc2VkSXNQcmVzZW50LAogICAgICAgICBQ
b3B1cFZhbHVlLAogICAgICAgICBQb3NJblNldCwKICAgICAgICAgUHJldmVudEtleWJvYXJkRE9N
RXZlbnREaXNwYXRjaCwKICAgICAgICAgUmVhZE9ubHlWYWx1ZSwKICAgICAgICAgUmVsYXRpdmVG
cmFtZSwKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgUmVtb3RlUGFyZW50T2JqZWN0LAor
I2VuZGlmCiAgICAgICAgIFJvbGVWYWx1ZSwKICAgICAgICAgUm9sZVBsYXRmb3JtU3RyaW5nLAog
ICAgICAgICBSb2xlRGVzY3JpcHRpb24sCkBAIC0zMzgsNyArMzQyLDEzIEBAIHByaXZhdGU6CiAg
ICAgICAgIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlIHRleHRTb3VyY2U7CiAgICAgfTsKIAotICAg
IHVzaW5nIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFN0
cmluZywgYm9vbCwgaW50LCB1bnNpZ25lZCwgZG91YmxlLCBmbG9hdCwgdWludDY0X3QsIENvbG9y
LCBVUkwsIExheW91dFJlY3QsIEZsb2F0UmVjdCwgQVhJRCwgSW50UG9pbnQsIE9wdGlvblNldDxT
cGVha0FzPiwgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4sIFZlY3RvcjxBY2Nlc3NpYmls
aXR5SXNvbGF0ZWRUcmVlVGV4dD4sIFZlY3RvcjxBWElEPiwgVmVjdG9yPEFjY2Vzc2liaWxpdHlJ
c29sYXRlZFRyZWVNYXRoTXVsdGlzY3JpcHRQYWlyPiwgVmVjdG9yPFN0cmluZz4+OworICAgIHVz
aW5nIEF0dHJpYnV0ZVZhbHVlVmFyaWFudCA9IFZhcmlhbnQ8c3RkOjpudWxscHRyX3QsIFN0cmlu
ZywgYm9vbCwgaW50LCB1bnNpZ25lZCwgZG91YmxlLCBmbG9hdCwgdWludDY0X3QsIENvbG9yLCBV
UkwsIExheW91dFJlY3QsIEZsb2F0UmVjdCwgQVhJRCwgSW50UG9pbnQsIE9wdGlvblNldDxTcGVh
a0FzPiwgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4sIFZlY3RvcjxBY2Nlc3NpYmlsaXR5
SXNvbGF0ZWRUcmVlVGV4dD4sIFZlY3RvcjxBWElEPiwgVmVjdG9yPEFjY2Vzc2liaWxpdHlJc29s
YXRlZFRyZWVNYXRoTXVsdGlzY3JpcHRQYWlyPiwgVmVjdG9yPFN0cmluZz4sCisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgICAgIFdlYWtQdHI8dm9pZCo+IC8vIFRvIGhvbGQgYW4gT2JqZWN0aXZl
QyBvYmplY3QsIGUuZy4sIE5TVmlldyogb3IgaWQuCisjZWxzZQorICAgICAgICBQbGF0Zm9ybVdp
ZGdldAorI2VuZGlmCisgICAgPjsKICAgICB2b2lkIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1l
LCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQmJiwgYm9vbCBzaG91bGRSZW1vdmUgPSBmYWxzZSk7CiAg
ICAgdm9pZCBzZXRPYmplY3RQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgQVhDb3JlT2JqZWN0Kik7
CiAgICAgdm9pZCBzZXRPYmplY3RWZWN0b3JQcm9wZXJ0eShBWFByb3BlcnR5TmFtZSwgY29uc3Qg
QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CkBAIC0zNTksNiArMzY5LDcgQEAgcHJpdmF0
ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBWZWN0b3I8VD4gdmVjdG9yQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IE9wdGlv
blNldDxUPiBvcHRpb25TZXRBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RkOjpwYWlyPFQsIFQ+IHBhaXJBdHRyaWJ1dGVWYWx1
ZShBWFByb3BlcnR5TmFtZSkgY29uc3Q7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBwcm9w
ZXJ0eVZhbHVlKEFYUHJvcGVydHlOYW1lKSBjb25zdDsKIAogICAgIHZvaWQgZmlsbENoaWxkcmVu
VmVjdG9yRm9yUHJvcGVydHkoQVhQcm9wZXJ0eU5hbWUsIEFjY2Vzc2liaWxpdHlDaGlsZHJlblZl
Y3RvciYpIGNvbnN0OwogICAgIHZvaWQgc2V0TWF0aHNjcmlwdHMoQVhQcm9wZXJ0eU5hbWUsIEFY
Q29yZU9iamVjdCYpOwpAQCAtODIxLDcgKzgzMiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc3Vw
cG9ydHNQYXRoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFY
UHJvcGVydHlOYW1lOjpTdXBwb3J0c1BhdGgpOyB9CiAgICAgVGV4dEl0ZXJhdG9yQmVoYXZpb3Ig
dGV4dEl0ZXJhdG9yQmVoYXZpb3JGb3JUZXh0UmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBX
aWRnZXQqIHdpZGdldCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIFBsYXRmb3JtV2lkZ2V0IHBsYXRm
b3JtV2lkZ2V0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgUGxhdGZvcm1XaWRnZXQgcGxhdGZvcm1X
aWRnZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBwcm9wZXJ0eVZhbHVlPFBsYXRmb3JtV2lk
Z2V0PihBWFByb3BlcnR5TmFtZTo6UGxhdGZvcm1XaWRnZXQpOyB9CisjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgUmVtb3RlQVhPYmplY3RSZWYgcmVtb3RlUGFyZW50T2JqZWN0KCkgY29uc3Qgb3Zl
cnJpZGU7CisjZW5kaWYKICAgICBXaWRnZXQqIHdpZGdldEZvckF0dGFjaG1lbnRWaWV3KCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgUGFnZSogcGFnZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODk3LDE0ICs5MTEsMjAgQEAgcHJp
dmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+IG1fY2hpbGRyZW47CiAKICAg
ICBIYXNoTWFwPEFYUHJvcGVydHlOYW1lLCBBdHRyaWJ1dGVWYWx1ZVZhcmlhbnQsIFdURjo6SW50
SGFzaDxBWFByb3BlcnR5TmFtZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8QVhQcm9wZXJ0
eU5hbWU+PiBtX2F0dHJpYnV0ZU1hcDsKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIFJldGFp
blB0cjxOU1ZpZXc+IG1fcGxhdGZvcm1XaWRnZXQ7Ci0jZWxzZQotICAgIFBsYXRmb3JtV2lkZ2V0
IG1fcGxhdGZvcm1XaWRnZXQ7Ci0jZW5kaWYKIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citp
bmxpbmUgVCBBWElzb2xhdGVkT2JqZWN0Ojpwcm9wZXJ0eVZhbHVlKEFYUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIHZhbHVlID0gbV9hdHRyaWJ1dGVNYXAuZ2V0
KHByb3BlcnR5TmFtZSk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24odmFsdWUsCisgICAgICAg
IFtdIChXZWFrUHRyPFQ+JiB0eXBlZFZhbHVlKSB7IHJldHVybiB0eXBlZFZhbHVlOyB9LAorICAg
ICAgICBbXSAoYXV0byYpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICApOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQUNDRVNTSUJJTElUWShB
WElzb2xhdGVkT2JqZWN0LCBpc0FYSXNvbGF0ZWRPYmplY3RJbnN0YW5jZSgpKQorCiAjZW5kaWYg
Ly8gRU5BQkxFKChBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvbWFjL0FYSXNvbGF0ZWRPYmpl
Y3RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9tYWMv
QVhJc29sYXRlZE9iamVjdE1hYy5tbQppbmRleCA1NmIyODAzZjFjZjAzZGFmOTAzN2Y0NWIzNDk5
MTQwMjhlZjBlOGY5Li4zNTg0YjE4NzhkZjVjZTFhMTEzYTAyZGRhOWNmYjIwZTY2NTEyMTY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9tYWMv
QVhJc29sYXRlZE9iamVjdE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9tYWMvQVhJc29sYXRlZE9iamVjdE1hYy5tbQpAQCAtMzIsNiArMzIsMTQg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitSZW1vdGVBWE9iamVjdFJlZiBBWElzb2xhdGVk
T2JqZWN0OjpyZW1vdGVQYXJlbnRPYmplY3QoKSBjb25zdAoreworICAgIGF1dG8qIHNjcm9sbFZp
ZXcgPSBBY2Nlc3NpYmlsaXR5OjpmaW5kQW5jZXN0b3I8QVhDb3JlT2JqZWN0PigqdGhpcywgdHJ1
ZSwgW10gKGNvbnN0IEFYQ29yZU9iamVjdCYgb2JqZWN0KSB7CisgICAgICAgIHJldHVybiBvYmpl
Y3QuaXNTY3JvbGxWaWV3KCk7CisgICAgfSk7CisgICAgcmV0dXJuIGlzPEFYSXNvbGF0ZWRPYmpl
Y3Q+KHNjcm9sbFZpZXcpID8gZG93bmNhc3Q8QVhJc29sYXRlZE9iamVjdD4oc2Nyb2xsVmlldykt
PnByb3BlcnR5VmFsdWU8UmVtb3RlQVhPYmplY3RSZWY+KEFYUHJvcGVydHlOYW1lOjpSZW1vdGVQ
YXJlbnRPYmplY3QpIDogbmlsOworfQorCiB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBs
YXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikKIHsKICAg
ICBbd3JhcHBlciBhdHRhY2hJc29sYXRlZE9iamVjdDp0aGlzXTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJNYWMubW0KaW5kZXggODU5MmYwNzA3ODNkZjVhZDE4MzgyNzk0ZTVhZTlh
Zjk4YzBlZjJiMy4uN2Y1YjZkZTk5NmM3MjkwYTVmM2RhM2ZkNjE5YTVlYzk3NjQzMjQ5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KQEAgLTE4NzMsMTggKzE4NzMs
OCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKIAogLSAoaWQpcmVtb3Rl
QWNjZXNzaWJpbGl0eVBhcmVudE9iamVjdAogewotICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Ojpy
ZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8aWQ+KFtwcm90ZWN0ZWRTZWxm
ID0gcmV0YWluUHRyKHNlbGYpXSAoKSAtPiBSZXRhaW5QdHI8aWQ+IHsKLSAgICAgICAgYXV0byog
YmFja2luZ09iamVjdCA9IHByb3RlY3RlZFNlbGYuZ2V0KCkuYXhCYWNraW5nT2JqZWN0OwotICAg
ICAgICBpZiAoIWJhY2tpbmdPYmplY3QpCi0gICAgICAgICAgICByZXR1cm4gbmlsOwotCi0gICAg
ICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGJhY2tpbmdPYmplY3QtPmRvY3VtZW50KCkpIHsKLSAg
ICAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBmcmFtZS0+bG9hZGVyKCkuY2xpZW50KCkuYWNjZXNzaWJpbGl0eVJlbW90
ZU9iamVjdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICB9KTsKKyAg
ICBhdXRvKiBiYWNraW5nT2JqZWN0ID0gc2VsZi5heEJhY2tpbmdPYmplY3Q7CisgICAgcmV0dXJu
IGJhY2tpbmdPYmplY3QgPyBiYWNraW5nT2JqZWN0LT5yZW1vdGVQYXJlbnRPYmplY3QoKSA6IG5p
bDsKIH0KIAogc3RhdGljIHZvaWQgY29udmVydFRvVmVjdG9yKE5TQXJyYXkqIGFycmF5LCBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIHZlY3RvcikKQEAg
LTIyODEsNyArMjI3MSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAg
IGlmIChhdXRvIHBsYXRmb3JtV2lkZ2V0ID0gYmFja2luZ09iamVjdC0+cGxhdGZvcm1XaWRnZXQo
KSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVVuaWdub3JlZEFuY2VzdG9yKHBsYXRm
b3JtV2lkZ2V0KTsKIAotICAgIHJldHVybiBbc2VsZiByZW1vdGVBY2Nlc3NpYmlsaXR5UGFyZW50
T2JqZWN0XTsKKyAgICByZXR1cm4gYmFja2luZ09iamVjdC0+cmVtb3RlUGFyZW50T2JqZWN0KCk7
CiB9CiAKIC0gKGlkKXdpbmRvd0VsZW1lbnQ6KE5TU3RyaW5nKilhdHRyaWJ1dGVOYW1lCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>