<?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>141875</bug_id>
          
          <creation_ts>2015-02-21 18:25:24 -0800</creation_ts>
          <short_desc>Web Inspector: Generate Previews more often for RemoteObject interaction</short_desc>
          <delta_ts>2015-02-21 19:50:53 -0800</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>528+ (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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1071035</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-02-21 18:25:24 -0800</bug_when>
    <thetext>* SUMMARY
Generate Previews more often for RemoteObject interaction.

Enable, fix, and use &quot;generatePreview&quot; in more places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071036</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-02-21 18:25:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/19915261&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071037</commentid>
    <comment_count>2</comment_count>
      <attachid>247071</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-02-21 18:30:52 -0800</bug_when>
    <thetext>Created attachment 247071
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071038</commentid>
    <comment_count>3</comment_count>
      <attachid>247072</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-02-21 18:31:28 -0800</bug_when>
    <thetext>Created attachment 247072
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071042</commentid>
    <comment_count>4</comment_count>
      <attachid>247072</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-02-21 18:43:32 -0800</bug_when>
    <thetext>Comment on attachment 247072
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js:394
&gt; +        RuntimeAgent.callFunctionOn(this._objectId, functionDeclaration.toString(), args, true, undefined, true mycallback);

Missing a comma.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071043</commentid>
    <comment_count>5</comment_count>
      <attachid>247072</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-02-21 18:56:11 -0800</bug_when>
    <thetext>Comment on attachment 247072
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js:394
&gt;&gt; +        RuntimeAgent.callFunctionOn(this._objectId, functionDeclaration.toString(), args, true, undefined, true mycallback);
&gt; 
&gt; Missing a comma.

Arg, good catch!! This was me rebasing to get isolated patches and this was the only conflict. Fail!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071044</commentid>
    <comment_count>6</comment_count>
      <attachid>247074</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-02-21 19:00:46 -0800</bug_when>
    <thetext>Created attachment 247074
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071051</commentid>
    <comment_count>7</comment_count>
      <attachid>247074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-21 19:50:49 -0800</bug_when>
    <thetext>Comment on attachment 247074
[PATCH] For Landing

Clearing flags on attachment: 247074

Committed r180483: &lt;http://trac.webkit.org/changeset/180483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071052</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-21 19:50:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247071</attachid>
            <date>2015-02-21 18:30:52 -0800</date>
            <delta_ts>2015-02-21 18:31:28 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>more-previews.patch</filename>
            <type>text/plain</type>
            <size>19082</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYmYwOWYuLjQ4N2Y4NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAyLTIxICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogR2VuZXJh
dGUgUHJldmlld3MgbW9yZSBvZnRlbiBmb3IgUmVtb3RlT2JqZWN0IGludGVyYWN0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE4NzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9w
cm90b2NvbC9SdW50aW1lLmpzb246CisgICAgICAgIEFkZCBnZW5lcmF0ZVByZXZpZXcgdG8gZ2V0
UHJvcGVydGllcy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHA6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0OjpnZXRQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHQ6OmdldEludGVybmFsUHJvcGVydGllcyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldFByb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50Lmg6CisgICAgICAgIFBsdW1iIHRoZSBnZW5l
cmF0ZVByZXZpZXcgYm9vbGVhbiB0aHJvdWdoIHRvIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6CisgICAgICAgIEFkZCBn
ZW5lcmF0ZVByZXZpZXcgZm9yIGdldFByb3BlcnRpZXMuCisgICAgICAgIEZpeCBjYWxsRnVuY3Rp
b25PbiB0byBnZW5lcmF0ZVByZXZpZXdzIGlmIGFza2VkLgorCisKIDIwMTUtMDItMTkgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIEVTNjogSW1wbGVtZW50IEFycmF5
LmZyb20oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0LmNwcAppbmRleCAyNGU4MGZkLi5iODdlMGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcApAQCAtMTA3LDEyICsxMDcs
MTMgQEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6Z2V0RnVuY3Rpb25EZXRhaWxzKEVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJgogICAgICpyZXN1bHQgPSBCaW5kaW5nVHJhaXRz
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRlYnVnZ2VyOjpGdW5jdGlvbkRldGFpbHM+OjpydW50aW1l
Q2FzdChXVEY6Om1vdmUocmVzdWx0VmFsdWUpKTsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdDo6
Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2Jq
ZWN0SWQsIGJvb2wgb3duUHJvcGVydGllcywgYm9vbCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBS
ZWZQdHI8QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UHJvcGVydHlEZXNjcmlw
dG9yPj4qIHByb3BlcnRpZXMpCit2b2lkIEluamVjdGVkU2NyaXB0OjpnZXRQcm9wZXJ0aWVzKEVy
cm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgYm9vbCBvd25Q
cm9wZXJ0aWVzLCBib29sIG93bkFuZEdldHRlclByb3BlcnRpZXMsIGJvb2wgZ2VuZXJhdGVQcmV2
aWV3LCBSZWZQdHI8QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UHJvcGVydHlE
ZXNjcmlwdG9yPj4qIHByb3BlcnRpZXMpCiB7CiAgICAgRGVwcmVjYXRlZDo6U2NyaXB0RnVuY3Rp
b25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2JqZWN0KCksIEFTQ0lJTGl0ZXJhbCgiZ2V0
UHJvcGVydGllcyIpLCBpbnNwZWN0b3JFbnZpcm9ubWVudCgpLT5mdW5jdGlvbkNhbGxIYW5kbGVy
KCkpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KG9iamVjdElkKTsKICAgICBmdW5jdGlv
bi5hcHBlbmRBcmd1bWVudChvd25Qcm9wZXJ0aWVzKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1
bWVudChvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzKTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVu
dChnZW5lcmF0ZVByZXZpZXcpOwogCiAgICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiByZXN1bHQ7
CiAgICAgbWFrZUNhbGwoZnVuY3Rpb24sICZyZXN1bHQpOwpAQCAtMTI0LDEwICsxMjUsMTEgQEAg
dm9pZCBJbmplY3RlZFNjcmlwdDo6Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJp
bmcsIGNvbnN0IFN0cmluZyYgb2JqZWMKICAgICAqcHJvcGVydGllcyA9IEJpbmRpbmdUcmFpdHM8
QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UHJvcGVydHlEZXNjcmlwdG9yPj46
OnJ1bnRpbWVDYXN0KFdURjo6bW92ZShyZXN1bHQpKTsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlw
dDo6Z2V0SW50ZXJuYWxQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiBvYmplY3RJZCwgUmVmUHRyPEFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRp
bWU6OkludGVybmFsUHJvcGVydHlEZXNjcmlwdG9yPj4qIHByb3BlcnRpZXMpCit2b2lkIEluamVj
dGVkU2NyaXB0OjpnZXRJbnRlcm5hbFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5n
LCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBib29sIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPEFy
cmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFsUHJvcGVydHlEZXNjcmlw
dG9yPj4qIHByb3BlcnRpZXMpCiB7CiAgICAgRGVwcmVjYXRlZDo6U2NyaXB0RnVuY3Rpb25DYWxs
IGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0T2JqZWN0KCksIEFTQ0lJTGl0ZXJhbCgiZ2V0SW50ZXJu
YWxQcm9wZXJ0aWVzIiksIGluc3BlY3RvckVudmlyb25tZW50KCktPmZ1bmN0aW9uQ2FsbEhhbmRs
ZXIoKSk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOworICAgIGZ1bmN0
aW9uLmFwcGVuZEFyZ3VtZW50KGdlbmVyYXRlUHJldmlldyk7CiAKICAgICBSZWZQdHI8SW5zcGVj
dG9yVmFsdWU+IHJlc3VsdDsKICAgICBtYWtlQ2FsbChmdW5jdGlvbiwgJnJlc3VsdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKaW5kZXgg
M2ExYWFmZC4uOGQyOTdkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtNTYsOCArNTYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
YWxsRnVuY3Rpb25PbihFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0
IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMsIGJvb2wgcmV0dXJu
QnlWYWx1ZSwgYm9vbCBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxQcm90b2NvbDo6UnVudGltZTo6
UmVtb3RlT2JqZWN0PiogcmVzdWx0LCBQcm90b2NvbDo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJv
d24pOwogICAgIHZvaWQgZXZhbHVhdGVPbkNhbGxGcmFtZShFcnJvclN0cmluZyYsIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBjYWxsRnJhbWVzLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFt
ZUlkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAs
IGJvb2wgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBib29sIHJldHVybkJ5VmFsdWUsIGJvb2wgZ2Vu
ZXJhdGVQcmV2aWV3LCBSZWZQdHI8UHJvdG9jb2w6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4qIHJl
c3VsdCwgUHJvdG9jb2w6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKTsKICAgICB2b2lkIGdl
dEZ1bmN0aW9uRGV0YWlscyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb25JZCwg
UmVmUHRyPFByb3RvY29sOjpEZWJ1Z2dlcjo6RnVuY3Rpb25EZXRhaWxzPiogcmVzdWx0KTsKLSAg
ICB2b2lkIGdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElk
LCBib29sIG93blByb3BlcnRpZXMsIGJvb2wgb3duQW5kR2V0dGVyUHJvcGVydGllcywgUmVmUHRy
PFByb3RvY29sOjpBcnJheTxQcm90b2NvbDo6UnVudGltZTo6UHJvcGVydHlEZXNjcmlwdG9yPj4q
IHJlc3VsdCk7Ci0gICAgdm9pZCBnZXRJbnRlcm5hbFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmLCBj
b25zdCBTdHJpbmcmIG9iamVjdElkLCBSZWZQdHI8UHJvdG9jb2w6OkFycmF5PFByb3RvY29sOjpS
dW50aW1lOjpJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvcj4+KiByZXN1bHQpOworICAgIHZvaWQg
Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGJvb2wg
b3duUHJvcGVydGllcywgYm9vbCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBib29sIGdlbmVyYXRl
UHJldmlldywgUmVmUHRyPFByb3RvY29sOjpBcnJheTxQcm90b2NvbDo6UnVudGltZTo6UHJvcGVy
dHlEZXNjcmlwdG9yPj4qIHJlc3VsdCk7CisgICAgdm9pZCBnZXRJbnRlcm5hbFByb3BlcnRpZXMo
RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBib29sIGdlbmVyYXRlUHJldmll
dywgUmVmUHRyPFByb3RvY29sOjpBcnJheTxQcm90b2NvbDo6UnVudGltZTo6SW50ZXJuYWxQcm9w
ZXJ0eURlc2NyaXB0b3I+PiogcmVzdWx0KTsKICAgICB2b2lkIGdldENvbGxlY3Rpb25FbnRyaWVz
KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBvYmpl
Y3RHcm91cCwgaW50IHN0YXJ0SW5kZXgsIGludCBudW1iZXJUb0ZldGNoLCBSZWZQdHI8UHJvdG9j
b2w6OkFycmF5PFByb3RvY29sOjpSdW50aW1lOjpDb2xsZWN0aW9uRW50cnk+PiogZW50cmllcyk7
CiAKICAgICBSZWY8UHJvdG9jb2w6OkFycmF5PFByb3RvY29sOjpEZWJ1Z2dlcjo6Q2FsbEZyYW1l
Pj4gd3JhcENhbGxGcmFtZXMoY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzCmluZGV4IGY3YWMzODIuLmQ3YTFmNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwpAQCAtMTk2LDcg
KzE5Niw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICB9LAogCi0gICAgZ2V0UHJvcGVydGllczogZnVuY3Rpb24ob2JqZWN0SWQsIG93
blByb3BlcnRpZXMsIG93bkFuZEdldHRlclByb3BlcnRpZXMpCisgICAgZ2V0UHJvcGVydGllczog
ZnVuY3Rpb24ob2JqZWN0SWQsIG93blByb3BlcnRpZXMsIG93bkFuZEdldHRlclByb3BlcnRpZXMs
IGdlbmVyYXRlUHJldmlldykKICAgICB7CiAgICAgICAgIHZhciBwYXJzZWRPYmplY3RJZCA9IHRo
aXMuX3BhcnNlT2JqZWN0SWQob2JqZWN0SWQpOwogICAgICAgICB2YXIgb2JqZWN0ID0gdGhpcy5f
b2JqZWN0Rm9ySWQocGFyc2VkT2JqZWN0SWQpOwpAQCAtMjI0LDcgKzIyNCw3IEBAIEluamVjdGVk
U2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICgic2V0IiBpbiBkZXNjcmlwdG9y
KQogICAgICAgICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0ID0gdGhpcy5fd3JhcE9iamVjdChkZXNj
cmlwdG9yLnNldCwgb2JqZWN0R3JvdXBOYW1lKTsKICAgICAgICAgICAgIGlmICgidmFsdWUiIGlu
IGRlc2NyaXB0b3IpCi0gICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IHRoaXMuX3dy
YXBPYmplY3QoZGVzY3JpcHRvci52YWx1ZSwgb2JqZWN0R3JvdXBOYW1lKTsKKyAgICAgICAgICAg
ICAgICBkZXNjcmlwdG9yLnZhbHVlID0gdGhpcy5fd3JhcE9iamVjdChkZXNjcmlwdG9yLnZhbHVl
LCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCBnZW5lcmF0ZVByZXZpZXcpOwogICAgICAgICAgICAg
aWYgKCEoImNvbmZpZ3VyYWJsZSIgaW4gZGVzY3JpcHRvcikpCiAgICAgICAgICAgICAgICAgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgPSBmYWxzZTsKICAgICAgICAgICAgIGlmICghKCJlbnVtZXJh
YmxlIiBpbiBkZXNjcmlwdG9yKSkKQEAgLTIzNCw3ICsyMzQsNyBAQCBJbmplY3RlZFNjcmlwdC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yczsKICAgICB9LAogCi0gICAg
Z2V0SW50ZXJuYWxQcm9wZXJ0aWVzOiBmdW5jdGlvbihvYmplY3RJZCkKKyAgICBnZXRJbnRlcm5h
bFByb3BlcnRpZXM6IGZ1bmN0aW9uKG9iamVjdElkLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewog
ICAgICAgICB2YXIgcGFyc2VkT2JqZWN0SWQgPSB0aGlzLl9wYXJzZU9iamVjdElkKG9iamVjdElk
KTsKICAgICAgICAgdmFyIG9iamVjdCA9IHRoaXMuX29iamVjdEZvcklkKHBhcnNlZE9iamVjdElk
KTsKQEAgLTI1NCw3ICsyNTQsNyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVzY3JpcHRvcnMubGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvcnNbaV07CiAgICAgICAgICAgICBpZiAo
InZhbHVlIiBpbiBkZXNjcmlwdG9yKQotICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUg
PSB0aGlzLl93cmFwT2JqZWN0KGRlc2NyaXB0b3IudmFsdWUsIG9iamVjdEdyb3VwTmFtZSk7Cisg
ICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IHRoaXMuX3dyYXBPYmplY3QoZGVzY3Jp
cHRvci52YWx1ZSwgb2JqZWN0R3JvdXBOYW1lLCBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3KTsKICAg
ICAgICAgfQogCiAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yczsKQEAgLTMxOSw3ICszMTksNyBA
QCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLl9ldmFs
dWF0ZUFuZFdyYXAoSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlLCBJbmplY3RlZFNjcmlwdEhv
c3QsIGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBmYWxzZSwgaW5qZWN0Q29tbWFuZExpbmVBUEks
IHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldyk7CiAgICAgfSwKIAotICAgIGNhbGxGdW5j
dGlvbk9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhwcmVzc2lvbiwgYXJncywgcmV0dXJuQnlWYWx1
ZSkKKyAgICBjYWxsRnVuY3Rpb25PbjogZnVuY3Rpb24ob2JqZWN0SWQsIGV4cHJlc3Npb24sIGFy
Z3MsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykKICAgICB7CiAgICAgICAgIHZhciBw
YXJzZWRPYmplY3RJZCA9IHRoaXMuX3BhcnNlT2JqZWN0SWQob2JqZWN0SWQpOwogICAgICAgICB2
YXIgb2JqZWN0ID0gdGhpcy5fb2JqZWN0Rm9ySWQocGFyc2VkT2JqZWN0SWQpOwpAQCAtMzQ2LDcg
KzM0Niw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgcmV0
dXJuIHsKICAgICAgICAgICAgICAgICB3YXNUaHJvd246IGZhbHNlLAotICAgICAgICAgICAgICAg
IHJlc3VsdDogdGhpcy5fd3JhcE9iamVjdChmdW5jLmFwcGx5KG9iamVjdCwgcmVzb2x2ZWRBcmdz
KSwgb2JqZWN0R3JvdXAsIHJldHVybkJ5VmFsdWUpCisgICAgICAgICAgICAgICAgcmVzdWx0OiB0
aGlzLl93cmFwT2JqZWN0KGZ1bmMuYXBwbHkob2JqZWN0LCByZXNvbHZlZEFyZ3MpLCBvYmplY3RH
cm91cCwgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KQogICAgICAgICAgICAgfTsKICAg
ICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRocm93
blZhbHVlKGUsIG9iamVjdEdyb3VwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmlu
ZGV4IGY0NTM5MzUuLmFhYjAyZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcApA
QCAtMTYwLDcgKzE2MCw3IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpjYWxsRnVuY3Rp
b25PbihFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluCiAgICAgfQogfQogCi12
b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJy
b3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IG93blBy
b3BlcnRpZXMsIGNvbnN0IGJvb2wqIGNvbnN0IG93bkFuZEdldHRlclByb3BlcnRpZXMsIFJlZlB0
cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1l
OjpQcm9wZXJ0eURlc2NyaXB0b3I+PiYgcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6SW50ZXJuYWxQcm9wZXJ0eURl
c2NyaXB0b3I+PiYgaW50ZXJuYWxQcm9wZXJ0aWVzKQordm9pZCBJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6OmdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcm
IG9iamVjdElkLCBjb25zdCBib29sKiBjb25zdCBvd25Qcm9wZXJ0aWVzLCBjb25zdCBib29sKiBj
b25zdCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBjb25zdCBib29sKiBjb25zdCBnZW5lcmF0ZVBy
ZXZpZXcsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpSdW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0b3I+PiYgcmVzdWx0LCBSZWZQdHI8SW5zcGVj
dG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6SW50ZXJu
YWxQcm9wZXJ0eURlc2NyaXB0b3I+PiYgaW50ZXJuYWxQcm9wZXJ0aWVzKQogewogICAgIEluamVj
dGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVj
dGVkU2NyaXB0Rm9yT2JqZWN0SWQob2JqZWN0SWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlwdC5o
YXNOb1ZhbHVlKCkpIHsKQEAgLTE3MSw4ICsxNzEsOCBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVB
Z2VudDo6Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmlu
ZwogICAgIFNjcmlwdERlYnVnU2VydmVyOjpQYXVzZU9uRXhjZXB0aW9uc1N0YXRlIHByZXZpb3Vz
UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSA9IHNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUobV9zY3Jp
cHREZWJ1Z1NlcnZlciwgU2NyaXB0RGVidWdTZXJ2ZXI6OkRvbnRQYXVzZU9uRXhjZXB0aW9ucyk7
CiAgICAgbXV0ZUNvbnNvbGUoKTsKIAotICAgIGluamVjdGVkU2NyaXB0LmdldFByb3BlcnRpZXMo
ZXJyb3JTdHJpbmcsIG9iamVjdElkLCBhc0Jvb2wob3duUHJvcGVydGllcyksIGFzQm9vbChvd25B
bmRHZXR0ZXJQcm9wZXJ0aWVzKSwgJnJlc3VsdCk7Ci0gICAgaW5qZWN0ZWRTY3JpcHQuZ2V0SW50
ZXJuYWxQcm9wZXJ0aWVzKGVycm9yU3RyaW5nLCBvYmplY3RJZCwgJmludGVybmFsUHJvcGVydGll
cyk7CisgICAgaW5qZWN0ZWRTY3JpcHQuZ2V0UHJvcGVydGllcyhlcnJvclN0cmluZywgb2JqZWN0
SWQsIGFzQm9vbChvd25Qcm9wZXJ0aWVzKSwgYXNCb29sKG93bkFuZEdldHRlclByb3BlcnRpZXMp
LCBhc0Jvb2woZ2VuZXJhdGVQcmV2aWV3KSwgJnJlc3VsdCk7CisgICAgaW5qZWN0ZWRTY3JpcHQu
Z2V0SW50ZXJuYWxQcm9wZXJ0aWVzKGVycm9yU3RyaW5nLCBvYmplY3RJZCwgYXNCb29sKGdlbmVy
YXRlUHJldmlldyksICZpbnRlcm5hbFByb3BlcnRpZXMpOwogCiAgICAgdW5tdXRlQ29uc29sZSgp
OwogICAgIHNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUobV9zY3JpcHREZWJ1Z1NlcnZlciwgcHJl
dmlvdXNQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgK
aW5kZXggODcxM2VjMi4uZmQ3YjU4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKQEAg
LTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBldmFsdWF0ZShFcnJvclN0
cmluZyYsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nKiBvYmplY3RHcm91
cCwgY29uc3QgYm9vbCogaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBjb25zdCBib29sKiBkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIGNvbnN0IGludCogZXhlY3V0aW9uQ29udGV4
dElkLCBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZp
ZXcsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+JiBy
ZXN1bHQsIEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKSBv
dmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgY2FsbEZ1bmN0aW9uT24oRXJyb3JTdHJp
bmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNv
bnN0IFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3RvckFycmF5PiYmIG9wdGlvbmFsQXJndW1lbnRz
LCBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIGNvbnN0
IGJvb2wqIHJldHVybkJ5VmFsdWUsIGNvbnN0IGJvb2wqIGdlbmVyYXRlUHJldmlldywgUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgSW5z
cGVjdG9yOjpQcm90b2NvbDo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pIG92ZXJyaWRlIGZp
bmFsOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlT2JqZWN0KEVycm9yU3RyaW5nJiwgY29uc3Qg
RXJyb3JTdHJpbmcmIG9iamVjdElkKSBvdmVycmlkZSBmaW5hbDsKLSAgICB2aXJ0dWFsIHZvaWQg
Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0
IGJvb2wqIG93blByb3BlcnRpZXMsIGNvbnN0IGJvb2wqIG93bkFuZEdldHRlclByb3BlcnRpZXMs
IFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpS
dW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0b3I+PiYgcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yOjpQ
cm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6SW50ZXJuYWxQcm9w
ZXJ0eURlc2NyaXB0b3I+PiYgaW50ZXJuYWxQcm9wZXJ0aWVzKSBvdmVycmlkZSBmaW5hbDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZ2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYg
b2JqZWN0SWQsIGNvbnN0IGJvb2wqIG93blByb3BlcnRpZXMsIGNvbnN0IGJvb2wqIG93bkFuZEdl
dHRlclByb3BlcnRpZXMsIGNvbnN0IGJvb2wqIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3Bl
cnR5RGVzY3JpcHRvcj4+JiByZXN1bHQsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJh
eTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRv
cj4+JiBpbnRlcm5hbFByb3BlcnRpZXMpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9p
ZCBnZXRDb2xsZWN0aW9uRW50cmllcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0
SWQsIGNvbnN0IFN0cmluZyogb2JqZWN0R3JvdXAsIGNvbnN0IGludCogc3RhcnRJbmRleCwgY29u
c3QgaW50KiBudW1iZXJUb0ZldGNoLCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8
SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6Q29sbGVjdGlvbkVudHJ5Pj4mIGVudHJpZXMp
IG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoRXJy
b3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwKSBvdmVycmlkZSBmaW5hbDsKICAg
ICB2aXJ0dWFsIHZvaWQgcnVuKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1J1bnRpbWUuanNvbiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUnVudGltZS5qc29uCmluZGV4
IDJmNjdiMmUuLmYwN2Q5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvUnVudGltZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvUnVudGltZS5qc29uCkBAIC0yMzcsNyArMjM3LDggQEAKICAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0
SWQiLCAiJHJlZiI6ICJSZW1vdGVPYmplY3RJZCIsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVy
IG9mIHRoZSBvYmplY3QgdG8gcmV0dXJuIHByb3BlcnRpZXMgZm9yLiIgfSwKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm93blByb3BlcnRpZXMiLCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6
ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRydWUsIHJldHVybnMgcHJvcGVydGllcyBi
ZWxvbmdpbmcgb25seSB0byB0aGUgb2JqZWN0IGl0c2VsZiwgbm90IHRvIGl0cyBwcm90b3R5cGUg
Y2hhaW4uIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3duQW5kR2V0dGVyUHJvcGVy
dGllcyIsICJvcHRpb25hbCI6IHRydWUsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24i
OiAiSWYgdHJ1ZSwgcmV0dXJucyBwcm9wZXJ0aWVzIGJlbG9uZ2luZyB0byB0aGUgb2JqZWN0IGl0
c2VsZiwgYW5kIGdldHRlcnMgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi4iIH0KKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm93bkFuZEdldHRlclByb3BlcnRpZXMiLCAib3B0aW9uYWwiOiB0cnVl
LCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRydWUsIHJldHVybnMgcHJv
cGVydGllcyBiZWxvbmdpbmcgdG8gdGhlIG9iamVjdCBpdHNlbGYsIGFuZCBnZXR0ZXJzIGluIGl0
cyBwcm90b3R5cGUgY2hhaW4uIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZ2VuZXJh
dGVQcmV2aWV3IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJXaGV0aGVyIHByZXZpZXcgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgcHJvcGVydHkg
dmFsdWVzLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzdWx0IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogIlByb3BlcnR5RGVzY3JpcHRvciJ9LCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0
IHByb3BlcnRpZXMuIiB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggODJhN2IyYi4uZjI0
YmNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTUtMDIt
MjEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIg
SW5zcGVjdG9yOiBHZW5lcmF0ZSBQcmV2aWV3cyBtb3JlIG9mdGVuIGZvciBSZW1vdGVPYmplY3Qg
aW50ZXJhY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MTg3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlEZXNjcmlwdG9yLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZCk6CisgICAgICAg
IEZpeCBJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvciBpbmdlc3Rpb24uIFRoZXJlIHdhcyBubyAi
LmludGVybmFsIgorICAgICAgICBwcm9wZXJ0eSBvbiB0aGVzZSBvYmplY3RzLCBzbyB0YWtlIGEg
ZmxhZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUuX2dldFByb3Bl
cnR5RGVzY3JpcHRvcnMpOgorICAgICAgICBGaXggSW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3Ig
aW5nZXN0aW9uIGJ5IHNwZWNpZnlpbmcgZHVyaW5nCisgICAgICAgIGltcG9ydGluZyB0aGUgaW50
ZXJuYWwgcHJvcGVydGllcy4gQWxzbywgZ2V0IHByZXZpZXdzLgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5jYWxsRnVuY3Rpb24pOgorICAgICAgICBBbHdh
eXMgZ2V0IHByZXZpZXdzIHdoZW4gdXNpbmcgY2FsbEZ1bmN0aW9uT24uCisKKzIwMTUtMDItMjEg
IEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBHaXZlIE9iamVjdFByZXZpZXdWaWV3IGEgc2hvd1RpdGxlL3Nob3dQcmV2aWV3IHRv
Z2dsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQx
ODc0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9Qcm9wZXJ0eURlc2NyaXB0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlEZXNjcmlwdG9yLmpzCmluZGV4IDlmZWYzNjkuLjYwYjNi
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9Qcm9wZXJ0eURlc2NyaXB0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1Byb3BlcnR5RGVzY3JpcHRvci5qcwpAQCAtNDgsOCArNDgsOCBAQCBX
ZWJJbnNwZWN0b3IuUHJvcGVydHlEZXNjcmlwdG9yID0gZnVuY3Rpb24oZGVzY3JpcHRvciwgaXNP
d25Qcm9wZXJ0eSwgd2FzVGhyb3duLAogICAgIHRoaXMuX2ludGVybmFsID0gaXNJbnRlcm5hbFBy
b3BlcnR5IHx8IGZhbHNlOwogfTsKIAotLy8gUnVudGltZS5Qcm9wZXJ0eURlc2NyaXB0b3Igb3Ig
UnVudGltZS5JbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvci4KLVdlYkluc3BlY3Rvci5Qcm9wZXJ0
eURlc2NyaXB0b3IuZnJvbVBheWxvYWQgPSBmdW5jdGlvbihwYXlsb2FkKQorLy8gUnVudGltZS5Q
cm9wZXJ0eURlc2NyaXB0b3Igb3IgUnVudGltZS5JbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvciAo
c2Vjb25kIGFyZ3VtZW50KS4KK1dlYkluc3BlY3Rvci5Qcm9wZXJ0eURlc2NyaXB0b3IuZnJvbVBh
eWxvYWQgPSBmdW5jdGlvbihwYXlsb2FkLCBpbnRlcm5hbCkKIHsKICAgICBpZiAocGF5bG9hZC52
YWx1ZSkKICAgICAgICAgcGF5bG9hZC52YWx1ZSA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Qu
ZnJvbVBheWxvYWQocGF5bG9hZC52YWx1ZSk7CkBAIC01OCwxMyArNTgsMTMgQEAgV2ViSW5zcGVj
dG9yLlByb3BlcnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZCA9IGZ1bmN0aW9uKHBheWxvYWQpCiAg
ICAgaWYgKHBheWxvYWQuc2V0KQogICAgICAgICBwYXlsb2FkLnNldCA9IFdlYkluc3BlY3Rvci5S
ZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocGF5bG9hZC5zZXQpOwogCi0gICAgaWYgKHBheWxvYWQu
aW50ZXJuYWwpIHsKKyAgICBpZiAoaW50ZXJuYWwpIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
cGF5bG9hZC52YWx1ZSk7CiAgICAgICAgIHBheWxvYWQud3JpdGFibGUgPSBwYXlsb2FkLmNvbmZp
Z3VyYWJsZSA9IHBheWxvYWQuZW51bWVyYWJsZSA9IGZhbHNlOwogICAgICAgICBwYXlsb2FkLmlz
T3duID0gdHJ1ZTsKICAgICB9CiAKLSAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9wZXJ0
eURlc2NyaXB0b3IocGF5bG9hZCwgcGF5bG9hZC5pc093biwgcGF5bG9hZC53YXNUaHJvd24sIHBh
eWxvYWQuaW50ZXJuYWwpOworICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVz
Y3JpcHRvcihwYXlsb2FkLCBwYXlsb2FkLmlzT3duLCBwYXlsb2FkLndhc1Rocm93biwgaW50ZXJu
YWwpOwogfTsKIAogV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVzY3JpcHRvci5wcm90b3R5cGUgPSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZW1vdGVPYmplY3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Q
cm90b2NvbC9SZW1vdGVPYmplY3QuanMKaW5kZXggYjBlYjY2Yy4uOGYyNzA0OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2Jq
ZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L1JlbW90ZU9iamVjdC5qcwpAQCAtMTc0LDEzICsxNzQsMTYgQEAgV2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBpZiAoaW50ZXJuYWxQcm9wZXJ0aWVzKQotICAgICAgICAgICAg
ICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmNvbmNhdChpbnRlcm5hbFByb3BlcnRpZXMpOwot
CiAgICAgICAgICAgICB2YXIgZGVzY3JpcHRvcnMgPSBwcm9wZXJ0aWVzLm1hcChmdW5jdGlvbihw
YXlsb2FkKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5Qcm9wZXJ0eURl
c2NyaXB0b3IuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICB9KTsKIAorICAgICAg
ICAgICAgaWYgKGludGVybmFsUHJvcGVydGllcykgeworICAgICAgICAgICAgICAgIGRlc2NyaXB0
b3JzID0gZGVzY3JpcHRvcnMuY29uY2F0KGludGVybmFsUHJvcGVydGllcy5tYXAoZnVuY3Rpb24o
cGF5bG9hZCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlByb3Bl
cnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZChwYXlsb2FkLCB0cnVlKTsKKyAgICAgICAgICAgICAg
ICB9KSk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNhbGxiYWNrKGRlc2NyaXB0b3Jz
KTsKICAgICAgICAgfQogCkBAIC0yMDgsNyArMjExLDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9i
amVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAg
ICAgICBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGllcyh0aGlzLl9vYmplY3RJZCwgb3duUHJvcGVy
dGllcywgb3duQW5kR2V0dGVyUHJvcGVydGllcywgcmVtb3RlT2JqZWN0QmluZGVyKTsKKyAgICAg
ICAgUnVudGltZUFnZW50LmdldFByb3BlcnRpZXModGhpcy5fb2JqZWN0SWQsIG93blByb3BlcnRp
ZXMsIG93bkFuZEdldHRlclByb3BlcnRpZXMsIHRydWUsIHJlbW90ZU9iamVjdEJpbmRlcik7CiAg
ICAgfSwKIAogICAgIC8vIEZJWE1FOiBQaGFzZSBvdXQgdGhlc2UgZnVuY3Rpb25zLiBUaGV5IHJl
dHVybiBSZW1vdGVPYmplY3RQcm9wZXJ0eSBpbnN0ZWFkIG9mIFByb3BlcnR5RGVzY3JpcHRvcnMu
CkBAIC0zODgsNyArMzkxLDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICBjYWxsYmFjaygoZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiBX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCkpOwogICAgICAgICB9
CiAKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVjdElkLCBm
dW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUsIHVuZGVmaW5lZCwgbXlj
YWxsYmFjayk7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmpl
Y3RJZCwgZnVuY3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCBhcmdzLCB0cnVlLCB1bmRlZmlu
ZWQsIHRydWUgbXljYWxsYmFjayk7CiAgICAgfSwKIAogICAgIGNhbGxGdW5jdGlvbkpTT046IGZ1
bmN0aW9uKGZ1bmN0aW9uRGVjbGFyYXRpb24sIGFyZ3MsIGNhbGxiYWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247072</attachid>
            <date>2015-02-21 18:31:28 -0800</date>
            <delta_ts>2015-02-21 19:00:46 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>more-previews2.patch</filename>
            <type>text/plain</type>
            <size>19080</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYmYwOWYuLjFiZmY1NmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTAyLTIxICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogR2VuZXJh
dGUgUHJldmlld3MgbW9yZSBvZnRlbiBmb3IgUmVtb3RlT2JqZWN0IGludGVyYWN0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE4NzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9w
cm90b2NvbC9SdW50aW1lLmpzb246CisgICAgICAgIEFkZCBnZW5lcmF0ZVByZXZpZXcgdG8gZ2V0
UHJvcGVydGllcy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHA6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0OjpnZXRQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHQ6OmdldEludGVybmFsUHJvcGVydGllcyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldFByb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50Lmg6CisgICAgICAgIFBsdW1iIHRoZSBnZW5l
cmF0ZVByZXZpZXcgYm9vbGVhbiB0aHJvdWdoIHRvIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6CisgICAgICAgIEFkZCBn
ZW5lcmF0ZVByZXZpZXcgZm9yIGdldFByb3BlcnRpZXMuCisgICAgICAgIEZpeCBjYWxsRnVuY3Rp
b25PbiB0byBnZW5lcmF0ZVByZXZpZXdzIGlmIGFza2VkLgorCiAyMDE1LTAyLTE5ICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBFUzY6IEltcGxlbWVudCBBcnJheS5m
cm9tKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdC5jcHAKaW5kZXggMjRlODBmZC4uYjg3ZTBjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKQEAgLTEwNywxMiArMTA3LDEz
IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmdldEZ1bmN0aW9uRGV0YWlscyhFcnJvclN0cmluZyYg
ZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYKICAgICAqcmVzdWx0ID0gQmluZGluZ1RyYWl0czxJ
bnNwZWN0b3I6OlByb3RvY29sOjpEZWJ1Z2dlcjo6RnVuY3Rpb25EZXRhaWxzPjo6cnVudGltZUNh
c3QoV1RGOjptb3ZlKHJlc3VsdFZhbHVlKSk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHQ6Omdl
dFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVj
dElkLCBib29sIG93blByb3BlcnRpZXMsIGJvb2wgb3duQW5kR2V0dGVyUHJvcGVydGllcywgUmVm
UHRyPEFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3BlcnR5RGVzY3JpcHRv
cj4+KiBwcm9wZXJ0aWVzKQordm9pZCBJbmplY3RlZFNjcmlwdDo6Z2V0UHJvcGVydGllcyhFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGJvb2wgb3duUHJv
cGVydGllcywgYm9vbCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBib29sIGdlbmVyYXRlUHJldmll
dywgUmVmUHRyPEFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3BlcnR5RGVz
Y3JpcHRvcj4+KiBwcm9wZXJ0aWVzKQogewogICAgIERlcHJlY2F0ZWQ6OlNjcmlwdEZ1bmN0aW9u
Q2FsbCBmdW5jdGlvbihpbmplY3RlZFNjcmlwdE9iamVjdCgpLCBBU0NJSUxpdGVyYWwoImdldFBy
b3BlcnRpZXMiKSwgaW5zcGVjdG9yRW52aXJvbm1lbnQoKS0+ZnVuY3Rpb25DYWxsSGFuZGxlcigp
KTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChvYmplY3RJZCk7CiAgICAgZnVuY3Rpb24u
YXBwZW5kQXJndW1lbnQob3duUHJvcGVydGllcyk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1l
bnQob3duQW5kR2V0dGVyUHJvcGVydGllcyk7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQo
Z2VuZXJhdGVQcmV2aWV3KTsKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gcmVzdWx0Owog
ICAgIG1ha2VDYWxsKGZ1bmN0aW9uLCAmcmVzdWx0KTsKQEAgLTEyNCwxMCArMTI1LDExIEBAIHZv
aWQgSW5qZWN0ZWRTY3JpcHQ6OmdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5n
LCBjb25zdCBTdHJpbmcmIG9iamVjCiAgICAgKnByb3BlcnRpZXMgPSBCaW5kaW5nVHJhaXRzPEFy
cmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3BlcnR5RGVzY3JpcHRvcj4+Ojpy
dW50aW1lQ2FzdChXVEY6Om1vdmUocmVzdWx0KSk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRTY3JpcHQ6
OmdldEludGVybmFsUHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0
cmluZyYgb2JqZWN0SWQsIFJlZlB0cjxBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1l
OjpJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvcj4+KiBwcm9wZXJ0aWVzKQordm9pZCBJbmplY3Rl
ZFNjcmlwdDo6Z2V0SW50ZXJuYWxQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywg
Y29uc3QgU3RyaW5nJiBvYmplY3RJZCwgYm9vbCBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxBcnJh
eTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRv
cj4+KiBwcm9wZXJ0aWVzKQogewogICAgIERlcHJlY2F0ZWQ6OlNjcmlwdEZ1bmN0aW9uQ2FsbCBm
dW5jdGlvbihpbmplY3RlZFNjcmlwdE9iamVjdCgpLCBBU0NJSUxpdGVyYWwoImdldEludGVybmFs
UHJvcGVydGllcyIpLCBpbnNwZWN0b3JFbnZpcm9ubWVudCgpLT5mdW5jdGlvbkNhbGxIYW5kbGVy
KCkpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KG9iamVjdElkKTsKKyAgICBmdW5jdGlv
bi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVByZXZpZXcpOwogCiAgICAgUmVmUHRyPEluc3BlY3Rv
clZhbHVlPiByZXN1bHQ7CiAgICAgbWFrZUNhbGwoZnVuY3Rpb24sICZyZXN1bHQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IDNh
MWFhZmQuLjhkMjk3ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0LmgKQEAgLTU2LDggKzU2LDggQEAgcHVibGljOgogICAgIHZvaWQgY2Fs
bEZ1bmN0aW9uT24oRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBT
dHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyYgYXJndW1lbnRzLCBib29sIHJldHVybkJ5
VmFsdWUsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8UHJvdG9jb2w6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4qIHJlc3VsdCwgUHJvdG9jb2w6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3du
KTsKICAgICB2b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcmLCBjb25zdCBEZXBy
ZWNhdGVkOjpTY3JpcHRWYWx1ZSYgY2FsbEZyYW1lcywgY29uc3QgU3RyaW5nJiBjYWxsRnJhbWVJ
ZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwLCBi
b29sIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgYm9vbCByZXR1cm5CeVZhbHVlLCBib29sIGdlbmVy
YXRlUHJldmlldywgUmVmUHRyPFByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+KiByZXN1
bHQsIFByb3RvY29sOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bik7CiAgICAgdm9pZCBnZXRG
dW5jdGlvbkRldGFpbHMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uSWQsIFJl
ZlB0cjxQcm90b2NvbDo6RGVidWdnZXI6OkZ1bmN0aW9uRGV0YWlscz4qIHJlc3VsdCk7Ci0gICAg
dm9pZCBnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwg
Ym9vbCBvd25Qcm9wZXJ0aWVzLCBib29sIG93bkFuZEdldHRlclByb3BlcnRpZXMsIFJlZlB0cjxQ
cm90b2NvbDo6QXJyYXk8UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3BlcnR5RGVzY3JpcHRvcj4+KiBy
ZXN1bHQpOwotICAgIHZvaWQgZ2V0SW50ZXJuYWxQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiBvYmplY3RJZCwgUmVmUHRyPFByb3RvY29sOjpBcnJheTxQcm90b2NvbDo6UnVu
dGltZTo6SW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3I+PiogcmVzdWx0KTsKKyAgICB2b2lkIGdl
dFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBib29sIG93
blByb3BlcnRpZXMsIGJvb2wgb3duQW5kR2V0dGVyUHJvcGVydGllcywgYm9vbCBnZW5lcmF0ZVBy
ZXZpZXcsIFJlZlB0cjxQcm90b2NvbDo6QXJyYXk8UHJvdG9jb2w6OlJ1bnRpbWU6OlByb3BlcnR5
RGVzY3JpcHRvcj4+KiByZXN1bHQpOworICAgIHZvaWQgZ2V0SW50ZXJuYWxQcm9wZXJ0aWVzKEVy
cm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgYm9vbCBnZW5lcmF0ZVByZXZpZXcs
IFJlZlB0cjxQcm90b2NvbDo6QXJyYXk8UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFsUHJvcGVy
dHlEZXNjcmlwdG9yPj4qIHJlc3VsdCk7CiAgICAgdm9pZCBnZXRDb2xsZWN0aW9uRW50cmllcyhF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgb2JqZWN0
R3JvdXAsIGludCBzdGFydEluZGV4LCBpbnQgbnVtYmVyVG9GZXRjaCwgUmVmUHRyPFByb3RvY29s
OjpBcnJheTxQcm90b2NvbDo6UnVudGltZTo6Q29sbGVjdGlvbkVudHJ5Pj4qIGVudHJpZXMpOwog
CiAgICAgUmVmPFByb3RvY29sOjpBcnJheTxQcm90b2NvbDo6RGVidWdnZXI6OkNhbGxGcmFtZT4+
IHdyYXBDYWxsRnJhbWVzKGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNl
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcwppbmRleCBmN2FjMzgyLi5kN2ExZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKQEAgLTE5Niw3ICsx
OTYsNyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfSwKIAotICAgIGdldFByb3BlcnRpZXM6IGZ1bmN0aW9uKG9iamVjdElkLCBvd25Q
cm9wZXJ0aWVzLCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzKQorICAgIGdldFByb3BlcnRpZXM6IGZ1
bmN0aW9uKG9iamVjdElkLCBvd25Qcm9wZXJ0aWVzLCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBn
ZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgcGFyc2VkT2JqZWN0SWQgPSB0aGlz
Ll9wYXJzZU9iamVjdElkKG9iamVjdElkKTsKICAgICAgICAgdmFyIG9iamVjdCA9IHRoaXMuX29i
amVjdEZvcklkKHBhcnNlZE9iamVjdElkKTsKQEAgLTIyNCw3ICsyMjQsNyBAQCBJbmplY3RlZFNj
cmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoInNldCIgaW4gZGVzY3JpcHRvcikK
ICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldCA9IHRoaXMuX3dyYXBPYmplY3QoZGVzY3Jp
cHRvci5zZXQsIG9iamVjdEdyb3VwTmFtZSk7CiAgICAgICAgICAgICBpZiAoInZhbHVlIiBpbiBk
ZXNjcmlwdG9yKQotICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSB0aGlzLl93cmFw
T2JqZWN0KGRlc2NyaXB0b3IudmFsdWUsIG9iamVjdEdyb3VwTmFtZSk7CisgICAgICAgICAgICAg
ICAgZGVzY3JpcHRvci52YWx1ZSA9IHRoaXMuX3dyYXBPYmplY3QoZGVzY3JpcHRvci52YWx1ZSwg
b2JqZWN0R3JvdXBOYW1lLCBmYWxzZSwgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICAgICAgICAgIGlm
ICghKCJjb25maWd1cmFibGUiIGluIGRlc2NyaXB0b3IpKQogICAgICAgICAgICAgICAgIGRlc2Ny
aXB0b3IuY29uZmlndXJhYmxlID0gZmFsc2U7CiAgICAgICAgICAgICBpZiAoISgiZW51bWVyYWJs
ZSIgaW4gZGVzY3JpcHRvcikpCkBAIC0yMzQsNyArMjM0LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJv
dG90eXBlID0gewogICAgICAgICByZXR1cm4gZGVzY3JpcHRvcnM7CiAgICAgfSwKIAotICAgIGdl
dEludGVybmFsUHJvcGVydGllczogZnVuY3Rpb24ob2JqZWN0SWQpCisgICAgZ2V0SW50ZXJuYWxQ
cm9wZXJ0aWVzOiBmdW5jdGlvbihvYmplY3RJZCwgZ2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAg
ICAgICAgdmFyIHBhcnNlZE9iamVjdElkID0gdGhpcy5fcGFyc2VPYmplY3RJZChvYmplY3RJZCk7
CiAgICAgICAgIHZhciBvYmplY3QgPSB0aGlzLl9vYmplY3RGb3JJZChwYXJzZWRPYmplY3RJZCk7
CkBAIC0yNTQsNyArMjU0LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGRlc2NyaXB0b3JzLmxlbmd0aDsgKytpKSB7CiAgICAgICAg
ICAgICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JzW2ldOwogICAgICAgICAgICAgaWYgKCJ2
YWx1ZSIgaW4gZGVzY3JpcHRvcikKLSAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0g
dGhpcy5fd3JhcE9iamVjdChkZXNjcmlwdG9yLnZhbHVlLCBvYmplY3RHcm91cE5hbWUpOworICAg
ICAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSB0aGlzLl93cmFwT2JqZWN0KGRlc2NyaXB0
b3IudmFsdWUsIG9iamVjdEdyb3VwTmFtZSwgZmFsc2UsIGdlbmVyYXRlUHJldmlldyk7CiAgICAg
ICAgIH0KIAogICAgICAgICByZXR1cm4gZGVzY3JpcHRvcnM7CkBAIC0zMTksNyArMzE5LDcgQEAg
SW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fZXZhbHVh
dGVBbmRXcmFwKEluamVjdGVkU2NyaXB0SG9zdC5ldmFsdWF0ZSwgSW5qZWN0ZWRTY3JpcHRIb3N0
LCBleHByZXNzaW9uLCBvYmplY3RHcm91cCwgZmFsc2UsIGluamVjdENvbW1hbmRMaW5lQVBJLCBy
ZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpOwogICAgIH0sCiAKLSAgICBjYWxsRnVuY3Rp
b25PbjogZnVuY3Rpb24ob2JqZWN0SWQsIGV4cHJlc3Npb24sIGFyZ3MsIHJldHVybkJ5VmFsdWUp
CisgICAgY2FsbEZ1bmN0aW9uT246IGZ1bmN0aW9uKG9iamVjdElkLCBleHByZXNzaW9uLCBhcmdz
LCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB2YXIgcGFy
c2VkT2JqZWN0SWQgPSB0aGlzLl9wYXJzZU9iamVjdElkKG9iamVjdElkKTsKICAgICAgICAgdmFy
IG9iamVjdCA9IHRoaXMuX29iamVjdEZvcklkKHBhcnNlZE9iamVjdElkKTsKQEAgLTM0Niw3ICsz
NDYsNyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgIHJldHVy
biB7CiAgICAgICAgICAgICAgICAgd2FzVGhyb3duOiBmYWxzZSwKLSAgICAgICAgICAgICAgICBy
ZXN1bHQ6IHRoaXMuX3dyYXBPYmplY3QoZnVuYy5hcHBseShvYmplY3QsIHJlc29sdmVkQXJncyks
IG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlKQorICAgICAgICAgICAgICAgIHJlc3VsdDogdGhp
cy5fd3JhcE9iamVjdChmdW5jLmFwcGx5KG9iamVjdCwgcmVzb2x2ZWRBcmdzKSwgb2JqZWN0R3Jv
dXAsIHJldHVybkJ5VmFsdWUsIGdlbmVyYXRlUHJldmlldykKICAgICAgICAgICAgIH07CiAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVUaHJvd25W
YWx1ZShlLCBvYmplY3RHcm91cCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAppbmRl
eCBmNDUzOTM1Li5hYWIwMmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKQEAg
LTE2MCw3ICsxNjAsNyBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Y2FsbEZ1bmN0aW9u
T24oRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbgogICAgIH0KIH0KIAotdm9p
ZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9y
U3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBib29sKiBjb25zdCBvd25Qcm9w
ZXJ0aWVzLCBjb25zdCBib29sKiBjb25zdCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBSZWZQdHI8
SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6
UHJvcGVydHlEZXNjcmlwdG9yPj4mIHJlc3VsdCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFsUHJvcGVydHlEZXNj
cmlwdG9yPj4mIGludGVybmFsUHJvcGVydGllcykKK3ZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50
OjpnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBv
YmplY3RJZCwgY29uc3QgYm9vbCogY29uc3Qgb3duUHJvcGVydGllcywgY29uc3QgYm9vbCogY29u
c3Qgb3duQW5kR2V0dGVyUHJvcGVydGllcywgY29uc3QgYm9vbCogY29uc3QgZ2VuZXJhdGVQcmV2
aWV3LCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6UnVudGltZTo6UHJvcGVydHlEZXNjcmlwdG9yPj4mIHJlc3VsdCwgUmVmUHRyPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFs
UHJvcGVydHlEZXNjcmlwdG9yPj4mIGludGVybmFsUHJvcGVydGllcykKIHsKICAgICBJbmplY3Rl
ZFNjcmlwdCBpbmplY3RlZFNjcmlwdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3Rl
ZFNjcmlwdEZvck9iamVjdElkKG9iamVjdElkKTsKICAgICBpZiAoaW5qZWN0ZWRTY3JpcHQuaGFz
Tm9WYWx1ZSgpKSB7CkBAIC0xNzEsOCArMTcxLDggQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6OmdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcK
ICAgICBTY3JpcHREZWJ1Z1NlcnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBwcmV2aW91c1Bh
dXNlT25FeGNlcHRpb25zU3RhdGUgPSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG1fc2NyaXB0
RGVidWdTZXJ2ZXIsIFNjcmlwdERlYnVnU2VydmVyOjpEb250UGF1c2VPbkV4Y2VwdGlvbnMpOwog
ICAgIG11dGVDb25zb2xlKCk7CiAKLSAgICBpbmplY3RlZFNjcmlwdC5nZXRQcm9wZXJ0aWVzKGVy
cm9yU3RyaW5nLCBvYmplY3RJZCwgYXNCb29sKG93blByb3BlcnRpZXMpLCBhc0Jvb2wob3duQW5k
R2V0dGVyUHJvcGVydGllcyksICZyZXN1bHQpOwotICAgIGluamVjdGVkU2NyaXB0LmdldEludGVy
bmFsUHJvcGVydGllcyhlcnJvclN0cmluZywgb2JqZWN0SWQsICZpbnRlcm5hbFByb3BlcnRpZXMp
OworICAgIGluamVjdGVkU2NyaXB0LmdldFByb3BlcnRpZXMoZXJyb3JTdHJpbmcsIG9iamVjdElk
LCBhc0Jvb2wob3duUHJvcGVydGllcyksIGFzQm9vbChvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzKSwg
YXNCb29sKGdlbmVyYXRlUHJldmlldyksICZyZXN1bHQpOworICAgIGluamVjdGVkU2NyaXB0Lmdl
dEludGVybmFsUHJvcGVydGllcyhlcnJvclN0cmluZywgb2JqZWN0SWQsIGFzQm9vbChnZW5lcmF0
ZVByZXZpZXcpLCAmaW50ZXJuYWxQcm9wZXJ0aWVzKTsKIAogICAgIHVubXV0ZUNvbnNvbGUoKTsK
ICAgICBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG1fc2NyaXB0RGVidWdTZXJ2ZXIsIHByZXZp
b3VzUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCmlu
ZGV4IDg3MTNlYzIuLmZkN2I1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBAIC02
Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZXZhbHVhdGUoRXJyb3JTdHJp
bmcmLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogb2JqZWN0R3JvdXAs
IGNvbnN0IGJvb2wqIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBpbnQqIGV4ZWN1dGlvbkNvbnRleHRJ
ZCwgY29uc3QgYm9vbCogcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3
LCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVz
dWx0LCBJbnNwZWN0b3I6OlByb3RvY29sOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikgb3Zl
cnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25z
dCBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJheT4mJiBvcHRpb25hbEFyZ3VtZW50cywg
Y29uc3QgYm9vbCogZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBi
b29sKiByZXR1cm5CeVZhbHVlLCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxJ
bnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+JiByZXN1bHQsIEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKSBvdmVycmlkZSBmaW5h
bDsKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZU9iamVjdChFcnJvclN0cmluZyYsIGNvbnN0IEVy
cm9yU3RyaW5nJiBvYmplY3RJZCkgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCB2b2lkIGdl
dFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBi
b29sKiBvd25Qcm9wZXJ0aWVzLCBjb25zdCBib29sKiBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBS
ZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVu
dGltZTo6UHJvcGVydHlEZXNjcmlwdG9yPj4mIHJlc3VsdCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFsUHJvcGVy
dHlEZXNjcmlwdG9yPj4mIGludGVybmFsUHJvcGVydGllcykgb3ZlcnJpZGUgZmluYWw7CisgICAg
dmlydHVhbCB2b2lkIGdldFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9i
amVjdElkLCBjb25zdCBib29sKiBvd25Qcm9wZXJ0aWVzLCBjb25zdCBib29sKiBvd25BbmRHZXR0
ZXJQcm9wZXJ0aWVzLCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIFJlZlB0cjxJbnNwZWN0
b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0
eURlc2NyaXB0b3I+PiYgcmVzdWx0LCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8
SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6SW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3I+
PiYgaW50ZXJuYWxQcm9wZXJ0aWVzKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQg
Z2V0Q29sbGVjdGlvbkVudHJpZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElk
LCBjb25zdCBTdHJpbmcqIG9iamVjdEdyb3VwLCBjb25zdCBpbnQqIHN0YXJ0SW5kZXgsIGNvbnN0
IGludCogbnVtYmVyVG9GZXRjaCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PElu
c3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkNvbGxlY3Rpb25FbnRyeT4+JiBlbnRyaWVzKSBv
dmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgcmVsZWFzZU9iamVjdEdyb3VwKEVycm9y
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCkgb3ZlcnJpZGUgZmluYWw7CiAgICAg
dmlydHVhbCB2b2lkIHJ1bihFcnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9SdW50aW1lLmpzb24gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1J1bnRpbWUuanNvbgppbmRleCAy
ZjY3YjJlLi5mMDdkOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL1J1bnRpbWUuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL1J1bnRpbWUuanNvbgpAQCAtMjM3LDcgKzIzNyw4IEBACiAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdElk
IiwgIiRyZWYiOiAiUmVtb3RlT2JqZWN0SWQiLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBv
ZiB0aGUgb2JqZWN0IHRvIHJldHVybiBwcm9wZXJ0aWVzIGZvci4iIH0sCiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJvd25Qcm9wZXJ0aWVzIiwgIm9wdGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAi
Ym9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJJZiB0cnVlLCByZXR1cm5zIHByb3BlcnRpZXMgYmVs
b25naW5nIG9ubHkgdG8gdGhlIG9iamVjdCBpdHNlbGYsIG5vdCB0byBpdHMgcHJvdG90eXBlIGNo
YWluLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm93bkFuZEdldHRlclByb3BlcnRp
ZXMiLCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjog
IklmIHRydWUsIHJldHVybnMgcHJvcGVydGllcyBiZWxvbmdpbmcgdG8gdGhlIG9iamVjdCBpdHNl
bGYsIGFuZCBnZXR0ZXJzIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uIiB9CisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
InR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJJZiB0cnVlLCByZXR1cm5zIHByb3Bl
cnRpZXMgYmVsb25naW5nIHRvIHRoZSBvYmplY3QgaXRzZWxmLCBhbmQgZ2V0dGVycyBpbiBpdHMg
cHJvdG90eXBlIGNoYWluLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImdlbmVyYXRl
UHJldmlldyIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiV2hldGhlciBwcmV2aWV3IHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHByb3BlcnR5IHZh
bHVlcy4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAicmV0dXJucyI6IFsKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjog
eyAiJHJlZiI6ICJQcm9wZXJ0eURlc2NyaXB0b3IifSwgImRlc2NyaXB0aW9uIjogIk9iamVjdCBw
cm9wZXJ0aWVzLiIgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDgyYTdiMmIuLmYyNGJj
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE1LTAyLTIx
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogR2VuZXJhdGUgUHJldmlld3MgbW9yZSBvZnRlbiBmb3IgUmVtb3RlT2JqZWN0IGlu
dGVyYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDE4NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1Byb3BlcnR5RGVzY3JpcHRvci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Qcm9wZXJ0eURlc2NyaXB0b3IuZnJvbVBheWxvYWQpOgorICAgICAgICBG
aXggSW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3IgaW5nZXN0aW9uLiBUaGVyZSB3YXMgbm8gIi5p
bnRlcm5hbCIKKyAgICAgICAgcHJvcGVydHkgb24gdGhlc2Ugb2JqZWN0cywgc28gdGFrZSBhIGZs
YWcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVjdC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBlLl9nZXRQcm9wZXJ0
eURlc2NyaXB0b3JzKToKKyAgICAgICAgRml4IEludGVybmFsUHJvcGVydHlEZXNjcmlwdG9yIGlu
Z2VzdGlvbiBieSBzcGVjaWZ5aW5nIGR1cmluZworICAgICAgICBpbXBvcnRpbmcgdGhlIGludGVy
bmFsIHByb3BlcnRpZXMuIEFsc28sIGdldCBwcmV2aWV3cy4KKworICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUuY2FsbEZ1bmN0aW9uKToKKyAgICAgICAgQWx3YXlz
IGdldCBwcmV2aWV3cyB3aGVuIHVzaW5nIGNhbGxGdW5jdGlvbk9uLgorCisyMDE1LTAyLTIxICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogR2l2ZSBPYmplY3RQcmV2aWV3VmlldyBhIHNob3dUaXRsZS9zaG93UHJldmlldyB0b2dn
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTg3
NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvUHJvcGVydHlEZXNjcmlwdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1Byb3BlcnR5RGVzY3JpcHRvci5qcwppbmRleCA5ZmVmMzY5Li42MGIzYjAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
UHJvcGVydHlEZXNjcmlwdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9Qcm9wZXJ0eURlc2NyaXB0b3IuanMKQEAgLTQ4LDggKzQ4LDggQEAgV2Vi
SW5zcGVjdG9yLlByb3BlcnR5RGVzY3JpcHRvciA9IGZ1bmN0aW9uKGRlc2NyaXB0b3IsIGlzT3du
UHJvcGVydHksIHdhc1Rocm93biwKICAgICB0aGlzLl9pbnRlcm5hbCA9IGlzSW50ZXJuYWxQcm9w
ZXJ0eSB8fCBmYWxzZTsKIH07CiAKLS8vIFJ1bnRpbWUuUHJvcGVydHlEZXNjcmlwdG9yIG9yIFJ1
bnRpbWUuSW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3IuCi1XZWJJbnNwZWN0b3IuUHJvcGVydHlE
ZXNjcmlwdG9yLmZyb21QYXlsb2FkID0gZnVuY3Rpb24ocGF5bG9hZCkKKy8vIFJ1bnRpbWUuUHJv
cGVydHlEZXNjcmlwdG9yIG9yIFJ1bnRpbWUuSW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3IgKHNl
Y29uZCBhcmd1bWVudCkuCitXZWJJbnNwZWN0b3IuUHJvcGVydHlEZXNjcmlwdG9yLmZyb21QYXls
b2FkID0gZnVuY3Rpb24ocGF5bG9hZCwgaW50ZXJuYWwpCiB7CiAgICAgaWYgKHBheWxvYWQudmFs
dWUpCiAgICAgICAgIHBheWxvYWQudmFsdWUgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZy
b21QYXlsb2FkKHBheWxvYWQudmFsdWUpOwpAQCAtNTgsMTMgKzU4LDEzIEBAIFdlYkluc3BlY3Rv
ci5Qcm9wZXJ0eURlc2NyaXB0b3IuZnJvbVBheWxvYWQgPSBmdW5jdGlvbihwYXlsb2FkKQogICAg
IGlmIChwYXlsb2FkLnNldCkKICAgICAgICAgcGF5bG9hZC5zZXQgPSBXZWJJbnNwZWN0b3IuUmVt
b3RlT2JqZWN0LmZyb21QYXlsb2FkKHBheWxvYWQuc2V0KTsKIAotICAgIGlmIChwYXlsb2FkLmlu
dGVybmFsKSB7CisgICAgaWYgKGludGVybmFsKSB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHBh
eWxvYWQudmFsdWUpOwogICAgICAgICBwYXlsb2FkLndyaXRhYmxlID0gcGF5bG9hZC5jb25maWd1
cmFibGUgPSBwYXlsb2FkLmVudW1lcmFibGUgPSBmYWxzZTsKICAgICAgICAgcGF5bG9hZC5pc093
biA9IHRydWU7CiAgICAgfQogCi0gICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvcGVydHlE
ZXNjcmlwdG9yKHBheWxvYWQsIHBheWxvYWQuaXNPd24sIHBheWxvYWQud2FzVGhyb3duLCBwYXls
b2FkLmludGVybmFsKTsKKyAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9wZXJ0eURlc2Ny
aXB0b3IocGF5bG9hZCwgcGF5bG9hZC5pc093biwgcGF5bG9hZC53YXNUaHJvd24sIGludGVybmFs
KTsKIH07CiAKIFdlYkluc3BlY3Rvci5Qcm9wZXJ0eURlc2NyaXB0b3IucHJvdG90eXBlID0gewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wv
UmVtb3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvUmVtb3RlT2JqZWN0LmpzCmluZGV4IGIwZWI2NmMuLjhmMjcwNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVj
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9S
ZW1vdGVPYmplY3QuanMKQEAgLTE3NCwxMyArMTc0LDE2IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVP
YmplY3QucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgaWYgKGludGVybmFsUHJvcGVydGllcykKLSAgICAgICAgICAgICAg
ICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcy5jb25jYXQoaW50ZXJuYWxQcm9wZXJ0aWVzKTsKLQog
ICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3JzID0gcHJvcGVydGllcy5tYXAoZnVuY3Rpb24ocGF5
bG9hZCkgewogICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuUHJvcGVydHlEZXNj
cmlwdG9yLmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAgICAgICAgICAgfSk7CiAKKyAgICAgICAg
ICAgIGlmIChpbnRlcm5hbFByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgICAgICBkZXNjcmlwdG9y
cyA9IGRlc2NyaXB0b3JzLmNvbmNhdChpbnRlcm5hbFByb3BlcnRpZXMubWFwKGZ1bmN0aW9uKHBh
eWxvYWQpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5Qcm9wZXJ0
eURlc2NyaXB0b3IuZnJvbVBheWxvYWQocGF5bG9hZCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAg
fSkpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjYWxsYmFjayhkZXNjcmlwdG9ycyk7
CiAgICAgICAgIH0KIApAQCAtMjA4LDcgKzIxMSw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAg
ICAgUnVudGltZUFnZW50LmdldFByb3BlcnRpZXModGhpcy5fb2JqZWN0SWQsIG93blByb3BlcnRp
ZXMsIG93bkFuZEdldHRlclByb3BlcnRpZXMsIHJlbW90ZU9iamVjdEJpbmRlcik7CisgICAgICAg
IFJ1bnRpbWVBZ2VudC5nZXRQcm9wZXJ0aWVzKHRoaXMuX29iamVjdElkLCBvd25Qcm9wZXJ0aWVz
LCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCB0cnVlLCByZW1vdGVPYmplY3RCaW5kZXIpOwogICAg
IH0sCiAKICAgICAvLyBGSVhNRTogUGhhc2Ugb3V0IHRoZXNlIGZ1bmN0aW9ucy4gVGhleSByZXR1
cm4gUmVtb3RlT2JqZWN0UHJvcGVydHkgaW5zdGVhZCBvZiBQcm9wZXJ0eURlc2NyaXB0b3JzLgpA
QCAtMzg4LDcgKzM5MSw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgY2FsbGJhY2soKGVycm9yIHx8IHdhc1Rocm93bikgPyBudWxsIDogV2Vi
SW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpKTsKICAgICAgICAgfQog
Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwgZnVu
Y3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCBhcmdzLCB0cnVlLCB1bmRlZmluZWQsIG15Y2Fs
bGJhY2spOworICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0
SWQsIGZ1bmN0aW9uRGVjbGFyYXRpb24udG9TdHJpbmcoKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVk
LCB0cnVlIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICBjYWxsRnVuY3Rpb25KU09OOiBmdW5j
dGlvbihmdW5jdGlvbkRlY2xhcmF0aW9uLCBhcmdzLCBjYWxsYmFjaykK
</data>
<flag name="review"
          id="272017"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="272018"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247074</attachid>
            <date>2015-02-21 19:00:46 -0800</date>
            <delta_ts>2015-02-21 19:50:49 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>fixed.patch</filename>
            <type>text/plain</type>
            <size>19083</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYmYwOWYuLmU3N2ZlNWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTAyLTIxICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogR2VuZXJh
dGUgUHJldmlld3MgbW9yZSBvZnRlbiBmb3IgUmVtb3RlT2JqZWN0IGludGVyYWN0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE4NzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
cHJvdG9jb2wvUnVudGltZS5qc29uOgorICAgICAgICBBZGQgZ2VuZXJhdGVQcmV2aWV3IHRvIGdl
dFByb3BlcnRpZXMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdDo6Z2V0UHJvcGVydGllcyk6CisgICAg
ICAgIChJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0OjpnZXRJbnRlcm5hbFByb3BlcnRpZXMpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6
SW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oOgorICAgICAgICBQbHVtYiB0aGUgZ2Vu
ZXJhdGVQcmV2aWV3IGJvb2xlYW4gdGhyb3VnaCB0byB0aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzOgorICAgICAgICBBZGQg
Z2VuZXJhdGVQcmV2aWV3IGZvciBnZXRQcm9wZXJ0aWVzLgorICAgICAgICBGaXggY2FsbEZ1bmN0
aW9uT24gdG8gZ2VuZXJhdGVQcmV2aWV3cyBpZiBhc2tlZC4KKwogMjAxNS0wMi0xOSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgRVM2OiBJbXBsZW1lbnQgQXJyYXku
ZnJvbSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHQuY3BwCmluZGV4IDI0ZTgwZmQuLmI4N2UwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC0xMDcsMTIgKzEwNywx
MyBAQCB2b2lkIEluamVjdGVkU2NyaXB0OjpnZXRGdW5jdGlvbkRldGFpbHMoRXJyb3JTdHJpbmcm
IGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmCiAgICAgKnJlc3VsdCA9IEJpbmRpbmdUcmFpdHM8
SW5zcGVjdG9yOjpQcm90b2NvbDo6RGVidWdnZXI6OkZ1bmN0aW9uRGV0YWlscz46OnJ1bnRpbWVD
YXN0KFdURjo6bW92ZShyZXN1bHRWYWx1ZSkpOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0Ojpn
ZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBvYmpl
Y3RJZCwgYm9vbCBvd25Qcm9wZXJ0aWVzLCBib29sIG93bkFuZEdldHRlclByb3BlcnRpZXMsIFJl
ZlB0cjxBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0
b3I+PiogcHJvcGVydGllcykKK3ZvaWQgSW5qZWN0ZWRTY3JpcHQ6OmdldFByb3BlcnRpZXMoRXJy
b3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBib29sIG93blBy
b3BlcnRpZXMsIGJvb2wgb3duQW5kR2V0dGVyUHJvcGVydGllcywgYm9vbCBnZW5lcmF0ZVByZXZp
ZXcsIFJlZlB0cjxBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0eURl
c2NyaXB0b3I+PiogcHJvcGVydGllcykKIHsKICAgICBEZXByZWNhdGVkOjpTY3JpcHRGdW5jdGlv
bkNhbGwgZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgQVNDSUlMaXRlcmFsKCJnZXRQ
cm9wZXJ0aWVzIiksIGluc3BlY3RvckVudmlyb25tZW50KCktPmZ1bmN0aW9uQ2FsbEhhbmRsZXIo
KSk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQob2JqZWN0SWQpOwogICAgIGZ1bmN0aW9u
LmFwcGVuZEFyZ3VtZW50KG93blByb3BlcnRpZXMpOwogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3Vt
ZW50KG93bkFuZEdldHRlclByb3BlcnRpZXMpOworICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50
KGdlbmVyYXRlUHJldmlldyk7CiAKICAgICBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IHJlc3VsdDsK
ICAgICBtYWtlQ2FsbChmdW5jdGlvbiwgJnJlc3VsdCk7CkBAIC0xMjQsMTAgKzEyNSwxMSBAQCB2
b2lkIEluamVjdGVkU2NyaXB0OjpnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmlu
ZywgY29uc3QgU3RyaW5nJiBvYmplYwogICAgICpwcm9wZXJ0aWVzID0gQmluZGluZ1RyYWl0czxB
cnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0b3I+Pjo6
cnVudGltZUNhc3QoV1RGOjptb3ZlKHJlc3VsdCkpOwogfQogCi12b2lkIEluamVjdGVkU2NyaXB0
OjpnZXRJbnRlcm5hbFByb3BlcnRpZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIG9iamVjdElkLCBSZWZQdHI8QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGlt
ZTo6SW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3I+PiogcHJvcGVydGllcykKK3ZvaWQgSW5qZWN0
ZWRTY3JpcHQ6OmdldEludGVybmFsUHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcs
IGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8QXJy
YXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6SW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0
b3I+PiogcHJvcGVydGllcykKIHsKICAgICBEZXByZWNhdGVkOjpTY3JpcHRGdW5jdGlvbkNhbGwg
ZnVuY3Rpb24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgQVNDSUlMaXRlcmFsKCJnZXRJbnRlcm5h
bFByb3BlcnRpZXMiKSwgaW5zcGVjdG9yRW52aXJvbm1lbnQoKS0+ZnVuY3Rpb25DYWxsSGFuZGxl
cigpKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChvYmplY3RJZCk7CisgICAgZnVuY3Rp
b24uYXBwZW5kQXJndW1lbnQoZ2VuZXJhdGVQcmV2aWV3KTsKIAogICAgIFJlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4gcmVzdWx0OwogICAgIG1ha2VDYWxsKGZ1bmN0aW9uLCAmcmVzdWx0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCAz
YTFhYWZkLi44ZDI5N2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5oCkBAIC01Niw4ICs1Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNh
bGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3Qg
U3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcmIGFyZ3VtZW50cywgYm9vbCByZXR1cm5C
eVZhbHVlLCBib29sIGdlbmVyYXRlUHJldmlldywgUmVmUHRyPFByb3RvY29sOjpSdW50aW1lOjpS
ZW1vdGVPYmplY3Q+KiByZXN1bHQsIFByb3RvY29sOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93
bik7CiAgICAgdm9pZCBldmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nJiwgY29uc3QgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUmIGNhbGxGcmFtZXMsIGNvbnN0IFN0cmluZyYgY2FsbEZyYW1l
SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCwg
Ym9vbCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGJvb2wgcmV0dXJuQnlWYWx1ZSwgYm9vbCBnZW5l
cmF0ZVByZXZpZXcsIFJlZlB0cjxQcm90b2NvbDo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiogcmVz
dWx0LCBQcm90b2NvbDo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pOwogICAgIHZvaWQgZ2V0
RnVuY3Rpb25EZXRhaWxzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbklkLCBS
ZWZQdHI8UHJvdG9jb2w6OkRlYnVnZ2VyOjpGdW5jdGlvbkRldGFpbHM+KiByZXN1bHQpOwotICAg
IHZvaWQgZ2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQs
IGJvb2wgb3duUHJvcGVydGllcywgYm9vbCBvd25BbmRHZXR0ZXJQcm9wZXJ0aWVzLCBSZWZQdHI8
UHJvdG9jb2w6OkFycmF5PFByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0b3I+Piog
cmVzdWx0KTsKLSAgICB2b2lkIGdldEludGVybmFsUHJvcGVydGllcyhFcnJvclN0cmluZyYsIGNv
bnN0IFN0cmluZyYgb2JqZWN0SWQsIFJlZlB0cjxQcm90b2NvbDo6QXJyYXk8UHJvdG9jb2w6OlJ1
bnRpbWU6OkludGVybmFsUHJvcGVydHlEZXNjcmlwdG9yPj4qIHJlc3VsdCk7CisgICAgdm9pZCBn
ZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgYm9vbCBv
d25Qcm9wZXJ0aWVzLCBib29sIG93bkFuZEdldHRlclByb3BlcnRpZXMsIGJvb2wgZ2VuZXJhdGVQ
cmV2aWV3LCBSZWZQdHI8UHJvdG9jb2w6OkFycmF5PFByb3RvY29sOjpSdW50aW1lOjpQcm9wZXJ0
eURlc2NyaXB0b3I+PiogcmVzdWx0KTsKKyAgICB2b2lkIGdldEludGVybmFsUHJvcGVydGllcyhF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3
LCBSZWZQdHI8UHJvdG9jb2w6OkFycmF5PFByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5hbFByb3Bl
cnR5RGVzY3JpcHRvcj4+KiByZXN1bHQpOwogICAgIHZvaWQgZ2V0Q29sbGVjdGlvbkVudHJpZXMo
RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBTdHJpbmcmIG9iamVj
dEdyb3VwLCBpbnQgc3RhcnRJbmRleCwgaW50IG51bWJlclRvRmV0Y2gsIFJlZlB0cjxQcm90b2Nv
bDo6QXJyYXk8UHJvdG9jb2w6OlJ1bnRpbWU6OkNvbGxlY3Rpb25FbnRyeT4+KiBlbnRyaWVzKTsK
IAogICAgIFJlZjxQcm90b2NvbDo6QXJyYXk8UHJvdG9jb2w6OkRlYnVnZ2VyOjpDYWxsRnJhbWU+
PiB3cmFwQ2FsbEZyYW1lcyhjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKaW5kZXggZjdhYzM4Mi4uZDdhMWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC0xOTYsNyAr
MTk2LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0sCiAKLSAgICBnZXRQcm9wZXJ0aWVzOiBmdW5jdGlvbihvYmplY3RJZCwgb3du
UHJvcGVydGllcywgb3duQW5kR2V0dGVyUHJvcGVydGllcykKKyAgICBnZXRQcm9wZXJ0aWVzOiBm
dW5jdGlvbihvYmplY3RJZCwgb3duUHJvcGVydGllcywgb3duQW5kR2V0dGVyUHJvcGVydGllcywg
Z2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAgICAgICAgdmFyIHBhcnNlZE9iamVjdElkID0gdGhp
cy5fcGFyc2VPYmplY3RJZChvYmplY3RJZCk7CiAgICAgICAgIHZhciBvYmplY3QgPSB0aGlzLl9v
YmplY3RGb3JJZChwYXJzZWRPYmplY3RJZCk7CkBAIC0yMjQsNyArMjI0LDcgQEAgSW5qZWN0ZWRT
Y3JpcHQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCJzZXQiIGluIGRlc2NyaXB0b3Ip
CiAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci5zZXQgPSB0aGlzLl93cmFwT2JqZWN0KGRlc2Ny
aXB0b3Iuc2V0LCBvYmplY3RHcm91cE5hbWUpOwogICAgICAgICAgICAgaWYgKCJ2YWx1ZSIgaW4g
ZGVzY3JpcHRvcikKLSAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gdGhpcy5fd3Jh
cE9iamVjdChkZXNjcmlwdG9yLnZhbHVlLCBvYmplY3RHcm91cE5hbWUpOworICAgICAgICAgICAg
ICAgIGRlc2NyaXB0b3IudmFsdWUgPSB0aGlzLl93cmFwT2JqZWN0KGRlc2NyaXB0b3IudmFsdWUs
IG9iamVjdEdyb3VwTmFtZSwgZmFsc2UsIGdlbmVyYXRlUHJldmlldyk7CiAgICAgICAgICAgICBp
ZiAoISgiY29uZmlndXJhYmxlIiBpbiBkZXNjcmlwdG9yKSkKICAgICAgICAgICAgICAgICBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSA9IGZhbHNlOwogICAgICAgICAgICAgaWYgKCEoImVudW1lcmFi
bGUiIGluIGRlc2NyaXB0b3IpKQpAQCAtMjM0LDcgKzIzNCw3IEBAIEluamVjdGVkU2NyaXB0LnBy
b3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3JzOwogICAgIH0sCiAKLSAgICBn
ZXRJbnRlcm5hbFByb3BlcnRpZXM6IGZ1bmN0aW9uKG9iamVjdElkKQorICAgIGdldEludGVybmFs
UHJvcGVydGllczogZnVuY3Rpb24ob2JqZWN0SWQsIGdlbmVyYXRlUHJldmlldykKICAgICB7CiAg
ICAgICAgIHZhciBwYXJzZWRPYmplY3RJZCA9IHRoaXMuX3BhcnNlT2JqZWN0SWQob2JqZWN0SWQp
OwogICAgICAgICB2YXIgb2JqZWN0ID0gdGhpcy5fb2JqZWN0Rm9ySWQocGFyc2VkT2JqZWN0SWQp
OwpAQCAtMjU0LDcgKzI1NCw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZXNjcmlwdG9ycy5sZW5ndGg7ICsraSkgewogICAgICAg
ICAgICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9yc1tpXTsKICAgICAgICAgICAgIGlmICgi
dmFsdWUiIGluIGRlc2NyaXB0b3IpCi0gICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9
IHRoaXMuX3dyYXBPYmplY3QoZGVzY3JpcHRvci52YWx1ZSwgb2JqZWN0R3JvdXBOYW1lKTsKKyAg
ICAgICAgICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gdGhpcy5fd3JhcE9iamVjdChkZXNjcmlw
dG9yLnZhbHVlLCBvYmplY3RHcm91cE5hbWUsIGZhbHNlLCBnZW5lcmF0ZVByZXZpZXcpOwogICAg
ICAgICB9CiAKICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3JzOwpAQCAtMzE5LDcgKzMxOSw3IEBA
IEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2V2YWx1
YXRlQW5kV3JhcChJbmplY3RlZFNjcmlwdEhvc3QuZXZhbHVhdGUsIEluamVjdGVkU2NyaXB0SG9z
dCwgZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXAsIGZhbHNlLCBpbmplY3RDb21tYW5kTGluZUFQSSwg
cmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICB9LAogCi0gICAgY2FsbEZ1bmN0
aW9uT246IGZ1bmN0aW9uKG9iamVjdElkLCBleHByZXNzaW9uLCBhcmdzLCByZXR1cm5CeVZhbHVl
KQorICAgIGNhbGxGdW5jdGlvbk9uOiBmdW5jdGlvbihvYmplY3RJZCwgZXhwcmVzc2lvbiwgYXJn
cywgcmV0dXJuQnlWYWx1ZSwgZ2VuZXJhdGVQcmV2aWV3KQogICAgIHsKICAgICAgICAgdmFyIHBh
cnNlZE9iamVjdElkID0gdGhpcy5fcGFyc2VPYmplY3RJZChvYmplY3RJZCk7CiAgICAgICAgIHZh
ciBvYmplY3QgPSB0aGlzLl9vYmplY3RGb3JJZChwYXJzZWRPYmplY3RJZCk7CkBAIC0zNDYsNyAr
MzQ2LDcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogCiAgICAgICAgICAgICByZXR1
cm4gewogICAgICAgICAgICAgICAgIHdhc1Rocm93bjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
cmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KGZ1bmMuYXBwbHkob2JqZWN0LCByZXNvbHZlZEFyZ3Mp
LCBvYmplY3RHcm91cCwgcmV0dXJuQnlWYWx1ZSkKKyAgICAgICAgICAgICAgICByZXN1bHQ6IHRo
aXMuX3dyYXBPYmplY3QoZnVuYy5hcHBseShvYmplY3QsIHJlc29sdmVkQXJncyksIG9iamVjdEdy
b3VwLCByZXR1cm5CeVZhbHVlLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgICAgICAgICB9OwogICAg
ICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlVGhyb3du
VmFsdWUoZSwgb2JqZWN0R3JvdXApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKaW5k
ZXggZjQ1MzkzNS4uYWFiMDJmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBA
IC0xNjAsNyArMTYwLDcgQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlv
bk9uKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW4KICAgICB9CiB9CiAKLXZv
aWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJv
clN0cmluZywgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3QgYm9vbCogY29uc3Qgb3duUHJv
cGVydGllcywgY29uc3QgYm9vbCogY29uc3Qgb3duQW5kR2V0dGVyUHJvcGVydGllcywgUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6
OlByb3BlcnR5RGVzY3JpcHRvcj4+JiByZXN1bHQsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29s
OjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5hbFByb3BlcnR5RGVz
Y3JpcHRvcj4+JiBpbnRlcm5hbFByb3BlcnRpZXMpCit2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2Vu
dDo6Z2V0UHJvcGVydGllcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYg
b2JqZWN0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IG93blByb3BlcnRpZXMsIGNvbnN0IGJvb2wqIGNv
bnN0IG93bkFuZEdldHRlclByb3BlcnRpZXMsIGNvbnN0IGJvb2wqIGNvbnN0IGdlbmVyYXRlUHJl
dmlldywgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9j
b2w6OlJ1bnRpbWU6OlByb3BlcnR5RGVzY3JpcHRvcj4+JiByZXN1bHQsIFJlZlB0cjxJbnNwZWN0
b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5h
bFByb3BlcnR5RGVzY3JpcHRvcj4+JiBpbnRlcm5hbFByb3BlcnRpZXMpCiB7CiAgICAgSW5qZWN0
ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0
ZWRTY3JpcHRGb3JPYmplY3RJZChvYmplY3RJZCk7CiAgICAgaWYgKGluamVjdGVkU2NyaXB0Lmhh
c05vVmFsdWUoKSkgewpAQCAtMTcxLDggKzE3MSw4IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFn
ZW50OjpnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5n
CiAgICAgU2NyaXB0RGVidWdTZXJ2ZXI6OlBhdXNlT25FeGNlcHRpb25zU3RhdGUgcHJldmlvdXNQ
YXVzZU9uRXhjZXB0aW9uc1N0YXRlID0gc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShtX3Njcmlw
dERlYnVnU2VydmVyLCBTY3JpcHREZWJ1Z1NlcnZlcjo6RG9udFBhdXNlT25FeGNlcHRpb25zKTsK
ICAgICBtdXRlQ29uc29sZSgpOwogCi0gICAgaW5qZWN0ZWRTY3JpcHQuZ2V0UHJvcGVydGllcyhl
cnJvclN0cmluZywgb2JqZWN0SWQsIGFzQm9vbChvd25Qcm9wZXJ0aWVzKSwgYXNCb29sKG93bkFu
ZEdldHRlclByb3BlcnRpZXMpLCAmcmVzdWx0KTsKLSAgICBpbmplY3RlZFNjcmlwdC5nZXRJbnRl
cm5hbFByb3BlcnRpZXMoZXJyb3JTdHJpbmcsIG9iamVjdElkLCAmaW50ZXJuYWxQcm9wZXJ0aWVz
KTsKKyAgICBpbmplY3RlZFNjcmlwdC5nZXRQcm9wZXJ0aWVzKGVycm9yU3RyaW5nLCBvYmplY3RJ
ZCwgYXNCb29sKG93blByb3BlcnRpZXMpLCBhc0Jvb2wob3duQW5kR2V0dGVyUHJvcGVydGllcyks
IGFzQm9vbChnZW5lcmF0ZVByZXZpZXcpLCAmcmVzdWx0KTsKKyAgICBpbmplY3RlZFNjcmlwdC5n
ZXRJbnRlcm5hbFByb3BlcnRpZXMoZXJyb3JTdHJpbmcsIG9iamVjdElkLCBhc0Jvb2woZ2VuZXJh
dGVQcmV2aWV3KSwgJmludGVybmFsUHJvcGVydGllcyk7CiAKICAgICB1bm11dGVDb25zb2xlKCk7
CiAgICAgc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShtX3NjcmlwdERlYnVnU2VydmVyLCBwcmV2
aW91c1BhdXNlT25FeGNlcHRpb25zU3RhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApp
bmRleCA4NzEzZWMyLi5mZDdiNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApAQCAt
NjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGV2YWx1YXRlKEVycm9yU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcqIG9iamVjdEdyb3Vw
LCBjb25zdCBib29sKiBpbmNsdWRlQ29tbWFuZExpbmVBUEksIGNvbnN0IGJvb2wqIGRvTm90UGF1
c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgY29uc3QgaW50KiBleGVjdXRpb25Db250ZXh0
SWQsIGNvbnN0IGJvb2wqIHJldHVybkJ5VmFsdWUsIGNvbnN0IGJvb2wqIGdlbmVyYXRlUHJldmll
dywgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCwgSW5zcGVjdG9yOjpQcm90b2NvbDo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pIG92
ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBjYWxsRnVuY3Rpb25PbihFcnJvclN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29u
c3QgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJyYXk+JiYgb3B0aW9uYWxBcmd1bWVudHMs
IGNvbnN0IGJvb2wqIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgY29uc3Qg
Ym9vbCogcmV0dXJuQnlWYWx1ZSwgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8
SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBJbnNw
ZWN0b3I6OlByb3RvY29sOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdmlydHVhbCB2b2lkIHJlbGVhc2VPYmplY3QoRXJyb3JTdHJpbmcmLCBjb25zdCBF
cnJvclN0cmluZyYgb2JqZWN0SWQpIG92ZXJyaWRlIGZpbmFsOwotICAgIHZpcnR1YWwgdm9pZCBn
ZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgY29uc3Qg
Ym9vbCogb3duUHJvcGVydGllcywgY29uc3QgYm9vbCogb3duQW5kR2V0dGVyUHJvcGVydGllcywg
UmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1
bnRpbWU6OlByb3BlcnR5RGVzY3JpcHRvcj4+JiByZXN1bHQsIFJlZlB0cjxJbnNwZWN0b3I6OlBy
b3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpJbnRlcm5hbFByb3Bl
cnR5RGVzY3JpcHRvcj4+JiBpbnRlcm5hbFByb3BlcnRpZXMpIG92ZXJyaWRlIGZpbmFsOworICAg
IHZpcnR1YWwgdm9pZCBnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBv
YmplY3RJZCwgY29uc3QgYm9vbCogb3duUHJvcGVydGllcywgY29uc3QgYm9vbCogb3duQW5kR2V0
dGVyUHJvcGVydGllcywgY29uc3QgYm9vbCogZ2VuZXJhdGVQcmV2aWV3LCBSZWZQdHI8SW5zcGVj
dG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UHJvcGVy
dHlEZXNjcmlwdG9yPj4mIHJlc3VsdCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OkludGVybmFsUHJvcGVydHlEZXNjcmlwdG9y
Pj4mIGludGVybmFsUHJvcGVydGllcykgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lk
IGdldENvbGxlY3Rpb25FbnRyaWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBvYmplY3RJ
ZCwgY29uc3QgU3RyaW5nKiBvYmplY3RHcm91cCwgY29uc3QgaW50KiBzdGFydEluZGV4LCBjb25z
dCBpbnQqIG51bWJlclRvRmV0Y2gsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJ
bnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpDb2xsZWN0aW9uRW50cnk+PiYgZW50cmllcykg
b3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChFcnJv
clN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApIG92ZXJyaWRlIGZpbmFsOwogICAg
IHZpcnR1YWwgdm9pZCBydW4oRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUnVudGltZS5qc29uIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9SdW50aW1lLmpzb24KaW5kZXgg
MmY2N2IyZS4uZjA3ZDljNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9SdW50aW1lLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9wcm90b2NvbC9SdW50aW1lLmpzb24KQEAgLTIzNyw3ICsyMzcsOCBAQAogICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmplY3RJ
ZCIsICIkcmVmIjogIlJlbW90ZU9iamVjdElkIiwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIg
b2YgdGhlIG9iamVjdCB0byByZXR1cm4gcHJvcGVydGllcyBmb3IuIiB9LAogICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAib3duUHJvcGVydGllcyIsICJvcHRpb25hbCI6IHRydWUsICJ0eXBlIjog
ImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiSWYgdHJ1ZSwgcmV0dXJucyBwcm9wZXJ0aWVzIGJl
bG9uZ2luZyBvbmx5IHRvIHRoZSBvYmplY3QgaXRzZWxmLCBub3QgdG8gaXRzIHByb3RvdHlwZSBj
aGFpbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvd25BbmRHZXR0ZXJQcm9wZXJ0
aWVzIiwgIm9wdGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6
ICJJZiB0cnVlLCByZXR1cm5zIHByb3BlcnRpZXMgYmVsb25naW5nIHRvIHRoZSBvYmplY3QgaXRz
ZWxmLCBhbmQgZ2V0dGVycyBpbiBpdHMgcHJvdG90eXBlIGNoYWluLiIgfQorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAib3duQW5kR2V0dGVyUHJvcGVydGllcyIsICJvcHRpb25hbCI6IHRydWUs
ICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiSWYgdHJ1ZSwgcmV0dXJucyBwcm9w
ZXJ0aWVzIGJlbG9uZ2luZyB0byB0aGUgb2JqZWN0IGl0c2VsZiwgYW5kIGdldHRlcnMgaW4gaXRz
IHByb3RvdHlwZSBjaGFpbi4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnZW5lcmF0
ZVByZXZpZXciLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIldoZXRoZXIgcHJldmlldyBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciBwcm9wZXJ0eSB2
YWx1ZXMuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6
IHsgIiRyZWYiOiAiUHJvcGVydHlEZXNjcmlwdG9yIn0sICJkZXNjcmlwdGlvbiI6ICJPYmplY3Qg
cHJvcGVydGllcy4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA4MmE3YjJiLi5lNzM2
ODRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNSBAQAogMjAxNS0wMi0y
MSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEdlbmVyYXRlIFByZXZpZXdzIG1vcmUgb2Z0ZW4gZm9yIFJlbW90ZU9iamVjdCBp
bnRlcmFjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQxODc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlEZXNjcmlwdG9yLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZCk6CisgICAgICAg
IEZpeCBJbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvciBpbmdlc3Rpb24uIFRoZXJlIHdhcyBubyAi
LmludGVybmFsIgorICAgICAgICBwcm9wZXJ0eSBvbiB0aGVzZSBvYmplY3RzLCBzbyB0YWtlIGEg
ZmxhZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUuX2dldFByb3Bl
cnR5RGVzY3JpcHRvcnMpOgorICAgICAgICBGaXggSW50ZXJuYWxQcm9wZXJ0eURlc2NyaXB0b3Ig
aW5nZXN0aW9uIGJ5IHNwZWNpZnlpbmcgZHVyaW5nCisgICAgICAgIGltcG9ydGluZyB0aGUgaW50
ZXJuYWwgcHJvcGVydGllcy4gQWxzbywgZ2V0IHByZXZpZXdzLgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5jYWxsRnVuY3Rpb24pOgorICAgICAgICBBbHdh
eXMgZ2V0IHByZXZpZXdzIHdoZW4gdXNpbmcgY2FsbEZ1bmN0aW9uT24uCisKKzIwMTUtMDItMjEg
IEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBHaXZlIE9iamVjdFByZXZpZXdWaWV3IGEgc2hvd1RpdGxlL3Nob3dQcmV2aWV3IHRv
Z2dsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQx
ODc0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9Qcm9wZXJ0eURlc2NyaXB0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlEZXNjcmlwdG9yLmpzCmluZGV4IDlmZWYzNjkuLjYwYjNi
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9Qcm9wZXJ0eURlc2NyaXB0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1Byb3BlcnR5RGVzY3JpcHRvci5qcwpAQCAtNDgsOCArNDgsOCBAQCBX
ZWJJbnNwZWN0b3IuUHJvcGVydHlEZXNjcmlwdG9yID0gZnVuY3Rpb24oZGVzY3JpcHRvciwgaXNP
d25Qcm9wZXJ0eSwgd2FzVGhyb3duLAogICAgIHRoaXMuX2ludGVybmFsID0gaXNJbnRlcm5hbFBy
b3BlcnR5IHx8IGZhbHNlOwogfTsKIAotLy8gUnVudGltZS5Qcm9wZXJ0eURlc2NyaXB0b3Igb3Ig
UnVudGltZS5JbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvci4KLVdlYkluc3BlY3Rvci5Qcm9wZXJ0
eURlc2NyaXB0b3IuZnJvbVBheWxvYWQgPSBmdW5jdGlvbihwYXlsb2FkKQorLy8gUnVudGltZS5Q
cm9wZXJ0eURlc2NyaXB0b3Igb3IgUnVudGltZS5JbnRlcm5hbFByb3BlcnR5RGVzY3JpcHRvciAo
c2Vjb25kIGFyZ3VtZW50KS4KK1dlYkluc3BlY3Rvci5Qcm9wZXJ0eURlc2NyaXB0b3IuZnJvbVBh
eWxvYWQgPSBmdW5jdGlvbihwYXlsb2FkLCBpbnRlcm5hbCkKIHsKICAgICBpZiAocGF5bG9hZC52
YWx1ZSkKICAgICAgICAgcGF5bG9hZC52YWx1ZSA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Qu
ZnJvbVBheWxvYWQocGF5bG9hZC52YWx1ZSk7CkBAIC01OCwxMyArNTgsMTMgQEAgV2ViSW5zcGVj
dG9yLlByb3BlcnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZCA9IGZ1bmN0aW9uKHBheWxvYWQpCiAg
ICAgaWYgKHBheWxvYWQuc2V0KQogICAgICAgICBwYXlsb2FkLnNldCA9IFdlYkluc3BlY3Rvci5S
ZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocGF5bG9hZC5zZXQpOwogCi0gICAgaWYgKHBheWxvYWQu
aW50ZXJuYWwpIHsKKyAgICBpZiAoaW50ZXJuYWwpIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
cGF5bG9hZC52YWx1ZSk7CiAgICAgICAgIHBheWxvYWQud3JpdGFibGUgPSBwYXlsb2FkLmNvbmZp
Z3VyYWJsZSA9IHBheWxvYWQuZW51bWVyYWJsZSA9IGZhbHNlOwogICAgICAgICBwYXlsb2FkLmlz
T3duID0gdHJ1ZTsKICAgICB9CiAKLSAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9wZXJ0
eURlc2NyaXB0b3IocGF5bG9hZCwgcGF5bG9hZC5pc093biwgcGF5bG9hZC53YXNUaHJvd24sIHBh
eWxvYWQuaW50ZXJuYWwpOworICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVz
Y3JpcHRvcihwYXlsb2FkLCBwYXlsb2FkLmlzT3duLCBwYXlsb2FkLndhc1Rocm93biwgaW50ZXJu
YWwpOwogfTsKIAogV2ViSW5zcGVjdG9yLlByb3BlcnR5RGVzY3JpcHRvci5wcm90b3R5cGUgPSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZW1vdGVPYmplY3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Q
cm90b2NvbC9SZW1vdGVPYmplY3QuanMKaW5kZXggYjBlYjY2Yy4uYzIwZmMwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2Jq
ZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L1JlbW90ZU9iamVjdC5qcwpAQCAtMTc0LDEzICsxNzQsMTYgQEAgV2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBpZiAoaW50ZXJuYWxQcm9wZXJ0aWVzKQotICAgICAgICAgICAg
ICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmNvbmNhdChpbnRlcm5hbFByb3BlcnRpZXMpOwot
CiAgICAgICAgICAgICB2YXIgZGVzY3JpcHRvcnMgPSBwcm9wZXJ0aWVzLm1hcChmdW5jdGlvbihw
YXlsb2FkKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5Qcm9wZXJ0eURl
c2NyaXB0b3IuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICB9KTsKIAorICAgICAg
ICAgICAgaWYgKGludGVybmFsUHJvcGVydGllcykgeworICAgICAgICAgICAgICAgIGRlc2NyaXB0
b3JzID0gZGVzY3JpcHRvcnMuY29uY2F0KGludGVybmFsUHJvcGVydGllcy5tYXAoZnVuY3Rpb24o
cGF5bG9hZCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlByb3Bl
cnR5RGVzY3JpcHRvci5mcm9tUGF5bG9hZChwYXlsb2FkLCB0cnVlKTsKKyAgICAgICAgICAgICAg
ICB9KSk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNhbGxiYWNrKGRlc2NyaXB0b3Jz
KTsKICAgICAgICAgfQogCkBAIC0yMDgsNyArMjExLDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9i
amVjdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAg
ICAgICBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGllcyh0aGlzLl9vYmplY3RJZCwgb3duUHJvcGVy
dGllcywgb3duQW5kR2V0dGVyUHJvcGVydGllcywgcmVtb3RlT2JqZWN0QmluZGVyKTsKKyAgICAg
ICAgUnVudGltZUFnZW50LmdldFByb3BlcnRpZXModGhpcy5fb2JqZWN0SWQsIG93blByb3BlcnRp
ZXMsIG93bkFuZEdldHRlclByb3BlcnRpZXMsIHRydWUsIHJlbW90ZU9iamVjdEJpbmRlcik7CiAg
ICAgfSwKIAogICAgIC8vIEZJWE1FOiBQaGFzZSBvdXQgdGhlc2UgZnVuY3Rpb25zLiBUaGV5IHJl
dHVybiBSZW1vdGVPYmplY3RQcm9wZXJ0eSBpbnN0ZWFkIG9mIFByb3BlcnR5RGVzY3JpcHRvcnMu
CkBAIC0zODgsNyArMzkxLDcgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICBjYWxsYmFjaygoZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiBX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCkpOwogICAgICAgICB9
CiAKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVjdElkLCBm
dW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHRydWUsIHVuZGVmaW5lZCwgbXlj
YWxsYmFjayk7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmpl
Y3RJZCwgZnVuY3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCBhcmdzLCB0cnVlLCB1bmRlZmlu
ZWQsIHRydWUsIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICBjYWxsRnVuY3Rpb25KU09OOiBm
dW5jdGlvbihmdW5jdGlvbkRlY2xhcmF0aW9uLCBhcmdzLCBjYWxsYmFjaykK
</data>

          </attachment>
      

    </bug>

</bugzilla>