<?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>223256</bug_id>
          
          <creation_ts>2021-03-16 08:39:15 -0700</creation_ts>
          <short_desc>Web Inspector: add GridOverlay diagnostic event and related hooks</short_desc>
          <delta_ts>2021-03-17 14:39:26 -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>Web Inspector</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="Razvan Caliman">rcaliman</reporter>
          <assigned_to name="Razvan Caliman">rcaliman</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739950</commentid>
    <comment_count>0</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-03-16 08:39:15 -0700</bug_when>
    <thetext>Add telemetry for usage of CSS Grid Inspector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739951</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-16 08:39:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/75478239&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739958</commentid>
    <comment_count>2</comment_count>
      <attachid>423335</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-03-16 08:55:39 -0700</bug_when>
    <thetext>Created attachment 423335
Patch

patch for requesting feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739987</commentid>
    <comment_count>3</comment_count>
      <attachid>423335</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-03-16 09:54:56 -0700</bug_when>
    <thetext>Comment on attachment 423335
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:587
&gt; +        WI.diagnosticController.addRecorder(new WI.GridOverlayDiagnosticEventRecorder(WI.diagnosticController));

Nit: add backend feature check (InspectorBackend.supports(&quot;DOM.showGridOverlay&quot;) or similar)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:65
&gt; +                options[value] = value;

As discussed, we should always include all the keys we know about and use 0 or 1 for booleans.

What do you think about collecting whether the grid overlay was drawn with a non-default color? (Probably need to query the overlay manager to determine this in a sane way)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:74
&gt; +WI.GridOverlayDiagnosticEventRecorder.TriggerType = {

Let&apos;s call this &apos;Initiator&apos; which is a more common terminology in our codebase for hints like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740000</commentid>
    <comment_count>4</comment_count>
      <attachid>423335</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-16 10:14:13 -0700</bug_when>
    <thetext>Comment on attachment 423335
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:587
&gt;&gt; +        WI.diagnosticController.addRecorder(new WI.GridOverlayDiagnosticEventRecorder(WI.diagnosticController));
&gt; 
&gt; Nit: add backend feature check (InspectorBackend.supports(&quot;DOM.showGridOverlay&quot;) or similar)

NIT: I&apos;d also put this last (grid overlay is likely not as important/used as target types or tab stuff)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:53
&gt; +        // While changing the overlay color, WI.OverlayManager.Event.GridOverlayShown is dispatched with high frequency.
&gt; +        // A trigger is not provided so as not to skew usage count of overlay options.

I feel like this would be better at the call site, not here.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:57
&gt; +        let usedOptions = [

IMO this is kinda odd.  Is there a way to do this more declaratively without `reduce`?

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:62
&gt; +            &quot;showAreaNames&quot;

Style: missing comma</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740041</commentid>
    <comment_count>5</comment_count>
      <attachid>423356</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-03-16 10:58:55 -0700</bug_when>
    <thetext>Created attachment 423356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740052</commentid>
    <comment_count>6</comment_count>
      <attachid>423335</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-03-16 11:09:42 -0700</bug_when>
    <thetext>Comment on attachment 423335
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:587
&gt;&gt;&gt; +        WI.diagnosticController.addRecorder(new WI.GridOverlayDiagnosticEventRecorder(WI.diagnosticController));
&gt;&gt; 
&gt;&gt; Nit: add backend feature check (InspectorBackend.supports(&quot;DOM.showGridOverlay&quot;) or similar)
&gt; 
&gt; NIT: I&apos;d also put this last (grid overlay is likely not as important/used as target types or tab stuff)

@BJ, I think you meant `InspectorBackend.hasCommand(&quot;DOM.showGridOverlay&quot;)`
@Devin, ok.

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:53
&gt;&gt; +        // A trigger is not provided so as not to skew usage count of overlay options.
&gt; 
&gt; I feel like this would be better at the call site, not here.

Good idea. Moved.

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:57
&gt;&gt; +        let usedOptions = [
&gt; 
&gt; IMO this is kinda odd.  Is there a way to do this more declaratively without `reduce`?

Declarative done.

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:65
&gt;&gt; +                options[value] = value;
&gt; 
&gt; As discussed, we should always include all the keys we know about and use 0 or 1 for booleans.
&gt; 
&gt; What do you think about collecting whether the grid overlay was drawn with a non-default color? (Probably need to query the overlay manager to determine this in a sane way)

Made them integers with the expectation that these will be summed-up over time. That&apos;s what we&apos;re interested in anyway: which options are most used.
We may switch to booleans if we expect to use them as such and if the views allow us to filter the data as we need it.

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayDiagnosticEventRecorder.js:74
&gt;&gt; +WI.GridOverlayDiagnosticEventRecorder.TriggerType = {
&gt; 
&gt; Let&apos;s call this &apos;Initiator&apos; which is a more common terminology in our codebase for hints like this.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740058</commentid>
    <comment_count>7</comment_count>
      <attachid>423356</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-03-16 11:14:15 -0700</bug_when>
    <thetext>Comment on attachment 423356
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740914</commentid>
    <comment_count>8</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-03-17 14:39:26 -0700</bug_when>
    <thetext>Committed r274592 (235433@main): &lt;https://commits.webkit.org/235433@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423335</attachid>
            <date>2021-03-16 08:55:39 -0700</date>
            <delta_ts>2021-03-16 10:58:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223256-20210316165538.patch</filename>
            <type>text/plain</type>
            <size>11050</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU2NGMzMGIxNGY4NTMzMWRkOTBjNTVlNWVjN2Jk
ZTk2MTM0M2FiNzQuLmMxMzVhNGMyYjU5ZmE0MGJjYjlmYWI1ODcxNTczZDVhZGYxNTgxZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAzLTE2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBhZGQgR3JpZE92ZXJsYXkgZGlhZ25vc3RpYyBldmVudCBhbmQgcmVsYXRlZCBob29rcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjU2CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ3ODIzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAg
ICAgICAoV0kuY29udGVudExvYWRlZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9HcmlkT3ZlcmxheURpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIpOgorICAgICAgICAoV0ku
R3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuc2V0dXApOgorICAg
ICAgICAoV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUudGVh
cmRvd24pOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5w
cm90b3R5cGUuX2hhbmRsZUdyaWRPdmVybGF5U2hvd24pOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvT3ZlcmxheU1hbmFnZXIuanM6CisgICAgICAgIChXSS5PdmVybGF5TWFu
YWdlci5wcm90b3R5cGUuc2hvd0dyaWRPdmVybGF5KToKKyAgICAgICAgKFdJLk92ZXJsYXlNYW5h
Z2VyLnByb3RvdHlwZS50b2dnbGVHcmlkT3ZlcmxheSk6CisgICAgICAgIChXSS5PdmVybGF5TWFu
YWdlci5wcm90b3R5cGUuX2hhbmRsZUdyaWRTZXR0aW5nQ2hhbmdlZCk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9NYWluLmh0bWw6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DU1NH
cmlkU2VjdGlvbi5qczoKKyAgICAgICAgKFdJLkNTU0dyaWRTZWN0aW9uLnByb3RvdHlwZS5faGFu
ZGxlVG9nZ2xlQWxsQ2hlY2tib3hDaGFuZ2VkKToKKyAgICAgICAgKFdJLkNTU0dyaWRTZWN0aW9u
LnByb3RvdHlwZS5sYXlvdXQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2dyaWRC
YWRnZUNsaWNrZWQpOgorCiAyMDIxLTAzLTExICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBgV0kuT2JqZWN0LnNpbmdsZUZpcmVFdmVu
dExpc3RlbmVyYCBzaG91bGQgbm90IGtlZXAgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIGB0aGlzT2Jq
ZWN0YApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWlu
LmpzCmluZGV4IDFhZDk5Nzk4NmIwMTU2NGEzZjNkMDQ4ZjY4Njk2MWU5NzIwZjMyNzcuLmNhODg2
NTAyMDYzNDk4ZmY5ZTJjOGUzNzhjOGFlNzU5MDk3NmU1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTU4NCw2ICs1ODQsNyBA
QCBXSS5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQogCiAgICAgaWYgKEluc3BlY3RvckZyb250
ZW5kSG9zdC5zdXBwb3J0c0RpYWdub3N0aWNMb2dnaW5nKSB7CiAgICAgICAgIFdJLmRpYWdub3N0
aWNDb250cm9sbGVyID0gbmV3IFdJLkRpYWdub3N0aWNDb250cm9sbGVyOworICAgICAgICBXSS5k
aWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihuZXcgV0kuR3JpZE92ZXJsYXlEaWFnbm9z
dGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29udHJvbGxlcikpOwogICAgICAgICBXSS5k
aWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihuZXcgV0kuSW5zcGVjdGVkVGFyZ2V0VHlw
ZXNEaWFnbm9zdGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29udHJvbGxlcikpOwogICAg
ICAgICBXSS5kaWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihuZXcgV0kuVGFiQWN0aXZp
dHlEaWFnbm9zdGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29udHJvbGxlcikpOwogICAg
ICAgICBXSS5kaWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihuZXcgV0kuVGFiTmF2aWdh
dGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyKFdJLmRpYWdub3N0aWNDb250cm9sbGVyKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9HcmlkT3ZlcmxheURpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZl
bnRSZWNvcmRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNmZjNGEwYTFhNzc4NWFiNjE0NWUwMTlkYTYyMjRh
MDc3YTY3YmNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5q
cwpAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGlj
RXZlbnRSZWNvcmRlciA9IGNsYXNzIEdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIg
ZXh0ZW5kcyBXSS5EaWFnbm9zdGljRXZlbnRSZWNvcmRlcgoreworICAgIGNvbnN0cnVjdG9yKGNv
bnRyb2xsZXIpCisgICAgeworICAgICAgICBzdXBlcigiR3JpZE92ZXJsYXkiLCBjb250cm9sbGVy
KTsKKworICAgICAgICB0aGlzLl90cmlnZ2VyVHlwZXMgPSBPYmplY3QudmFsdWVzKFdJLkdyaWRP
dmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuVHJpZ2dlclR5cGUpOworICAgIH0KKworICAg
IC8vIFByb3RlY3RlZAorCisgICAgc2V0dXAoKQorICAgIHsKKyAgICAgICAgV0kub3ZlcmxheU1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5FdmVudC5HcmlkT3Zlcmxh
eVNob3duLCB0aGlzLl9oYW5kbGVHcmlkT3ZlcmxheVNob3duLCB0aGlzKTsKKyAgICB9CisKKyAg
ICB0ZWFyZG93bigpCisgICAgeworICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5yZW1vdmVFdmVu
dExpc3RlbmVyKFdJLk92ZXJsYXlNYW5hZ2VyLkV2ZW50LkdyaWRPdmVybGF5U2hvd24sIHRoaXMu
X2hhbmRsZUdyaWRPdmVybGF5U2hvd24sIHRoaXMpOworICAgIH0KKworICAgIC8vIFByaXZhdGUK
KworICAgIF9oYW5kbGVHcmlkT3ZlcmxheVNob3duKGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0
IHRyaWdnZXIgPSBldmVudC5kYXRhLnRyaWdnZXI7CisgICAgICAgIC8vIFdoaWxlIGNoYW5naW5n
IHRoZSBvdmVybGF5IGNvbG9yLCBXSS5PdmVybGF5TWFuYWdlci5FdmVudC5HcmlkT3ZlcmxheVNo
b3duIGlzIGRpc3BhdGNoZWQgd2l0aCBoaWdoIGZyZXF1ZW5jeS4KKyAgICAgICAgLy8gQSB0cmln
Z2VyIGlzIG5vdCBwcm92aWRlZCBzbyBhcyBub3QgdG8gc2tldyB1c2FnZSBjb3VudCBvZiBvdmVy
bGF5IG9wdGlvbnMuCisgICAgICAgIGlmICghdHJpZ2dlciB8fCAhdGhpcy5fdHJpZ2dlclR5cGVz
LmluY2x1ZGVzKHRyaWdnZXIpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCB1
c2VkT3B0aW9ucyA9IFsKKyAgICAgICAgICAgICJzaG93TGluZU5hbWVzIiwKKyAgICAgICAgICAg
ICJzaG93TGluZU51bWJlcnMiLAorICAgICAgICAgICAgInNob3dFeHRlbmRlZEdyaWRMaW5lcyIs
CisgICAgICAgICAgICAic2hvd1RyYWNrU2l6ZXMiLAorICAgICAgICAgICAgInNob3dBcmVhTmFt
ZXMiCisgICAgICAgIF0ucmVkdWNlKChvcHRpb25zLCB2YWx1ZSkgPT4geworICAgICAgICAgICAg
aWYgKGV2ZW50LmRhdGFbdmFsdWVdID09PSB0cnVlKQorICAgICAgICAgICAgICAgIG9wdGlvbnNb
dmFsdWVdID0gdmFsdWU7CisKKyAgICAgICAgICAgIHJldHVybiBvcHRpb25zOworICAgICAgICB9
LCB7fSk7CisKKyAgICAgICAgdGhpcy5sb2dEaWFnbm9zdGljRXZlbnQodGhpcy5uYW1lLCB7dHJp
Z2dlciwgLi4udXNlZE9wdGlvbnN9KTsKKyAgICB9Cit9OworCitXSS5HcmlkT3ZlcmxheURpYWdu
b3N0aWNFdmVudFJlY29yZGVyLlRyaWdnZXJUeXBlID0geworICAgIEJhZGdlOiAiYmFkZ2UiLAor
ICAgIFBhbmVsOiAicGFuZWwiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvT3ZlcmxheU1hbmFnZXIuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qcwpp
bmRleCAyZGUxY2VlZjcyYWY5MjQ0NWRlNDYxMzg3ZWIzOWNhODljZTVmZWM4Li4zMGMwMTJlOTZl
OGQzMDA5MDgwNmQ5MGM3Y2ZhODI4NzhiOTlhZTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5
TWFuYWdlci5qcwpAQCAtNDQsNyArNDQsNyBAQCBXSS5PdmVybGF5TWFuYWdlciA9IGNsYXNzIE92
ZXJsYXlNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQdWJsaWMKIAotICAgIHNo
b3dHcmlkT3ZlcmxheShkb21Ob2RlLCB7Y29sb3J9ID0ge30pCisgICAgc2hvd0dyaWRPdmVybGF5
KGRvbU5vZGUsIHtjb2xvciwgdHJpZ2dlcn0gPSB7fSkKICAgICB7CiAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCFkb21Ob2RlLmRlc3Ryb3llZCwgZG9tTm9kZSk7CiAgICAgICAgIGlmIChkb21Ob2Rl
LmRlc3Ryb3llZCkKQEAgLTY3LDcgKzY3LDcgQEAgV0kuT3ZlcmxheU1hbmFnZXIgPSBjbGFzcyBP
dmVybGF5TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB9OwogICAgICAgICB0YXJn
ZXQuRE9NQWdlbnQuc2hvd0dyaWRPdmVybGF5Lmludm9rZShjb21tYW5kQXJndW1lbnRzKTsKIAot
ICAgICAgICBsZXQgb3ZlcmxheSA9IHtkb21Ob2RlLCAuLi5jb21tYW5kQXJndW1lbnRzfTsKKyAg
ICAgICAgbGV0IG92ZXJsYXkgPSB7ZG9tTm9kZSwgLi4uY29tbWFuZEFyZ3VtZW50cywgdHJpZ2dl
cn07CiAKICAgICAgICAgLy8gVGhlIG1ldGhvZCB0byBzaG93IHRoZSBvdmVybGF5IHdpbGwgYmUg
Y2FsbGVkIHJlcGVhdGVkbHkgd2hpbGUgdXBkYXRpbmcgdGhlIGdyaWQgb3ZlcmxheSBjb2xvci4g
QXZvaWQgYWRkaW5nIGR1cGxpY2F0ZSBldmVudCBsaXN0ZW5lcnMKICAgICAgICAgaWYgKCF0aGlz
Ll9ncmlkT3ZlcmxheUZvck5vZGVNYXAuaGFzKGRvbU5vZGUpKQpAQCAtMTAyLDEyICsxMDIsMTIg
QEAgV0kuT3ZlcmxheU1hbmFnZXIgPSBjbGFzcyBPdmVybGF5TWFuYWdlciBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZE92ZXJsYXlGb3JOb2RlTWFwLmhhcyhkb21O
b2RlKTsKICAgICB9CiAKLSAgICB0b2dnbGVHcmlkT3ZlcmxheShkb21Ob2RlKQorICAgIHRvZ2ds
ZUdyaWRPdmVybGF5KGRvbU5vZGUsIG9wdGlvbnMpCiAgICAgewogICAgICAgICBpZiAodGhpcy5p
c0dyaWRPdmVybGF5VmlzaWJsZShkb21Ob2RlKSkKICAgICAgICAgICAgIHRoaXMuaGlkZUdyaWRP
dmVybGF5KGRvbU5vZGUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLnNob3dHcmlk
T3ZlcmxheShkb21Ob2RlKTsKKyAgICAgICAgICAgIHRoaXMuc2hvd0dyaWRPdmVybGF5KGRvbU5v
ZGUsIG9wdGlvbnMpOwogICAgIH0KIAogICAgIGdldEdyaWRDb2xvckZvck5vZGUoZG9tTm9kZSkK
QEAgLTE3MCw3ICsxNzAsNyBAQCBXSS5PdmVybGF5TWFuYWdlciA9IGNsYXNzIE92ZXJsYXlNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICBmb3IgKGxldCBbZG9tTm9kZSwg
b3ZlcmxheV0gb2YgdGhpcy5fZ3JpZE92ZXJsYXlGb3JOb2RlTWFwKSB7CiAgICAgICAgICAgICAv
LyBSZWZyZXNoIGFsbCBzaG93biBvdmVybGF5cy4gTGF0ZXN0IHNldHRpbmdzIHZhbHVlcyB3aWxs
IGJlIHVzZWQuCi0gICAgICAgICAgICB0aGlzLnNob3dHcmlkT3ZlcmxheShkb21Ob2RlLCB7Y29s
b3I6IG92ZXJsYXkuY29sb3J9KTsKKyAgICAgICAgICAgIHRoaXMuc2hvd0dyaWRPdmVybGF5KGRv
bU5vZGUsIHtjb2xvcjogb3ZlcmxheS5jb2xvciwgdHJpZ2dlcjogb3ZlcmxheS50cmlnZ2VyfSk7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01haW4uaHRtbAppbmRleCA3ZTdkNGRjZDVkOTJjY2M2ODcyZTA5YjA2OTgwY2E2N2FlOTNm
ZjVhLi44YTNjOTAzYTFiOWQ1YmZiNmRjZGYwYWEwYWE4M2VmYjllODE0YjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC05MjMsNiArOTIz
LDcgQEAKIAogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9EaWFnbm9zdGljQ29udHJvbGxl
ci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RpYWdub3N0aWNF
dmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMv
R3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luc3BlY3RlZFRhcmdldFR5cGVzRGlhZ25vc3RpY0V2ZW50
UmVjb3JkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9UYWJB
Y3Rpdml0eURpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iQ29udHJvbGxlcnMvVGFiTmF2aWdhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLmpz
Ij48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NTU0dyaWRTZWN0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ1NTR3JpZFNlY3Rpb24uanMKaW5kZXggYTUzMGVlNTA0MWZhNzFmZmM3
NDZiMDU5OGFjOTcxYWRhOWE5N2JiZS4uMDQ1ZGEyY2IwOTE5Y2ZlMzQ3MjY1ZTk4M2E3NzdiOGY1
MDIxNjBmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ1NTR3JpZFNlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ1NTR3JpZFNlY3Rpb24uanMKQEAgLTk4LDcgKzk4LDcgQEAgV0kuQ1NT
R3JpZFNlY3Rpb24gPSBjbGFzcyBDU1NHcmlkU2VjdGlvbiBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgdGhpcy5fc3VwcHJlc3NVcGRhdGVUb2dnbGVBbGxDaGVja2JveCA9IHRydWU7CiAgICAgICAg
IGZvciAobGV0IGRvbU5vZGUgb2YgdGhpcy5fZ3JpZE5vZGVTZXQpIHsKICAgICAgICAgICAgIGlm
IChpc0NoZWNrZWQpCi0gICAgICAgICAgICAgICAgV0kub3ZlcmxheU1hbmFnZXIuc2hvd0dyaWRP
dmVybGF5KGRvbU5vZGUpOworICAgICAgICAgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLnNob3dH
cmlkT3ZlcmxheShkb21Ob2RlLCB7dHJpZ2dlcjogV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZl
bnRSZWNvcmRlci5UcmlnZ2VyVHlwZS5QYW5lbH0pOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLmhpZGVHcmlkT3ZlcmxheShkb21Ob2RlKTsKICAg
ICAgICAgfQpAQCAtMTI5LDcgKzEyOSw3IEBAIFdJLkNTU0dyaWRTZWN0aW9uID0gY2xhc3MgQ1NT
R3JpZFNlY3Rpb24gZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAgICAgICAgIGNoZWNrYm94RWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCAoZXZlbnQpID0+IHsKICAgICAgICAgICAgICAg
ICBpZiAoY2hlY2tib3hFbGVtZW50LmNoZWNrZWQpCi0gICAgICAgICAgICAgICAgICAgIFdJLm92
ZXJsYXlNYW5hZ2VyLnNob3dHcmlkT3ZlcmxheShkb21Ob2RlLCB7Y29sb3I6IHN3YXRjaC52YWx1
ZX0pOworICAgICAgICAgICAgICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5zaG93R3JpZE92ZXJs
YXkoZG9tTm9kZSwge2NvbG9yOiBzd2F0Y2gudmFsdWUsIHRyaWdnZXI6IFdJLkdyaWRPdmVybGF5
RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuVHJpZ2dlclR5cGUuUGFuZWx9KTsKICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLmhpZGVHcmlk
T3ZlcmxheShkb21Ob2RlKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcwpp
bmRleCAzZTE3NmExMWRhMWFhMGQ5MjU2OGU5MzNmN2UyZDNkODYyNGYwZjMzLi41ZTY2ZDk1OWU0
NmQzZTM4MzE1MDU4MDI4ODljNWI3NThlZTNjMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcwpA
QCAtMjA0NCw3ICsyMDQ0LDcgQEAgV0kuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxl
bWVudCBleHRlbmRzIFdJLlRyZWVFbGVtZW50CiAgICAgICAgIC8vIERvbid0IGV4cGFuZCBvciBj
b2xsYXBzZSBhIHRyZWUgZWxlbWVudCB3aGVuIGNsaWNraW5nIG9uIHRoZSBncmlkIGJhZGdlLgog
ICAgICAgICBldmVudC5zdG9wKCk7CiAKLSAgICAgICAgV0kub3ZlcmxheU1hbmFnZXIudG9nZ2xl
R3JpZE92ZXJsYXkodGhpcy5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgIFdJLm92ZXJsYXlN
YW5hZ2VyLnRvZ2dsZUdyaWRPdmVybGF5KHRoaXMucmVwcmVzZW50ZWRPYmplY3QsIHt0cmlnZ2Vy
OiBXSS5HcmlkT3ZlcmxheURpYWdub3N0aWNFdmVudFJlY29yZGVyLlRyaWdnZXJUeXBlLkJhZGdl
fSk7CiAgICAgfQogCiAgICAgX2dyaWRCYWRnZURvdWJsZUNsaWNrZWQoZXZlbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423356</attachid>
            <date>2021-03-16 10:58:55 -0700</date>
            <delta_ts>2021-03-17 02:44:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223256-20210316185854.patch</filename>
            <type>text/plain</type>
            <size>11888</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU2NGMzMGIxNGY4NTMzMWRkOTBjNTVlNWVjN2Jk
ZTk2MTM0M2FiNzQuLmMxZDZmN2Y3MTA3ZDBmMDM1ZWU2ZDQwYTRkNGZjZTUwYmY0ZmYwODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTAzLTE2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBhZGQgR3JpZE92ZXJsYXkgZGlhZ25vc3RpYyBldmVudCBhbmQgcmVsYXRlZCBob29rcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjU2CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ3ODIzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW5zdHJ1bWVudGF0aW9uIHRvIGxvZyB0ZWxlbWV0
cnkgZm9yIHRoZSBDU1MgR3JpZCBJbnNwZWN0b3IuCisKKyAgICAgICAgV2Ugd2FudCB0byBhbnN3
ZXIgdGhlc2UgcXVlc3Rpb25zOgorICAgICAgICAtIEhvdyBkbyB1c2VycyBwcmVmZXIgdG8gdG9n
Z2xlIHRoZSBvdmVybGF5LCBpbi1jb250ZXh0IGZyb20gZ3JpZCBiYWRnZXMgaW4gdGhlIERPTSB0
cmVlCisgICAgICAgICAgb3IgZnJvbSB0aGUgYWdncmVnYXRlZCBncmlkIG5vZGUgb3ZlcmxheSBs
aXN0IGluIExheW91dCBzaWRlYmFyIHBhbmVsPworICAgICAgICAtIFdoaWNoIG92ZXJsYXkgb3B0
aW9ucyBhcmUgbW9zdCB1c2VkPyBEaWQgd2UgcGljayBnb29kIGRlZmF1bHRzIG9yIGRvIHVzZXJz
IHByZWZlciBvdGhlcnM/CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoK
KyAgICAgICAgKFdJLmNvbnRlbnRMb2FkZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qczogQWRkZWQuCisg
ICAgICAgIChXSS5HcmlkT3ZlcmxheURpYWdub3N0aWNFdmVudFJlY29yZGVyKToKKyAgICAgICAg
KFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLnNldHVwKToK
KyAgICAgICAgKFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBl
LnRlYXJkb3duKToKKyAgICAgICAgKFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3Jk
ZXIucHJvdG90eXBlLl9oYW5kbGVHcmlkT3ZlcmxheVNob3duKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuT3Zlcmxh
eU1hbmFnZXIucHJvdG90eXBlLnNob3dHcmlkT3ZlcmxheSk6CisgICAgICAgIChXSS5PdmVybGF5
TWFuYWdlci5wcm90b3R5cGUudG9nZ2xlR3JpZE92ZXJsYXkpOgorICAgICAgICAoV0kuT3Zlcmxh
eU1hbmFnZXIucHJvdG90eXBlLl9oYW5kbGVHcmlkU2V0dGluZ0NoYW5nZWQpOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Q1NTR3JpZFNlY3Rpb24uanM6CisgICAgICAgIChXSS5DU1NHcmlkU2VjdGlvbi5wcm90b3R5cGUu
X2hhbmRsZVRvZ2dsZUFsbENoZWNrYm94Q2hhbmdlZCk6CisgICAgICAgIChXSS5DU1NHcmlkU2Vj
dGlvbi5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RP
TVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLl9n
cmlkQmFkZ2VDbGlja2VkKToKKwogMjAyMS0wMy0xMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYFdJLk9iamVjdC5zaW5nbGVGaXJl
RXZlbnRMaXN0ZW5lcmAgc2hvdWxkIG5vdCBrZWVwIGEgc3Ryb25nIHJlZmVyZW5jZSB0byBgdGhp
c09iamVjdGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qcwppbmRleCAxYWQ5OTc5ODZiMDE1NjRhM2YzZDA0OGY2ODY5NjFlOTcyMGYzMjc3Li5k
NjA3MmNiMzNhNzBhODQzZTI3NTg2OWU0ZTU2NWRiODIxNTM1YWM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC01ODcsNiArNTg3
LDkgQEAgV0kuY29udGVudExvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICAgICAgV0kuZGlhZ25vc3Rp
Y0NvbnRyb2xsZXIuYWRkUmVjb3JkZXIobmV3IFdJLkluc3BlY3RlZFRhcmdldFR5cGVzRGlhZ25v
c3RpY0V2ZW50UmVjb3JkZXIoV0kuZGlhZ25vc3RpY0NvbnRyb2xsZXIpKTsKICAgICAgICAgV0ku
ZGlhZ25vc3RpY0NvbnRyb2xsZXIuYWRkUmVjb3JkZXIobmV3IFdJLlRhYkFjdGl2aXR5RGlhZ25v
c3RpY0V2ZW50UmVjb3JkZXIoV0kuZGlhZ25vc3RpY0NvbnRyb2xsZXIpKTsKICAgICAgICAgV0ku
ZGlhZ25vc3RpY0NvbnRyb2xsZXIuYWRkUmVjb3JkZXIobmV3IFdJLlRhYk5hdmlnYXRpb25EaWFn
bm9zdGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29udHJvbGxlcikpOworCisgICAgICAg
IGlmIChJbnNwZWN0b3JCYWNrZW5kLmhhc0NvbW1hbmQoIkRPTS5zaG93R3JpZE92ZXJsYXkiKSkK
KyAgICAgICAgICAgIFdJLmRpYWdub3N0aWNDb250cm9sbGVyLmFkZFJlY29yZGVyKG5ldyBXSS5H
cmlkT3ZlcmxheURpYWdub3N0aWNFdmVudFJlY29yZGVyKFdJLmRpYWdub3N0aWNDb250cm9sbGVy
KSk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dyaWRP
dmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNjNDc2MmJhZjQw
NTk4NmU3MjhlZjI0ZDg5Y2MzZmMxZmIyZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dyaWRPdmVybGF5RGlhZ25v
c3RpY0V2ZW50UmVjb3JkZXIuanMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dJLkdy
aWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIgPSBjbGFzcyBHcmlkT3ZlcmxheURpYWdu
b3N0aWNFdmVudFJlY29yZGVyIGV4dGVuZHMgV0kuRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIKK3sK
KyAgICBjb25zdHJ1Y3Rvcihjb250cm9sbGVyKQorICAgIHsKKyAgICAgICAgc3VwZXIoIkdyaWRP
dmVybGF5IiwgY29udHJvbGxlcik7CisKKyAgICAgICAgdGhpcy5faW5pdGlhdG9ycyA9IE9iamVj
dC52YWx1ZXMoV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5Jbml0aWF0b3Ip
OworICAgIH0KKworICAgIC8vIFByb3RlY3RlZAorCisgICAgc2V0dXAoKQorICAgIHsKKyAgICAg
ICAgV0kub3ZlcmxheU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5F
dmVudC5HcmlkT3ZlcmxheVNob3duLCB0aGlzLl9oYW5kbGVHcmlkT3ZlcmxheVNob3duLCB0aGlz
KTsKKyAgICB9CisKKyAgICB0ZWFyZG93bigpCisgICAgeworICAgICAgICBXSS5vdmVybGF5TWFu
YWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLk92ZXJsYXlNYW5hZ2VyLkV2ZW50LkdyaWRPdmVy
bGF5U2hvd24sIHRoaXMuX2hhbmRsZUdyaWRPdmVybGF5U2hvd24sIHRoaXMpOworICAgIH0KKwor
ICAgIC8vIFByaXZhdGUKKworICAgIF9oYW5kbGVHcmlkT3ZlcmxheVNob3duKGV2ZW50KQorICAg
IHsKKyAgICAgICAgbGV0IGluaXRpYXRvciA9IGV2ZW50LmRhdGEuaW5pdGlhdG9yOworICAgICAg
ICBpZiAoIWluaXRpYXRvciB8fCAhdGhpcy5faW5pdGlhdG9ycy5pbmNsdWRlcyhpbml0aWF0b3Ip
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBzaG93VHJhY2tTaXplcyA9IGV2
ZW50LmRhdGEuc2hvd1RyYWNrU2l6ZXMgPyAxIDogMDsKKyAgICAgICAgbGV0IHNob3dMaW5lTnVt
YmVycyA9IGV2ZW50LmRhdGEuc2hvd0xpbmVOdW1iZXJzID8gMSA6IDA7CisgICAgICAgIGxldCBz
aG93TGluZU5hbWVzID0gZXZlbnQuZGF0YS5zaG93TGluZU5hbWVzID8gMSA6IDA7CisgICAgICAg
IGxldCBzaG93QXJlYU5hbWVzID0gZXZlbnQuZGF0YS5zaG93QXJlYU5hbWVzID8gMSA6IDA7Cisg
ICAgICAgIGxldCBzaG93RXh0ZW5kZWRHcmlkTGluZXMgPSBldmVudC5kYXRhLnNob3dFeHRlbmRl
ZEdyaWRMaW5lcyA/IDEgOiAwOworCisgICAgICAgIHRoaXMubG9nRGlhZ25vc3RpY0V2ZW50KHRo
aXMubmFtZSwge2luaXRpYXRvciwgc2hvd1RyYWNrU2l6ZXMsIHNob3dMaW5lTnVtYmVycywgc2hv
d0xpbmVOYW1lcywgc2hvd0FyZWFOYW1lcywgc2hvd0V4dGVuZGVkR3JpZExpbmVzfSk7CisgICAg
fQorfTsKKworV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5Jbml0aWF0b3Ig
PSB7CisgICAgQmFkZ2U6ICJiYWRnZSIsCisgICAgUGFuZWw6ICJwYW5lbCIKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVy
bGF5TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzCmluZGV4IDJkZTFjZWVmNzJhZjkyNDQ1ZGU0NjEzODdl
YjM5Y2E4OWNlNWZlYzguLjE2MmViMzE0YzIyY2Y5MTVkNTk5ODI0NTIzZmZlYmI3NDQ5MjhlNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL092ZXJsYXlNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzCkBAIC00NCw3ICs0NCw3IEBAIFdJ
Lk92ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
IAogICAgIC8vIFB1YmxpYwogCi0gICAgc2hvd0dyaWRPdmVybGF5KGRvbU5vZGUsIHtjb2xvcn0g
PSB7fSkKKyAgICBzaG93R3JpZE92ZXJsYXkoZG9tTm9kZSwge2NvbG9yLCBpbml0aWF0b3J9ID0g
e30pCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghZG9tTm9kZS5kZXN0cm95ZWQsIGRv
bU5vZGUpOwogICAgICAgICBpZiAoZG9tTm9kZS5kZXN0cm95ZWQpCkBAIC02Nyw3ICs2Nyw3IEBA
IFdJLk92ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgfTsKICAgICAgICAgdGFyZ2V0LkRPTUFnZW50LnNob3dHcmlkT3ZlcmxheS5p
bnZva2UoY29tbWFuZEFyZ3VtZW50cyk7CiAKLSAgICAgICAgbGV0IG92ZXJsYXkgPSB7ZG9tTm9k
ZSwgLi4uY29tbWFuZEFyZ3VtZW50c307CisgICAgICAgIGxldCBvdmVybGF5ID0ge2RvbU5vZGUs
IC4uLmNvbW1hbmRBcmd1bWVudHMsIGluaXRpYXRvcn07CiAKICAgICAgICAgLy8gVGhlIG1ldGhv
ZCB0byBzaG93IHRoZSBvdmVybGF5IHdpbGwgYmUgY2FsbGVkIHJlcGVhdGVkbHkgd2hpbGUgdXBk
YXRpbmcgdGhlIGdyaWQgb3ZlcmxheSBjb2xvci4gQXZvaWQgYWRkaW5nIGR1cGxpY2F0ZSBldmVu
dCBsaXN0ZW5lcnMKICAgICAgICAgaWYgKCF0aGlzLl9ncmlkT3ZlcmxheUZvck5vZGVNYXAuaGFz
KGRvbU5vZGUpKQpAQCAtMTAyLDEyICsxMDIsMTIgQEAgV0kuT3ZlcmxheU1hbmFnZXIgPSBjbGFz
cyBPdmVybGF5TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICByZXR1cm4gdGhpcy5f
Z3JpZE92ZXJsYXlGb3JOb2RlTWFwLmhhcyhkb21Ob2RlKTsKICAgICB9CiAKLSAgICB0b2dnbGVH
cmlkT3ZlcmxheShkb21Ob2RlKQorICAgIHRvZ2dsZUdyaWRPdmVybGF5KGRvbU5vZGUsIG9wdGlv
bnMpCiAgICAgewogICAgICAgICBpZiAodGhpcy5pc0dyaWRPdmVybGF5VmlzaWJsZShkb21Ob2Rl
KSkKICAgICAgICAgICAgIHRoaXMuaGlkZUdyaWRPdmVybGF5KGRvbU5vZGUpOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICB0aGlzLnNob3dHcmlkT3ZlcmxheShkb21Ob2RlKTsKKyAgICAgICAg
ICAgIHRoaXMuc2hvd0dyaWRPdmVybGF5KGRvbU5vZGUsIG9wdGlvbnMpOwogICAgIH0KIAogICAg
IGdldEdyaWRDb2xvckZvck5vZGUoZG9tTm9kZSkKQEAgLTE3MCw3ICsxNzAsNyBAQCBXSS5PdmVy
bGF5TWFuYWdlciA9IGNsYXNzIE92ZXJsYXlNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAg
ewogICAgICAgICBmb3IgKGxldCBbZG9tTm9kZSwgb3ZlcmxheV0gb2YgdGhpcy5fZ3JpZE92ZXJs
YXlGb3JOb2RlTWFwKSB7CiAgICAgICAgICAgICAvLyBSZWZyZXNoIGFsbCBzaG93biBvdmVybGF5
cy4gTGF0ZXN0IHNldHRpbmdzIHZhbHVlcyB3aWxsIGJlIHVzZWQuCi0gICAgICAgICAgICB0aGlz
LnNob3dHcmlkT3ZlcmxheShkb21Ob2RlLCB7Y29sb3I6IG92ZXJsYXkuY29sb3J9KTsKKyAgICAg
ICAgICAgIHRoaXMuc2hvd0dyaWRPdmVybGF5KGRvbU5vZGUsIHtjb2xvcjogb3ZlcmxheS5jb2xv
ciwgaW5pdGlhdG9yOiBvdmVybGF5LmluaXRpYXRvcn0pOwogICAgICAgICB9CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggN2U3
ZDRkY2Q1ZDkyY2NjNjg3MmUwOWIwNjk4MGNhNjdhZTkzZmY1YS4uOGEzYzkwM2ExYjlkNWJmYjZk
Y2RmMGFhMGFhODNlZmI5ZTgxNGIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uaHRtbApAQCAtOTIzLDYgKzkyMyw3IEBACiAKICAgICA8c2NyaXB0IHNy
Yz0iQ29udHJvbGxlcnMvRGlhZ25vc3RpY0NvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJDb250cm9sbGVycy9EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0dyaWRPdmVybGF5RGlhZ25vc3RpY0V2
ZW50UmVjb3JkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9J
bnNwZWN0ZWRUYXJnZXRUeXBlc0RpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvVGFiQWN0aXZpdHlEaWFnbm9zdGljRXZlbnRS
ZWNvcmRlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL1RhYk5h
dmlnYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NHcmlkU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU0dyaWRT
ZWN0aW9uLmpzCmluZGV4IGE1MzBlZTUwNDFmYTcxZmZjNzQ2YjA1OThhYzk3MWFkYTlhOTdiYmUu
LjI3Y2E3MTU1ZDFlNmQ4MjhjMmRjYTI5NTc2MTc3YjZlOTMwZDUyNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU0dyaWRTZWN0aW9uLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU0dyaWRT
ZWN0aW9uLmpzCkBAIC05OCw3ICs5OCw3IEBAIFdJLkNTU0dyaWRTZWN0aW9uID0gY2xhc3MgQ1NT
R3JpZFNlY3Rpb24gZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX3N1cHByZXNzVXBkYXRl
VG9nZ2xlQWxsQ2hlY2tib3ggPSB0cnVlOwogICAgICAgICBmb3IgKGxldCBkb21Ob2RlIG9mIHRo
aXMuX2dyaWROb2RlU2V0KSB7CiAgICAgICAgICAgICBpZiAoaXNDaGVja2VkKQotICAgICAgICAg
ICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLnNob3dHcmlkT3ZlcmxheShkb21Ob2RlKTsKKyAgICAg
ICAgICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5zaG93R3JpZE92ZXJsYXkoZG9tTm9kZSwge2lu
aXRpYXRvcjogV0kuR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5Jbml0aWF0b3Iu
UGFuZWx9KTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBXSS5vdmVybGF5TWFu
YWdlci5oaWRlR3JpZE92ZXJsYXkoZG9tTm9kZSk7CiAgICAgICAgIH0KQEAgLTEyOSw3ICsxMjks
NyBAQCBXSS5DU1NHcmlkU2VjdGlvbiA9IGNsYXNzIENTU0dyaWRTZWN0aW9uIGV4dGVuZHMgV0ku
VmlldwogCiAgICAgICAgICAgICBjaGVja2JveEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hh
bmdlIiwgKGV2ZW50KSA9PiB7CiAgICAgICAgICAgICAgICAgaWYgKGNoZWNrYm94RWxlbWVudC5j
aGVja2VkKQotICAgICAgICAgICAgICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5zaG93R3JpZE92
ZXJsYXkoZG9tTm9kZSwge2NvbG9yOiBzd2F0Y2gudmFsdWV9KTsKKyAgICAgICAgICAgICAgICAg
ICAgV0kub3ZlcmxheU1hbmFnZXIuc2hvd0dyaWRPdmVybGF5KGRvbU5vZGUsIHtjb2xvcjogc3dh
dGNoLnZhbHVlLCBpbml0aWF0b3I6IFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2ZW50UmVjb3Jk
ZXIuSW5pdGlhdG9yLlBhbmVsfSk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5oaWRlR3JpZE92ZXJsYXkoZG9tTm9kZSk7CiAgICAg
ICAgICAgICB9KTsKQEAgLTE0MCw2ICsxNDAsOCBAQCBXSS5DU1NHcmlkU2VjdGlvbiA9IGNsYXNz
IENTU0dyaWRTZWN0aW9uIGV4dGVuZHMgV0kuVmlldwogCiAgICAgICAgICAgICBzd2F0Y2guYWRk
RXZlbnRMaXN0ZW5lcihXSS5JbmxpbmVTd2F0Y2guRXZlbnQuVmFsdWVDaGFuZ2VkLCAoZXZlbnQp
ID0+IHsKICAgICAgICAgICAgICAgICBpZiAoY2hlY2tib3hFbGVtZW50LmNoZWNrZWQpCisgICAg
ICAgICAgICAgICAgICAgIC8vIFdoaWxlIGNoYW5naW5nIHRoZSBvdmVybGF5IGNvbG9yLCBXSS5P
dmVybGF5TWFuYWdlci5FdmVudC5HcmlkT3ZlcmxheVNob3duIGlzIGRpc3BhdGNoZWQgd2l0aCBo
aWdoIGZyZXF1ZW5jeS4KKyAgICAgICAgICAgICAgICAgICAgLy8gQW4gaW5pdGlhdG9yIGlzIG5v
dCBwcm92aWRlZCBzbyBhcyBub3QgdG8gc2tldyB1c2FnZSBjb3VudCBvZiBvdmVybGF5IG9wdGlv
bnMgd2hlbiBsb2dnaW5nIGRpYWdub3N0aWNzIGluIFdJLkdyaWRPdmVybGF5RGlhZ25vc3RpY0V2
ZW50UmVjb3JkZXIuCiAgICAgICAgICAgICAgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLnNob3dH
cmlkT3ZlcmxheShkb21Ob2RlLCB7Y29sb3I6IGV2ZW50LmRhdGEudmFsdWV9KTsKICAgICAgICAg
ICAgIH0sIHN3YXRjaCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMKaW5kZXggM2UxNzZhMTFkYTFh
YTBkOTI1NjhlOTMzZjdlMmQzZDg2MjRmMGYzMy4uNzBiMjUzOTAzZGQzYTkwNjljZmRlMDJkZjY4
YzRmMWUzODBiOWNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMKQEAgLTIwNDQsNyArMjA0NCw3
IEBAIFdJLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5U
cmVlRWxlbWVudAogICAgICAgICAvLyBEb24ndCBleHBhbmQgb3IgY29sbGFwc2UgYSB0cmVlIGVs
ZW1lbnQgd2hlbiBjbGlja2luZyBvbiB0aGUgZ3JpZCBiYWRnZS4KICAgICAgICAgZXZlbnQuc3Rv
cCgpOwogCi0gICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLnRvZ2dsZUdyaWRPdmVybGF5KHRoaXMu
cmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICBXSS5vdmVybGF5TWFuYWdlci50b2dnbGVHcmlk
T3ZlcmxheSh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LCB7aW5pdGlhdG9yOiBXSS5HcmlkT3Zlcmxh
eURpYWdub3N0aWNFdmVudFJlY29yZGVyLkluaXRpYXRvci5CYWRnZX0pOwogICAgIH0KIAogICAg
IF9ncmlkQmFkZ2VEb3VibGVDbGlja2VkKGV2ZW50KQo=
</data>
<flag name="review"
          id="442709"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="442826"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>