<?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>255286</bug_id>
          
          <creation_ts>2023-04-11 08:21:29 -0700</creation_ts>
          <short_desc>AX: Create TextMarkerRanges based on the TextContent of AXIsolatedObjects.</short_desc>
          <delta_ts>2023-04-11 13:14: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>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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</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>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1947928</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-04-11 08:21:29 -0700</bug_when>
    <thetext>Needed for stringForTextMarkerRange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1947929</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-04-11 08:21:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/107883608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1947930</commentid>
    <comment_count>2</comment_count>
      <attachid>465847</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-04-11 08:35:14 -0700</bug_when>
    <thetext>Created attachment 465847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1947952</commentid>
    <comment_count>3</comment_count>
      <attachid>465847</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-04-11 10:10:06 -0700</bug_when>
    <thetext>Comment on attachment 465847
Patch

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

Looks good to me once all EWS tests pass. I&apos;d understand if you didn&apos;t want to wait through another round of EWS just to fix some typos in the commit message, up to you.

&gt; COMMIT_MESSAGE:7
&gt; +TextMarkerRanges were created using the cached AttributedString for some types of AXIsoaltedObjects. However, we need to create TesxtMarkerRanges for objects for which there is no cached AttributedString. This patch uses the TextContent property instead of the cached AttributedString.

Typos:

AXIsoaltedObjects
TesxtMarkerRanges

&gt; COMMIT_MESSAGE:11
&gt; +This is needed to implement AXIsolatedObject::stringForTextMarkerRange and related methods off the main thtread.

Typo: thtread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1947955</commentid>
    <comment_count>4</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-04-11 10:18:15 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #3)
&gt; Comment on attachment 465847 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=465847&amp;action=review
&gt; 
&gt; Looks good to me once all EWS tests pass. I&apos;d understand if you didn&apos;t want
&gt; to wait through another round of EWS just to fix some typos in the commit
&gt; message, up to you.
&gt; 
&gt; &gt; COMMIT_MESSAGE:7
&gt; &gt; +TextMarkerRanges were created using the cached AttributedString for some types of AXIsoaltedObjects. However, we need to create TesxtMarkerRanges for objects for which there is no cached AttributedString. This patch uses the TextContent property instead of the cached AttributedString.
&gt; 
&gt; Typos:
&gt; 
&gt; AXIsoaltedObjects
&gt; TesxtMarkerRanges
&gt; 
&gt; &gt; COMMIT_MESSAGE:11
&gt; &gt; +This is needed to implement AXIsolatedObject::stringForTextMarkerRange and related methods off the main thtread.
&gt; 
&gt; Typo: thtread

Thanks! will correct the typos before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1947991</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-04-11 13:14:13 -0700</bug_when>
    <thetext>Committed 262835@main (14be4a13b9fa): &lt;https://commits.webkit.org/262835@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465847.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465847</attachid>
            <date>2023-04-11 08:35:14 -0700</date>
            <delta_ts>2023-04-11 13:14:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-255286-20230411113513.patch</filename>
            <type>text/plain</type>
            <size>14328</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBiZjZmMTdlMTk4ODZhYTU1ZmQ0NzMwYWFhZjE2ODgxM2YyMDc0MWU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBNb24sIDEwIEFwciAyMDIzIDE3OjAxOjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IENyZWF0ZSBUZXh0TWFya2VyUmFuZ2VzIGJhc2VkIG9uIHRoZSBUZXh0Q29udGVudCBvZgog
QVhJc29sYXRlZE9iamVjdHMuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTUyODYKIDxyZGFyOi8vcHJvYmxlbS8xMDc4ODM2MDg+CgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KClRleHRNYXJrZXJSYW5nZXMgd2VyZSBjcmVhdGVkIHVzaW5nIHRoZSBjYWNoZWQg
QXR0cmlidXRlZFN0cmluZyBmb3Igc29tZSB0eXBlcyBvZiBBWElzb2FsdGVkT2JqZWN0cy4gSG93
ZXZlciwgd2UgbmVlZCB0byBjcmVhdGUgVGVzeHRNYXJrZXJSYW5nZXMgZm9yIG9iamVjdHMgZm9y
IHdoaWNoIHRoZXJlIGlzIG5vIGNhY2hlZCBBdHRyaWJ1dGVkU3RyaW5nLiBUaGlzIHBhdGNoIHVz
ZXMgdGhlIFRleHRDb250ZW50IHByb3BlcnR5IGluc3RlYWQgb2YgdGhlIGNhY2hlZCBBdHRyaWJ1
dGVkU3RyaW5nLgoKQWNjZXNzaWJpbGl0eU9iamVjdDo6dGV4dENvbnRlbnQgaXMgbm93IHJldHJp
ZXZpbmcgdGhlIHRleHQgZnJvbSB0aGUgb2JqZWN0J3MgcmFuZ2UgdXNpbmcgVGV4dEl0ZXJhdG9y
cy4gVGhpcyB3aWxsIGJlIGV4dGVuZGVkIHRvIG90aGVyIHRleHQgcmVwcmVzZW50YXRpb24gZm9y
IG90aGVyIHR5cGVzIG9mIG9iamVjdHMgbGlrZSBpbWFnZXMsIGJ1dHRvbnMsIGV0Yy4KClRoaXMg
aXMgbmVlZGVkIHRvIGltcGxlbWVudCBBWElzb2xhdGVkT2JqZWN0OjpzdHJpbmdGb3JUZXh0TWFy
a2VyUmFuZ2UgYW5kIHJlbGF0ZWQgbWV0aG9kcyBvZmYgdGhlIG1haW4gdGh0cmVhZC4KLS0tCiAu
Li4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgICAgfCAxNSArKystLS0K
IC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8IDI2ICsrKysr
KysrLS0KIC4uLi9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggICAgICAgICAgICB8ICA2
ICsrLQogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCAgICAgICAgIHwgMTcg
KysrKystLQogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggICAgICAgICAgIHwg
IDcgKystCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggICAgICAgICAgICAgfCAg
MiArCiAuLi4vaXNvbGF0ZWR0cmVlL21hYy9BWElzb2xhdGVkT2JqZWN0TWFjLm1tICAgfCA0NyAr
KysrKysrKysrLS0tLS0tLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDM3
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDBiYmNhN2NlYzZmNy4uY2Y0NTA0MTI1OTZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKQEAgLTI3NTYsMTIgKzI3NTYsMTQgQEAgQXV0b0ZpbGxCdXR0b25UeXBlIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnZhbHVlQXV0b2ZpbGxCdXR0b25UeXBlKCkgY29uc3QKICAgICByZXR1
cm4gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKnRoaXMtPm5vZGUoKSkuYXV0b0ZpbGxCdXR0
b25UeXBlKCk7CiB9CiAKLVN0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp0ZXh0Q29udGVudCgp
IGNvbnN0CitzdGQ6Om9wdGlvbmFsPFN0cmluZz4gQWNjZXNzaWJpbGl0eU9iamVjdDo6dGV4dENv
bnRlbnQoKSBjb25zdAogewotICAgIGF1dG8gdGl0bGUgPSB0aGlzLT50aXRsZSgpOwotICAgIGlm
ICghdGl0bGUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdGl0bGU7Ci0gICAgcmV0dXJuIGRl
c2NyaXB0aW9uKCk7CisgICAgaWYgKCFoYXNUZXh0Q29udGVudCgpKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgaWYgKGF1dG8gcmFuZ2UgPSBzaW1wbGVSYW5nZSgpKQorICAg
ICAgICByZXR1cm4gc3RyaW5nRm9yUmFuZ2UoKnJhbmdlKTsKKyAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogfQogCiBjb25zdCBTdHJpbmcgQWNjZXNzaWJpbGl0eU9iamVjdDo6cGxhY2Vob2xkZXJW
YWx1ZSgpIGNvbnN0CkBAIC00MDI2LDcgKzQwMjgsOCBAQCBzdGF0aWMgYm9vbCBpc0FjY2Vzc2li
aWxpdHlUZXh0U2VhcmNoTWF0Y2goUmVmUHRyPEFYQ29yZU9iamVjdD4gYXhPYmplY3QsIGNvbnN0
CiAgICAgaWYgKGNyaXRlcmlhLnNlYXJjaFRleHQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAotICAgIHJldHVybiBjb250YWluc1BsYWluVGV4dChheE9iamVjdC0+dGV4dENvbnRl
bnQoKSwgY3JpdGVyaWEuc2VhcmNoVGV4dCwgQ2FzZUluc2Vuc2l0aXZlKQorICAgIHJldHVybiBj
b250YWluc1BsYWluVGV4dChheE9iamVjdC0+dGl0bGUoKSwgY3JpdGVyaWEuc2VhcmNoVGV4dCwg
Q2FzZUluc2Vuc2l0aXZlKQorICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChheE9iamVjdC0+
ZGVzY3JpcHRpb24oKSwgY3JpdGVyaWEuc2VhcmNoVGV4dCwgQ2FzZUluc2Vuc2l0aXZlKQogICAg
ICAgICB8fCBjb250YWluc1BsYWluVGV4dChheE9iamVjdC0+c3RyaW5nVmFsdWUoKSwgY3JpdGVy
aWEuc2VhcmNoVGV4dCwgQ2FzZUluc2Vuc2l0aXZlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBmYTYyMzJmMjA1
YWIuLmEzY2NiOTAxNjRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTM3MywxMSArMzczLDE1IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEFjY2Vzc2libGVOYW1lKGNvbnN0IEF0b21TdHJpbmcmKSBvdmVycmlkZSB7IH0K
ICAgICBib29sIGhhc0F0dHJpYnV0ZXNSZXF1aXJlZEZvckluY2x1c2lvbigpIGNvbnN0IG92ZXJy
aWRlOwogCi0gICAgdmlydHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCB7IHJldHVybiB7IH07IH0K
LSAgICB2aXJ0dWFsIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQor
ICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHsgfTsgfQorICAgIFN0
cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHsgfTsgfQogICAgIHZp
cnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3QgeyByZXR1cm4geyB9OyB9CiAKLSAgICBTdHJp
bmcgdGV4dENvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmlu
Zz4gdGV4dENvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGhhc1RleHRDb250ZW50
KCkgY29uc3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgYm9vbCBoYXNBdHRyaWJ1dGVkVGV4
dCgpIGNvbnN0OworI2VuZGlmCiAKICAgICAvLyBNZXRob2RzIGZvciBkZXRlcm1pbmluZyBhY2Nl
c3NpYmlsaXR5IHRleHQuCiAgICAgYm9vbCBpc0FSSUFTdGF0aWNUZXh0KCkgY29uc3QgeyByZXR1
cm4gYXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6U3RhdGljVGV4dDsg
fQpAQCAtODYxLDYgKzg2NSwyMiBAQCBpbmxpbmUgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojph
bGxvd3NUZXh0UmFuZ2VzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogaW5saW5lIHVuc2lnbmVk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmdldExlbmd0aEZvclRleHRSYW5nZSgpIGNvbnN0IHsgcmV0
dXJuIHRleHQoKS5sZW5ndGgoKTsgfQogI2VuZGlmCiAKK2lubGluZSBib29sIEFjY2Vzc2liaWxp
dHlPYmplY3Q6Omhhc1RleHRDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNTdGF0aWNU
ZXh0KCkKKyAgICAgICAgfHwgcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OldlYkNv
cmVMaW5rCisgICAgICAgIHx8IGlzVGV4dENvbnRyb2woKSB8fCBpc1RhYkl0ZW0oKTsKK30KKwor
I2lmIFBMQVRGT1JNKENPQ09BKQoraW5saW5lIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFz
QXR0cmlidXRlZFRleHQoKSBjb25zdAoreworICAgIHJldHVybiAoaXNTdGF0aWNUZXh0KCkgJiYg
IWlzQVJJQVN0YXRpY1RleHQoKSkKKyAgICAgICAgfHwgcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJp
bGl0eVJvbGU6OldlYkNvcmVMaW5rCisgICAgICAgIHx8IGlzVGV4dENvbnRyb2woKSB8fCBpc1Rh
Ykl0ZW0oKTsKK30KKyNlbmRpZgorCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBmaXJzdEFjY2Vzc2li
bGVPYmplY3RGcm9tTm9kZShjb25zdCBOb2RlKiwgY29uc3QgRnVuY3Rpb248Ym9vbChjb25zdCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Jik+JiBpc0FjY2Vzc2libGUpOwogCiBuYW1lc3BhY2UgQWNjZXNz
aWJpbGl0eSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCmluZGV4IGIxODc1YmRjNGVkYi4uZGRjMDZk
YzQxZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaApAQCAtMTEzNSw3ICsxMTM1LDEwIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZXNzaWJsZU5hbWUoY29uc3QgQXRvbVN0cmlu
ZyYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXR0cmlidXRlc1JlcXVpcmVkRm9ySW5jbHVz
aW9uKCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBTdHJpbmcgdGV4dENvbnRlbnQoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIHN0ZDo6b3B0
aW9uYWw8U3RyaW5nPiB0ZXh0Q29udGVudCgpIGNvbnN0ID0gMDsKIAogICAgIC8vIE1ldGhvZHMg
Zm9yIGRldGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIFN0cmluZyBz
dHJpbmdWYWx1ZSgpIGNvbnN0ID0gMDsKQEAgLTE0NTQsNiArMTQ1Nyw3IEBAIGlubGluZSBWZWN0
b3I8QVhJRD4gYXhJRHMoY29uc3QgQVhDb3JlT2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5W
ZWN0b3ImIG9iamVjCiB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKKwogaW5saW5lIGJvb2wgQVhD
b3JlT2JqZWN0OjpzaG91bGRDb21wdXRlRGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpIGNvbnN0
CiB7CiAgICAgLy8gU3RhdGljIHRleHQgb2JqZWN0cyBzaG91bGRuJ3QgcmV0dXJuIGEgZGVzY3Jp
cHRpb24uIFRoZWlyIGNvbnRlbnQgaXMgY29tbXVuaWNhdGVkIHZpYSBBWFZhbHVlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRl
ZE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcAppbmRleCA0NDExMmY0NDM1NzEuLmE0MmFlMTA4OTcwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTEwMiw3ICsxMDIsNiBAQCB2b2lkIEFYSXNv
bGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVzKGNvbnN0IFJlZjxBY2Nlc3NpYmlsaXR5
T2JqZWN0PiYgYXhPYgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpSb2xlUGxhdGZv
cm1TdHJpbmcsIG9iamVjdC5yb2xlUGxhdGZvcm1TdHJpbmcoKS5pc29sYXRlZENvcHkoKSk7CiAg
ICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVWYWx1ZSwgc3RhdGljX2Nhc3Q8aW50
PihvYmplY3Qucm9sZVZhbHVlKCkpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
U3Vicm9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Quc3Vicm9sZVBsYXRmb3JtU3RyaW5nKCkuaXNv
bGF0ZWRDb3B5KCkpOwotICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUZXh0Q29udGVu
dCwgb2JqZWN0LnRleHRDb250ZW50KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5
KEFYUHJvcGVydHlOYW1lOjpTdXBwb3J0c0RhdGV0aW1lQXR0cmlidXRlLCBvYmplY3Quc3VwcG9y
dHNEYXRldGltZUF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
RGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSwgb2JqZWN0LmRhdGV0aW1lQXR0cmlidXRlVmFsdWUoKS5p
c29sYXRlZENvcHkoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkNhblNldEZv
Y3VzQXR0cmlidXRlLCBvYmplY3QuY2FuU2V0Rm9jdXNBdHRyaWJ1dGUoKSk7CkBAIC0zMDMsOSAr
MzAyLDE3IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoY29u
c3QgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3Q+JiBheE9iCiAgICAgaWYgKG9iamVjdC5pc1dpZGdl
dCgpKQogICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNXaWRnZXQsIHRydWUp
OwogCi0gICAgYXV0byBleHRlbmRlZERlc2NyaXB0aW9uID0gb2JqZWN0LmV4dGVuZGVkRGVzY3Jp
cHRpb24oKTsKLSAgICBpZiAoZXh0ZW5kZWREZXNjcmlwdGlvbi5sZW5ndGgoKSkKLSAgICAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkV4dGVuZGVkRGVzY3JpcHRpb24sIGV4dGVuZGVk
RGVzY3JpcHRpb24uaXNvbGF0ZWRDb3B5KCkpOworICAgIGF1dG8gZGVzY3JpcHRvciA9IG9iamVj
dC50aXRsZSgpOworICAgIGlmIChkZXNjcmlwdG9yLmxlbmd0aCgpKQorICAgICAgICBzZXRQcm9w
ZXJ0eShBWFByb3BlcnR5TmFtZTo6VGl0bGUsIGRlc2NyaXB0b3IuaXNvbGF0ZWRDb3B5KCkpOwor
CisgICAgZGVzY3JpcHRvciA9IG9iamVjdC5kZXNjcmlwdGlvbigpOworICAgIGlmIChkZXNjcmlw
dG9yLmxlbmd0aCgpKQorICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6RGVzY3Jp
cHRpb24sIGRlc2NyaXB0b3IuaXNvbGF0ZWRDb3B5KCkpOworCisgICAgZGVzY3JpcHRvciA9IG9i
amVjdC5leHRlbmRlZERlc2NyaXB0aW9uKCk7CisgICAgaWYgKGRlc2NyaXB0b3IubGVuZ3RoKCkp
CisgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9u
LCBkZXNjcmlwdG9yLmlzb2xhdGVkQ29weSgpKTsKIAogICAgIC8vIFRoZXNlIHByb3BlcnRpZXMg
YXJlIG9ubHkgbmVlZGVkIG9uIHRoZSBBWENvcmVPYmplY3QgaW50ZXJmYWNlIGR1ZSB0byB0aGVp
ciB1c2UgaW4gQVRTUEksCiAgICAgLy8gc28gb25seSBjYWNoZSB0aGVtIGZvciBBVFNQSS4KQEAg
LTg0Miw3ICs4NDksNyBAQCBUIEFYSXNvbGF0ZWRPYmplY3Q6OmdldE9yUmV0cmlldmVQcm9wZXJ0
eVZhbHVlKEFYUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKICAgICAgICAgQVhQcm9wZXJ0eVZh
bHVlVmFyaWFudCB2YWx1ZTsKICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eU5hbWUpIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICAgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6RGVzY3JpcHRpb246
CisgICAgICAgIGNhc2UgQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWU6
CiAgICAgICAgICAgICB2YWx1ZSA9IGF4T2JqZWN0LT5kZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKaW5kZXggYTI3NDQ2
MDhhNmI0Li4xYTQwMDJmNDZjM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKQEAgLTQ2MSw3
ICs0NjEsMTIgQEAgcHJpdmF0ZToKICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRBY2Nlc3NpYmxlTmFtZShjb25zdCBBdG9t
U3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNBdHRyaWJ1dGVzUmVxdWlyZWRGb3JJbmNs
dXNpb24oKSBjb25zdCBvdmVycmlkZTsKLSAgICBTdHJpbmcgdGV4dENvbnRlbnQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6VGV4
dENvbnRlbnQpOyB9CisKKyAgICBTdHJpbmcgdGl0bGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6VGl0bGUpOyB9CisgICAgU3Ry
aW5nIGRlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uKTsgfQorCisgICAgc3RkOjpvcHRpb25h
bDxTdHJpbmc+IHRleHRDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICBTdHJpbmcgdGV4
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHVuc2lnbmVkIHRleHRMZW5ndGgoKSBjb25zdCBvdmVy
cmlkZTsKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGRjMzRj
YjM5YTdjZS4uOGE1ZTFlYjZkZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTg3LDYgKzg3
LDcgQEAgZW51bSBjbGFzcyBBWFByb3BlcnR5TmFtZSA6IHVpbnQxNl90IHsKICAgICBEYXRldGlt
ZUF0dHJpYnV0ZVZhbHVlLAogICAgIERlY3JlbWVudEJ1dHRvbiwKICAgICBEZXNjcmlwdGlvbiwK
KyAgICBEZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVlLAogICAgIERpc2Nsb3NlZEJ5Um93LAogICAg
IERpc2Nsb3NlZFJvd3MsCiAgICAgRG9jdW1lbnRFbmNvZGluZywKQEAgLTIyNCw2ICsyMjUsNyBA
QCBlbnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgewogICAgIFN1cHBvcnRzU2V0
U2l6ZSwKICAgICBUYWJsZUxldmVsLAogICAgIFRleHRDb250ZW50LAorICAgIFRpdGxlLAogICAg
IFRpdGxlQXR0cmlidXRlVmFsdWUsCiAgICAgVGl0bGVVSUVsZW1lbnQsCiAgICAgVVJMLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvbWFjL0FY
SXNvbGF0ZWRPYmplY3RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9tYWMvQVhJc29sYXRlZE9iamVjdE1hYy5tbQppbmRleCA0MzA4MTZhOWUzN2EuLjVk
ZDJhOGRkZjc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvbWFjL0FYSXNvbGF0ZWRPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvbWFjL0FYSXNvbGF0ZWRPYmplY3RNYWMubW0KQEAg
LTM0LDI3ICszNCwyNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHNo
b3VsZENhY2hlQXR0cmlidXRlZFRleHQoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCYgYXhPYmpl
Y3QpCi17Ci0gICAgcmV0dXJuIChheE9iamVjdC5pc1N0YXRpY1RleHQoKSAmJiAhYXhPYmplY3Qu
aXNBUklBU3RhdGljVGV4dCgpKQotICAgICAgICB8fCBheE9iamVjdC5yb2xlVmFsdWUoKSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6V2ViQ29yZUxpbmsKLSAgICAgICAgfHwgYXhPYmplY3QuaXNUZXh0
Q29udHJvbCgpIHx8IGF4T2JqZWN0LmlzVGFiSXRlbSgpOwotfQotCiB2b2lkIEFYSXNvbGF0ZWRP
YmplY3Q6OmluaXRpYWxpemVQbGF0Zm9ybVByb3BlcnRpZXMoY29uc3QgUmVmPGNvbnN0IEFjY2Vz
c2liaWxpdHlPYmplY3Q+JiBvYmplY3QpCiB7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwgb2JqZWN0LT5oYXNBcHBsZVBERkFu
bm90YXRpb25BdHRyaWJ1dGUoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC0+c3BlZWNoSGludEF0dHJpYnV0ZVZhbHVlKCkuaXNvbGF0ZWRDb3B5
KCkpOwogCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gYXR0cmlidXRlZFRleHQ7
Ci0gICAgaWYgKHNob3VsZENhY2hlQXR0cmlidXRlZFRleHQob2JqZWN0KSkgeworICAgIGlmIChv
YmplY3QtPmhhc0F0dHJpYnV0ZWRUZXh0KCkpIHsKICAgICAgICAgaWYgKGF1dG8gcmFuZ2UgPSBv
YmplY3QtPnNpbXBsZVJhbmdlKCkpIHsKICAgICAgICAgICAgIGlmICgoYXR0cmlidXRlZFRleHQg
PSBvYmplY3QtPmF0dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZSgqcmFuZ2UsIFNwZWxsQ2hlY2s6Olll
cykpKQogICAgICAgICAgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpBdHRyaWJ1
dGVkVGV4dCwgYXR0cmlidXRlZFRleHQpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgLy8gU2V0
IHRoZSBTdHJpbmdWYWx1ZSBvbmx5IGlmIGl0IGRpZmZlcnMgZnJvbSB0aGUgQXR0cmlidXRlZFRl
eHQuCisgICAgLy8gQ2FjaGUgdGhlIFRleHRDb250ZW50IG9ubHkgaWYgaXQgaXMgbm90IGVtcHR5
IGFuZCBkaWZmZXJzIGZyb20gdGhlIEF0dHJpYnV0ZWRUZXh0LgorICAgIGlmIChhdXRvIHRleHQg
PSBvYmplY3QtPnRleHRDb250ZW50KCkpIHsKKyAgICAgICAgaWYgKCFhdHRyaWJ1dGVkVGV4dCB8
fCAodGV4dC0+bGVuZ3RoKCkgJiYgKnRleHQgIT0gU3RyaW5nKFthdHRyaWJ1dGVkVGV4dCBzdHJp
bmddKSkpCisgICAgICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6VGV4dENvbnRl
bnQsIHRleHQtPmlzb2xhdGVkQ29weSgpKTsKKyAgICB9CisKKyAgICAvLyBDYWNoZSB0aGUgU3Ry
aW5nVmFsdWUgb25seSBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIEF0dHJpYnV0ZWRUZXh0LgogICAg
IGF1dG8gdmFsdWUgPSBvYmplY3QtPnN0cmluZ1ZhbHVlKCk7CiAgICAgaWYgKCFhdHRyaWJ1dGVk
VGV4dCB8fCB2YWx1ZSAhPSBTdHJpbmcoW2F0dHJpYnV0ZWRUZXh0IHN0cmluZ10pKQogICAgICAg
ICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3RyaW5nVmFsdWUsIHZhbHVlLmlzb2xhdGVk
Q29weSgpKTsKQEAgLTEwMyw2ICsxMDIsMTUgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRh
Y2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG0KICAg
ICBbd3JhcHBlcigpIGRldGFjaElzb2xhdGVkT2JqZWN0OmRldGFjaG1lbnRUeXBlXTsKIH0KIAor
c3RkOjpvcHRpb25hbDxTdHJpbmc+IEFYSXNvbGF0ZWRPYmplY3Q6OnRleHRDb250ZW50KCkgY29u
c3QKK3sKKyAgICBpZiAobV9wcm9wZXJ0eU1hcC5jb250YWlucyhBWFByb3BlcnR5TmFtZTo6VGV4
dENvbnRlbnQpKQorICAgICAgICByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0
eU5hbWU6OlRleHRDb250ZW50KTsKKyAgICBpZiAoYXV0byBhdHRyaWJ1dGVkVGV4dCA9IHByb3Bl
cnR5VmFsdWU8UmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4+KEFYUHJvcGVydHlOYW1lOjpB
dHRyaWJ1dGVkVGV4dCkpCisgICAgICAgIHJldHVybiBTdHJpbmcgeyBbYXR0cmlidXRlZFRleHQg
c3RyaW5nXSB9OworICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cit9CisKIEFYVGV4dE1hcmtlclJh
bmdlIEFYSXNvbGF0ZWRPYmplY3Q6OnRleHRNYXJrZXJSYW5nZSgpIGNvbnN0CiB7CiAgICAgaWYg
KGlzU2VjdXJlRmllbGQoKSkgewpAQCAtMTEwLDE3ICsxMTgsMTQgQEAgQVhUZXh0TWFya2VyUmFu
Z2UgQVhJc29sYXRlZE9iamVjdDo6dGV4dE1hcmtlclJhbmdlKCkgY29uc3QKICAgICAgICAgcmV0
dXJuIHsgfTsKICAgICB9CiAKLSAgICBpZiAoYXV0byBhdHRyaWJ1dGVkVGV4dCA9IHByb3BlcnR5
VmFsdWU8UmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4+KEFYUHJvcGVydHlOYW1lOjpBdHRy
aWJ1dGVkVGV4dCkpIHsKLSAgICAgICAgU3RyaW5nIHRleHQgeyBbYXR0cmlidXRlZFRleHQgc3Ry
aW5nXSB9OwotICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSkgewotICAgICAgICAgICAgVGV4dE1h
cmtlckRhdGEgc3RhcnQodHJlZSgpLT50cmVlSUQoKSwgb2JqZWN0SUQoKSwKLSAgICAgICAgICAg
ICAgICBudWxscHRyLCAwLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yLCBBZmZp
bml0eTo6RG93bnN0cmVhbSwKLSAgICAgICAgICAgICAgICAwLCAwKTsKLSAgICAgICAgICAgIFRl
eHRNYXJrZXJEYXRhIGVuZCh0cmVlKCktPnRyZWVJRCgpLCBvYmplY3RJRCgpLAotICAgICAgICAg
ICAgICAgIG51bGxwdHIsIHRleHQubGVuZ3RoKCksIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0
SW5BbmNob3IsIEFmZmluaXR5OjpEb3duc3RyZWFtLAotICAgICAgICAgICAgICAgIDAsIHRleHQu
bGVuZ3RoKCkpOwotICAgICAgICAgICAgcmV0dXJuIHsgeyBzdGFydCB9LCB7IGVuZCB9IH07Ci0g
ICAgICAgIH0KKyAgICBpZiAoYXV0byB0ZXh0ID0gdGV4dENvbnRlbnQoKSkgeworICAgICAgICBU
ZXh0TWFya2VyRGF0YSBzdGFydCh0cmVlKCktPnRyZWVJRCgpLCBvYmplY3RJRCgpLAorICAgICAg
ICAgICAgbnVsbHB0ciwgMCwgUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciwgQWZm
aW5pdHk6OkRvd25zdHJlYW0sCisgICAgICAgICAgICAwLCAwKTsKKyAgICAgICAgVGV4dE1hcmtl
ckRhdGEgZW5kKHRyZWUoKS0+dHJlZUlEKCksIG9iamVjdElEKCksCisgICAgICAgICAgICBudWxs
cHRyLCB0ZXh0LT5sZW5ndGgoKSwgUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciwg
QWZmaW5pdHk6OkRvd25zdHJlYW0sCisgICAgICAgICAgICAwLCB0ZXh0LT5sZW5ndGgoKSk7Cisg
ICAgICAgIHJldHVybiB7IHsgc3RhcnQgfSwgeyBlbmQgfSB9OwogICAgIH0KIAogICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8QVhUZXh0TWFya2Vy
UmFuZ2U+KFt0aGlzXSAoKSB7CkBAIC0yODksNyArMjk0LDcgQEAgU3RyaW5nIEFYSXNvbGF0ZWRP
YmplY3Q6OmRlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWUoKSBjb25zdAogICAgIGlmICghc2hvdWxk
Q29tcHV0ZURlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWUoKSkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIHJldHVybiBjb25zdF9jYXN0PEFYSXNvbGF0ZWRPYmplY3QqPih0aGlzKS0+Z2V0T3JS
ZXRyaWV2ZVByb3BlcnR5VmFsdWU8U3RyaW5nPihBWFByb3BlcnR5TmFtZTo6RGVzY3JpcHRpb24p
OworICAgIHJldHVybiBjb25zdF9jYXN0PEFYSXNvbGF0ZWRPYmplY3QqPih0aGlzKS0+Z2V0T3JS
ZXRyaWV2ZVByb3BlcnR5VmFsdWU8U3RyaW5nPihBWFByb3BlcnR5TmFtZTo6RGVzY3JpcHRpb25B
dHRyaWJ1dGVWYWx1ZSk7CiB9CiAKIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0OjpoZWxwVGV4dEF0
dHJpYnV0ZVZhbHVlKCkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>