[JIRA] (OVIRT-1802) move stats to OpenShift
by Evgheni Dereveanchin (oVirt JIRA)
Evgheni Dereveanchin created OVIRT-1802:
-------------------------------------------
Summary: move stats to OpenShift
Key: OVIRT-1802
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1802
Project: oVirt - virtualization made easy
Issue Type: Task
Reporter: Evgheni Dereveanchin
Assignee: infra
Piwik is now hosted on a dedicated VM and as it's just a PHP web application it should be quite easy to host on OpenShift. Opening this ticket to check out the options and migrate the service.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100074)
7 years
[JIRA] (OVIRT-1801) move ovirt-mirrorchecker to new OpenShift instance
by Evgheni Dereveanchin (oVirt JIRA)
Evgheni Dereveanchin created OVIRT-1801:
-------------------------------------------
Summary: move ovirt-mirrorchecker to new OpenShift instance
Key: OVIRT-1801
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1801
Project: oVirt - virtualization made easy
Issue Type: Task
Reporter: Evgheni Dereveanchin
Assignee: infra
ovirt-mirrorchecker is running on the old all-in-one OpenShift instance and must be moved to the new one.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100074)
7 years
[JIRA] (OVIRT-1800) enable quotas on OpenShift
by Evgheni Dereveanchin (oVirt JIRA)
This is a multi-part message in MIME format...
------------=_1513185569-14762-323
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Evgheni Dereveanchin created OVIRT-1800:
-------------------------------------------
Summary: enable quotas on OpenShift
Key: OVIRT-1800
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1800
Project: oVirt - virtualization made easy
Issue Type: Improvement
Reporter: Evgheni Dereveanchin
Assignee: infra
Since we have cluster metrics deployed, it's now possible to define user/project/pod quotas to limit resource usage.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100074)
------------=_1513185569-14762-323
Content-Type: text/html; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
<html><body>
<h3>Evgheni Dereveanchin created OVIRT-1800:</h3>
<pre> Summary: enable quotas on OpenShift
Key: OVIRT-1800
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1800
Project: oVirt - virtualization made easy
Issue Type: Improvement
Reporter: Evgheni Dereveanchin
Assignee: infra</pre>
<p>Since we have cluster metrics deployed, it's now possible to define user/project/pod quotas to limit resource usage.</p>
<p>— This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100074)</p>
<img src="https://u4043402.ct.sendgrid.net/wf/open?upn=i5TMWGV99amJbNxJpSp2-2BJ33BS..." alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>
------------=_1513185569-14762-323--
7 years
[JIRA] (OVIRT-1799) move project website to OpenShift v3
by Evgheni Dereveanchin (oVirt JIRA)
This is a multi-part message in MIME format...
------------=_1513185441-23315-102
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Evgheni Dereveanchin created OVIRT-1799:
-------------------------------------------
Summary: move project website to OpenShift v3
Key: OVIRT-1799
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1799
Project: oVirt - virtualization made easy
Issue Type: Improvement
Components: Hosting
Reporter: Evgheni Dereveanchin
Assignee: infra
After moving the website off OpenShift v2 in OVIRT-1624 we can now start thinking about how to host it on v3. We have an internal instance ready but ideally we should host the actual site outside PHX.
Opening this ticket to discuss the options
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100074)
------------=_1513185441-23315-102
Content-Type: text/html; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
<html><body>
<h3>Evgheni Dereveanchin created OVIRT-1799:</h3>
<pre> Summary: move project website to OpenShift v3
Key: OVIRT-1799
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1799
Project: oVirt - virtualization made easy
Issue Type: Improvement
Components: Hosting
Reporter: Evgheni Dereveanchin
Assignee: infra</pre>
<p>After moving the website off OpenShift v2 in OVIRT-1624 we can now start thinking about how to host it on v3. We have an internal instance ready but ideally we should host the actual site outside PHX.</p>
<p>Opening this ticket to discuss the options</p>
<p>— This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100074)</p>
<img src="https://u4043402.ct.sendgrid.net/wf/open?upn=i5TMWGV99amJbNxJpSp2-2BJ33BS..." alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>
------------=_1513185441-23315-102--
7 years
[ OST Failure Report ] [ oVirt master ] [ 12-12-2017 ] [ 098_ovirt_provider_ovn.use_ovn_provider ]
by Dafna Ron
This is a multi-part message in MIME format.
--------------5DE01706F093EFF4BADAC8A1
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Hi,
We have a failure on test 098_ovirt_provider_ovn.use_ovn_provider but I
am not sure how the reported patch is related to the failure.
**
*Link and headline of suspected patches: *
*https://gerrit.ovirt.org/#/c/85147/ - virt: Fix flipped condition in
hotunplugNic*
**
*Link to Job:*
***http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4371*
*
*
*Link to all logs:*
*http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/4371/artif=
act*
*
*
*(Relevant) error snippet from the log: *
*
<error>
from junit:
*
File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()
File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runT=
est
self.test(*self.arg)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 129,=
in wrapped_test
test()
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 59, =
in wrapper
return func(get_test_prefix(), *args, **kwargs)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 78, =
in wrapper
prefix.virt_env.engine_vm().get_api(api_ver=3D4), *args, **kwargs
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 59, =
in wrapper
return func(get_test_prefix(), *args, **kwargs)
File "/home/jenkins/workspace/ovirt-master_change-queue-tester/ovirt-sy=
stem-tests/basic-suite-master/test-scenarios/098_ovirt_provider_ovn.py", =
line 435, in use_ovn_provider
_remove_iface_from_vm(api, VM0_NAME, IFACE_NAME)
File "/home/jenkins/workspace/ovirt-master_change-queue-tester/ovirt-sy=
stem-tests/basic-suite-master/test-scenarios/098_ovirt_provider_ovn.py", =
line 388, in _remove_iface_from_vm
nic_service.deactivate()
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/services.py", line 2=
9110, in deactivate
return self._internal_action(action, 'deactivate', None, headers, que=
ry, wait)
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 29=
9, in _internal_action
return future.wait() if wait else future
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 55=
, in wait
return self._code(response)
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 29=
6, in callback
self._check_fault(response)
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 13=
2, in _check_fault
self._raise_error(response, body)
File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 11=
8, in _raise_error
raise error
'Fault reason is "Operation Failed". Fault detail is "[General Exception]=
". HTTP response code is 400.\n-------------------- >> begin captured log=
ging << --------------------\nrequests.packages.urllib3.connectionpool: I=
NFO: * Starting new HTTPS connection (1): 192.168.202.4\npy.warnings:=
WARNING: * Unverified HTTPS request is being made. Adding certificat=
e verification is strongly advised. See: https://urllib3.readthedocs.org/=
en/latest/security.html\nrequests.packages.urllib3.connectionpool:
<https://urllib3.readthedocs.org/en/latest/security.html/nrequests.packag=
es.urllib3.connectionpool:> DEBUG: "POST /v2.0/tokens/ HTTP/1.1" 200 None=
\nrequests.packages.urllib3.connectionpool: INFO: * Starting new HTTP=
S connection (1): 192.168.202.4\nrequests.packages.urllib3.connectionpool=
: DEBUG: "GET /v2.0/networks/ HTTP/1.1" 200 None\nrequests.packages.urlli=
b3.connectionpool: INFO: * Starting new HTTPS connection (1): 192.168=
=2E202.4\nrequests.packages.urllib3.connectionpool: DEBUG: "GET /v2.0/por=
ts/ HTTP/1.1" 200 None\nrequests.packages.urllib3.connectionpool: INFO: =
* Starting new HTTPS connection (1): 192.168.202.4\nrequests.packages.=
urllib3.connectionpool: DEBUG: "GET /v2.0/subnets/ HTTP/1.1" 200 None\nre=
quests.packages.urllib3.connectionpool: INFO: * Starting new HTTPS co=
nnection (1): 192.168.202.4\nrequests.packages.urllib3.connectionpool: DE=
BUG: "POST /v2.0/networks/ HTTP/1.1" 201 None\nrequests.packages.urllib3.=
connectionpool: INFO: * Starting new HTTPS connection (1): 192.168.20=
2.4\nrequests.packages.urllib3.connectionpool: DEBUG: "POST /v2.0/subnets=
/ HTTP/1.1" 201 None\nrequests.packages.urllib3.connectionpool: INFO: =
* Starting new HTTPS connection (1): 192.168.202.4\nrequests.packages.ur=
llib3.connectionpool: DEBUG: "POST /v2.0/ports/ HTTP/1.1" 201 None\nreque=
sts.packages.urllib3.connectionpool: INFO: * Starting new HTTPS conne=
ction (1): 192.168.202.4\nrequests.packages.urllib3.connectionpool: DEBUG=
: "GET /v2.0/networks/ HTTP/1.1" 200 None\nrequests.packages.urllib3.conn=
ectionpool: INFO: * Starting new HTTPS connection (1): 192.168.202.4\=
nrequests.packages.urllib3.connectionpool: DEBUG: "GET /v2.0/ports/ HTTP/=
1.1" 200 None\nrequests.packages.urllib3.connectionpool: INFO: * Star=
ting new HTTPS connection (1): 192.168.202.4\nrequests.packages.urllib3.c=
onnectionpool: DEBUG: "GET /v2.0/subnets/ HTTP/1.1" 200 None\n-----------=
---------- >> end captured logging << ---------------------'=20
=46rom engine:=20
2017-12-12 13:00:57,490-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiNegotiationFilter] (default task-6) [] SsoRestApiNegotiationFilter N=
ot performing Negotiate Auth
2017-12-12 13:00:57,548-05 DEBUG [org.ovirt.engine.core.common.di.interce=
ptor.DebugLoggingInterceptor] (default task-6) [cdcdc9bf-0da4-4d64-953a-2=
c8e59587e2b] method: runQuery, params: [Search, SearchParameters:{refresh=
=3D'false', filtered=3D'false', searchType=3D'Provider', searchPattern=3D=
'Providers: type=3DOPENSTACK_NETWORK', caseSensitive=3D'false', from=3D'0=
', max=3D'2147483647'}], timeElapsed: 44ms
2017-12-12 13:00:57,586-05 DEBUG [org.ovirt.engine.core.dal.dbbroker.DbFa=
cadeUtils] (default task-6) [cdcdc9bf-0da4-4d64-953a-2c8e59587e2b] Failed=
to decrypt password: javax.crypto.BadPaddingException: Decryption error
at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:380) [rt.jar:1.8=
=2E0_151]
at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:291) [rt.jar:1.8.0_=
151]
at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:363) [sunjce=
_provider.jar:1.8.0_151]
at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:389) [=
sunjce_provider.jar:1.8.0_151]
at javax.crypto.Cipher.doFinal(Cipher.java:2165) [jce.jar:1.8.0_151]
at org.ovirt.engine.core.utils.crypt.EngineEncryptionUtils.decrypt(Engin=
eEncryptionUtils.java:179) [utils.jar:]
at org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils.decryptPassword(DbFa=
cadeUtils.java:35) [dal.jar:]
at org.ovirt.engine.core.dao.provider.ProviderDaoImpl$ProviderRowMapper.=
mapRow(ProviderDaoImpl.java:137) [dal.jar:]
at org.ovirt.engine.core.dao.provider.ProviderDaoImpl$ProviderRowMapper.=
mapRow(ProviderDaoImpl.java:119) [dal.jar:]
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData=
(RowMapperResultSetExtractor.java:93) [spring-jdbc.jar:4.3.9.RELEASE]
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData=
(RowMapperResultSetExtractor.java:60) [spring-jdbc.jar:4.3.9.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.do=
InStatement(JdbcTemplate.java:463) [spring-jdbc.jar:4.3.9.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:=
408) [spring-jdbc.jar:4.3.9.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:47=
4) [spring-jdbc.jar:4.3.9.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:48=
4) [spring-jdbc.jar:4.3.9.RELEASE]
at org.ovirt.engine.core.dao.provider.ProviderDaoImpl.getAllWithQuery(Pr=
oviderDaoImpl.java:189) [dal.jar:]
at org.ovirt.engine.core.bll.SearchQuery.genericSearch(SearchQuery.java:=
343) [bll.jar:]
at org.ovirt.engine.core.bll.SearchQuery.searchProviders(SearchQuery.jav=
a:414) [bll.jar:]
at org.ovirt.engine.core.bll.SearchQuery.executeQueryCommand(SearchQuery=
=2Ejava:219) [bll.jar:]
at org.ovirt.engine.core.bll.QueriesCommandBase.executeCommand(QueriesCo=
mmandBase.java:106) [bll.jar:]
at org.ovirt.engine.core.dal.VdcCommandBase.execute(VdcCommandBase.java:=
33) [dal.jar:]
at org.ovirt.engine.core.bll.executor.DefaultBackendQueryExecutor.execut=
e(DefaultBackendQueryExecutor.java:14) [bll.jar:]
at org.ovirt.engine.core.bll.Backend.runQueryImpl(Backend.java:579) [bll=
=2Ejar:]
at org.ovirt.engine.core.bll.Backend.runQuery(Backend.java:548) [bll.jar=
:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1=
=2E8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.=
java:62) [rt.jar:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:43) [rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processIn=
vocation(ManagedReferenceMethodInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(Intercepto=
rContext.java:509)
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(=
DelegatingInterceptorInvocationContext.java:92) [wildfly-weld-ejb-11.0.0.=
Final.jar:11.0.0.Final]
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.interceptorCha=
inCompleted(WeldInvocationContext.java:98) [weld-core-impl-2.4.3.Final.ja=
r:2.4.3.Final]
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldIn=
vocationContext.java:117) [weld-core-impl-2.4.3.Final.jar:2.4.3.Final]
at org.ovirt.engine.core.common.di.interceptor.LoggingInterceptor.apply(=
LoggingInterceptor.java:12) [common.jar:]
at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) [:1.8.0_=
151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:43) [rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleM=
ethodInvocation.invoke(SimpleInterceptorInvocation.java:73) [weld-core-im=
pl-2.4.3.Final.jar:2.4.3.Final]
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.invokeNext(Wel=
dInvocationContext.java:83) [weld-core-impl-2.4.3.Final.jar:2.4.3.Final]
at org.jboss.weld.interceptor.proxy.WeldInvocationContext.proceed(WeldIn=
vocationContext.java:115) [weld-core-impl-2.4.3.Final.jar:2.4.3.Final]
at org.jboss.weld.bean.InterceptorImpl.intercept(InterceptorImpl.java:10=
8) [weld-core-impl-2.4.3.Final.jar:2.4.3.Final]
at org.jboss.as.weld.ejb.DelegatingInterceptorInvocationContext.proceed(=
DelegatingInterceptorInvocationContext.java:82) [wildfly-weld-ejb-11.0.0.=
Final.jar:11.0.0.Final]
at org.jboss.as.weld.interceptors.EjbComponentInterceptorSupport.delegat=
eInterception(EjbComponentInterceptorSupport.java:60)
at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.delegateInte=
rception(Jsr299BindingsInterceptor.java:76)
at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInte=
rception(Jsr299BindingsInterceptor.java:88)
at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvoc=
ation(Jsr299BindingsInterceptor.java:101)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.proce=
ssInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(Intercepto=
rContext.java:509)
at org.ovirt.engine.core.bll.interceptors.CorrelationIdTrackerIntercepto=
r.aroundInvoke(CorrelationIdTrackerInterceptor.java:13) [bll.jar:]
at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) [:1.8.0_=
151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:43) [rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.=
processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:89)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeIntercepto=
r.processInvocation(ExecutionTimeInterceptor.java:43) [wildfly-ejb3-11.0.=
0.Final.jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvoca=
tion(ConcurrentContextInterceptor.java:45) [wildfly-ee-11.0.0.Final.jar:1=
1.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInte=
rceptor.java:40)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInte=
rceptor.java:53)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor=
=2EprocessInvocation(ComponentDispatcherInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssoc=
iationInterceptor.processInvocation(SingletonComponentInstanceAssociation=
Interceptor.java:53) [wildfly-ejb3-11.0.0.Final.jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.j=
ava:264) [wildfly-ejb3-11.0.0.Final.jar:11.0.0.Final]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:=
379) [wildfly-ejb3-11.0.0.Final.jar:11.0.0.Final]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxIntercep=
tor.java:244) [wildfly-ejb3-11.0.0.Final.jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(Intercepto=
rContext.java:509)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroun=
dInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73) [weld-core-=
impl-2.4.3.Final.jar:2.4.3.Final]
at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInv=
ocation(EjbRequestScopeActivationInterceptor.java:89)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInte=
rceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [w=
ildfly-ejb3-11.0.0.Final.jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.pro=
cessInvocation(WaitTimeInterceptor.java:47) [wildfly-ejb3-11.0.0.Final.ja=
r:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocati=
on(SecurityContextInterceptor.java:100) [wildfly-ejb3-11.0.0.Final.jar:11=
=2E0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.proce=
ssInvocation(StartupAwaitInterceptor.java:22) [wildfly-ejb3-11.0.0.Final.=
jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1=
=2EprocessInvocation(ShutDownInterceptorFactory.java:64) [wildfly-ejb3-11=
=2E0.0.Final.jar:11.0.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processIn=
vocation(LoggingInterceptor.java:67) [wildfly-ejb3-11.0.0.Final.jar:11.0.=
0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocati=
on(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(=
ContextClassLoaderInterceptor.java:60)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:4=
38)
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFly=
SecurityManager.java:609)
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(Acce=
ssCheckingInterceptor.java:57)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.ja=
va:422)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInte=
rceptor.java:53)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:19=
8)
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDes=
cription.java:185)
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocati=
onHandler.java:81)
at org.ovirt.engine.core.common.interfaces.BackendLocal$$$view2.runQuery=
(Unknown Source) [common.jar:]
at org.ovirt.engine.api.restapi.resource.BackendResource.runQuery(Backen=
dResource.java:82)
at org.ovirt.engine.api.restapi.resource.BackendResource.getBackendColle=
ction(BackendResource.java:152)
at org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResour=
ce.getBackendCollection(AbstractBackendCollectionResource.java:48)
at org.ovirt.engine.api.restapi.resource.openstack.BackendOpenStackNetwo=
rkProvidersResource.getBackendCollection(BackendOpenStackNetworkProviders=
Resource.java:70)
at org.ovirt.engine.api.restapi.resource.openstack.BackendOpenStackNetwo=
rkProvidersResource.list(BackendOpenStackNetworkProvidersResource.java:50=
)
at org.ovirt.engine.api.resource.openstack.OpenstackNetworkProvidersReso=
urce.doList(OpenstackNetworkProvidersResource.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1=
=2E8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.=
java:62) [rt.jar:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces=
sorImpl.java:43) [rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.=
java:140) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(Resource=
MethodInvoker.java:295) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodIn=
voker.java:249) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(R=
esourceLocatorInvoker.java:138) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.F=
inal]
at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocator=
Invoker.java:101) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispa=
tcher.java:406) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispa=
tcher.java:213) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.=
service(ServletContainerDispatcher.java:228) [resteasy-jaxrs-3.0.24.Final=
=2Ejar:3.0.24.Final]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.servi=
ce(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24=
=2EFinal]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.servi=
ce(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24=
=2EFinal]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-s=
ervlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHand=
ler.java:85)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandle=
r.java:81)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.hand=
leRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(=
ServletDispatchingHandler.java:36)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(Se=
rvletInitialHandler.java:274)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(Ser=
vletInitialHandler.java:209)
at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDis=
patcherImpl.java:221)
at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(Reque=
stDispatcherImpl.java:147)
at io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatc=
herImpl.java:111)
at org.ovirt.engine.api.restapi.invocation.VersionFilter.doFilter(Versio=
nFilter.java:180)
at org.ovirt.engine.api.restapi.invocation.VersionFilter.doFilter(Versio=
nFilter.java:98)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.api.restapi.invocation.CurrentFilter.doFilter(Curren=
tFilter.java:117)
at org.ovirt.engine.api.restapi.invocation.CurrentFilter.doFilter(Curren=
tFilter.java:72)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.RestApiSessionMgmtFilter.doFilter(R=
estApiSessionMgmtFilter.java:78) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.EnforceAuthFilter.doFilter(EnforceA=
uthFilter.java:42) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.SsoRestApiNegotiationFilter.doFilte=
r(SsoRestApiNegotiationFilter.java:84) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.SsoRestApiAuthFilter.doFilter(SsoRe=
stApiAuthFilter.java:47) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.SessionValidationFilter.doFilter(Se=
ssionValidationFilter.java:59) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.aaa.filters.RestApiSessionValidationFilter.doFi=
lter(RestApiSessionValidationFilter.java:35) [aaa.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.api.restapi.security.CSRFProtectionFilter.doFilter(C=
SRFProtectionFilter.java:111)
at org.ovirt.engine.api.restapi.security.CSRFProtectionFilter.doFilter(C=
SRFProtectionFilter.java:102)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at org.ovirt.engine.core.utils.servlet.CORSSupportFilter.doFilter(CORSSu=
pportFilter.java:284) [utils.jar:]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61=
)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(F=
ilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandle=
r.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.hand=
leRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(=
ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHan=
dler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandle=
r.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandle=
r.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleR=
equest(AuthenticationConstraintHandler.java:53)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRe=
quest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstrain=
tHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandle=
r.handleRequest(ServletSecurityConstraintHandler.java:59)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleR=
equest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandl=
er.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleReque=
st(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandl=
er.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.han=
dleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateH=
andler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest=
(ServletInitialHandler.java:292)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(Servlet=
InitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInit=
ialHandler.java:138)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInit=
ialHandler.java:135)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.cal=
l(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(Context=
ClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAct=
ion.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoServi=
ce$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServic=
e.java:1508)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoServi=
ce$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServic=
e.java:1508)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoServi=
ce$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoServic=
e.java:1508)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(Se=
rvletInitialHandler.java:272)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(Servlet=
InitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(Se=
rvletInitialHandler.java:104)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:326)=
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:8=
12)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.=
java:1149) [rt.jar:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor=
=2Ejava:624) [rt.jar:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
2017-12-12 13:00:57,599-05 DEBUG [org.ovirt.engine.core.common.di.interce=
ptor.DebugLoggingInterceptor] (default task-6) [cdcdc9bf-0da4-4d64-953a-2=
c8e59587e2b] method: runQuery, params: [Search, SearchParameters:{refresh=
=3D'false', filtered=3D'false', searchType=3D'Provider', searchPattern=3D=
'Providers: type=3DEXTERNAL_NETWORK', caseSensitive=3D'false', from=3D'0'=
, max=3D'2147483647'}], timeElapsed: 51ms
2017-12-12 13:00:57,604-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiAuthFilter] (default task-7) [] Entered SsoRestApiAuthFilter
2017-12-12 13:00:57,605-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiAuthFilter] (default task-7) [] SsoRestApiAuthFilter authenticating =
with sso
2017-12-12 13:00:57,605-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiAuthFilter] (default task-7) [] SsoRestApiAuthFilter authenticating =
using BEARER header
2017-12-12 13:00:57,607-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiAuthFilter] (default task-7) [] SsoRestApiAuthFilter successfully au=
thenticated using BEARER header
2017-12-12 13:00:57,607-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiNegotiationFilter] (default task-7) [] Entered SsoRestApiNegotiation=
Filter
2017-12-12 13:00:57,610-05 DEBUG [org.ovirt.engine.core.aaa.filters.SsoRe=
stApiNegotiationFilter] (default task-7) [] SsoRestApiNegotiationFilter N=
ot performing Negotiate Auth
**
*</error>*
**
--------------5DE01706F093EFF4BADAC8A1
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
PGh0bWw+CiAgPGhlYWQ+CgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgogIDwvaGVhZD4KICA8Ym9keSB0
ZXh0PSIjMDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgIDxwPkhpLCA8YnI+CiAgICA8
L3A+CiAgICA8cD5XZSBoYXZlIGEgZmFpbHVyZSBvbiB0ZXN0IDA5OF9vdmlydF9wcm92aWRl
cl9vdm4udXNlX292bl9wcm92aWRlcgogICAgICBidXQgSSBhbSBub3Qgc3VyZSBob3cgdGhl
IHJlcG9ydGVkIHBhdGNoIGlzIHJlbGF0ZWQgdG8gdGhlCiAgICAgIGZhaWx1cmUuIDxicj4K
ICAgIDwvcD4KICAgIDxwPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7IgogICAgICAg
IGlkPSJkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtNGM0My1lMTYwLTg4ZWQtYzg5Yzhm
NDM5N2YyIj4KICAgICAgICA8cCBkaXI9Imx0ciIKICAgICAgICAgIHN0eWxlPSJsaW5lLWhl
aWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0OyI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFj
a2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpu
b3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNh
bC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDsiPkxpbmsgYW5kIGhlYWRs
aW5lIG9mIHN1c3BlY3RlZCBwYXRjaGVzOiA8L3NwYW4+PC9wPgogICAgICAgIDxhIGNsYXNz
PSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vZ2Vycml0Lm92aXJ0Lm9y
Zy8jL2MvODUxNDcvIj5odHRwczovL2dlcnJpdC5vdmlydC5vcmcvIy9jLzg1MTQ3LzwvYT4g
LSB2aXJ0OiBGaXggZmxpcHBlZAogICAgICAgIGNvbmRpdGlvbiBpbiBob3R1bnBsdWdOaWM8
L2I+PC9wPgogICAgPHA+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiCiAgICAgICAg
aWQ9ImRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS00YzQzLWUxNjAtODhlZC1jODljOGY0
Mzk3ZjIiPgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUtaGVp
Z2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNr
Z3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5v
cm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2Fs
LWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwOyI+TGluayB0byBKb2I6PC9z
cGFuPjwvcD4KICAgICAgPC9iPjxiIHN0eWxlPSJmb250LXdlaWdodDpub3JtYWw7IgogICAg
ICAgIGlkPSJkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3YTEtNGM0My1lMTYwLTg4ZWQtYzg5
YzhmNDM5N2YyIj48YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRw
Oi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUtdGVz
dGVyLzQzNzEiPmh0dHA6Ly9qZW5raW5zLm92aXJ0Lm9yZy9qb2Ivb3ZpcnQtbWFzdGVyX2No
YW5nZS1xdWV1ZS10ZXN0ZXIvNDM3MTwvYT48L2I+PC9wPgogICAgPHA+PGIgc3R5bGU9ImZv
bnQtd2VpZ2h0Om5vcm1hbDsiCiAgICAgICAgaWQ9ImRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5
YjdhMS00YzQzLWUxNjAtODhlZC1jODljOGY0Mzk3ZjIiPjxicj4KICAgICAgICA8cCBkaXI9
Imx0ciIKICAgICAgICAgIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0
O21hcmdpbi1ib3R0b206MHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0O2ZvbnQt
ZmFtaWx5OkFyaWFsO2NvbG9yOiMwMDAwMDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVu
dDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1h
bDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt3aGl0ZS1z
cGFjZTpwcmUtd3JhcDsiPkxpbmsgdG8gYWxsIGxvZ3M6PC9zcGFuPjwvcD4KPGEgY2xhc3M9
Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2plbmtpbnMub3ZpcnQub3Jn
L2pvYi9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci80MzcxL2FydGlmYWN0Ij5o
dHRwOi8vamVua2lucy5vdmlydC5vcmcvam9iL292aXJ0LW1hc3Rlcl9jaGFuZ2UtcXVldWUt
dGVzdGVyLzQzNzEvYXJ0aWZhY3Q8L2E+PC9iPjwvcD4KICAgIDxwPjxiIHN0eWxlPSJmb250
LXdlaWdodDpub3JtYWw7IgogICAgICAgIGlkPSJkb2NzLWludGVybmFsLWd1aWQtNTg1OWI3
YTEtNGM0My1lMTYwLTg4ZWQtYzg5YzhmNDM5N2YyIj48YnI+CiAgICAgICAgPHAgZGlyPSJs
dHIiCiAgICAgICAgICBzdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDtt
YXJnaW4tYm90dG9tOjBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDtmb250LWZh
bWlseTpBcmlhbDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7
Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7
dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3Bh
Y2U6cHJlLXdyYXA7Ij4oUmVsZXZhbnQpIGVycm9yIHNuaXBwZXQgZnJvbSB0aGUgbG9nOiA8
L3NwYW4+PC9wPgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUt
aGVpZ2h0OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDti
YWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxl
Om5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRp
Y2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwOyI+Jmx0O2Vycm9yJmd0
Ozwvc3Bhbj48L3A+CiAgICAgICAgPGJyPgogICAgICAgIGZyb20ganVuaXQ6IDxicj4KICAg
ICAgPC9iPjwvcD4KICAgIDxwPjxicj4KICAgIDwvcD4KICAgIDxwcmUgc3R5bGU9ImJveC1z
aXppbmc6IGJvcmRlci1ib3g7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgd29yZC13cmFwOiBi
cmVhay13b3JkOyBtYXJnaW46IDBweDsgY29sb3I6IHJnYig1MSwgNTEsIDUxKTsgZm9udC1z
aXplOiAxNHB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1saWdhdHVyZXM6
IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1h
bDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3Rh
cnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aWRvd3M6IDI7
IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHRl
eHQtZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBp
bml0aWFsOyI+RmlsZSAiL3Vzci9saWI2NC9weXRob24yLjcvdW5pdHRlc3QvY2FzZS5weSIs
IGxpbmUgMzY5LCBpbiBydW4KICAgIHRlc3RNZXRob2QoKQogIEZpbGUgIi91c3IvbGliL3B5
dGhvbjIuNy9zaXRlLXBhY2thZ2VzL25vc2UvY2FzZS5weSIsIGxpbmUgMTk3LCBpbiBydW5U
ZXN0CiAgICBzZWxmLnRlc3QoKnNlbGYuYXJnKQogIEZpbGUgIi91c3IvbGliL3B5dGhvbjIu
Ny9zaXRlLXBhY2thZ2VzL292aXJ0bGFnby90ZXN0bGliLnB5IiwgbGluZSAxMjksIGluIHdy
YXBwZWRfdGVzdAogICAgdGVzdCgpCiAgRmlsZSAiL3Vzci9saWIvcHl0aG9uMi43L3NpdGUt
cGFja2FnZXMvb3ZpcnRsYWdvL3Rlc3RsaWIucHkiLCBsaW5lIDU5LCBpbiB3cmFwcGVyCiAg
ICByZXR1cm4gZnVuYyhnZXRfdGVzdF9wcmVmaXgoKSwgKmFyZ3MsICoqa3dhcmdzKQogIEZp
bGUgIi91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL292aXJ0bGFnby90ZXN0bGli
LnB5IiwgbGluZSA3OCwgaW4gd3JhcHBlcgogICAgcHJlZml4LnZpcnRfZW52LmVuZ2luZV92
bSgpLmdldF9hcGkoYXBpX3Zlcj00KSwgKmFyZ3MsICoqa3dhcmdzCiAgRmlsZSAiL3Vzci9s
aWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRsYWdvL3Rlc3RsaWIucHkiLCBsaW5l
IDU5LCBpbiB3cmFwcGVyCiAgICByZXR1cm4gZnVuYyhnZXRfdGVzdF9wcmVmaXgoKSwgKmFy
Z3MsICoqa3dhcmdzKQogIEZpbGUgIi9ob21lL2plbmtpbnMvd29ya3NwYWNlL292aXJ0LW1h
c3Rlcl9jaGFuZ2UtcXVldWUtdGVzdGVyL292aXJ0LXN5c3RlbS10ZXN0cy9iYXNpYy1zdWl0
ZS1tYXN0ZXIvdGVzdC1zY2VuYXJpb3MvMDk4X292aXJ0X3Byb3ZpZGVyX292bi5weSIsIGxp
bmUgNDM1LCBpbiB1c2Vfb3ZuX3Byb3ZpZGVyCiAgICBfcmVtb3ZlX2lmYWNlX2Zyb21fdm0o
YXBpLCBWTTBfTkFNRSwgSUZBQ0VfTkFNRSkKICBGaWxlICIvaG9tZS9qZW5raW5zL3dvcmtz
cGFjZS9vdmlydC1tYXN0ZXJfY2hhbmdlLXF1ZXVlLXRlc3Rlci9vdmlydC1zeXN0ZW0tdGVz
dHMvYmFzaWMtc3VpdGUtbWFzdGVyL3Rlc3Qtc2NlbmFyaW9zLzA5OF9vdmlydF9wcm92aWRl
cl9vdm4ucHkiLCBsaW5lIDM4OCwgaW4gX3JlbW92ZV9pZmFjZV9mcm9tX3ZtCiAgICBuaWNf
c2VydmljZS5kZWFjdGl2YXRlKCkKICBGaWxlICIvdXNyL2xpYjY0L3B5dGhvbjIuNy9zaXRl
LXBhY2thZ2VzL292aXJ0c2RrNC9zZXJ2aWNlcy5weSIsIGxpbmUgMjkxMTAsIGluIGRlYWN0
aXZhdGUKICAgIHJldHVybiBzZWxmLl9pbnRlcm5hbF9hY3Rpb24oYWN0aW9uLCAnZGVhY3Rp
dmF0ZScsIE5vbmUsIGhlYWRlcnMsIHF1ZXJ5LCB3YWl0KQogIEZpbGUgIi91c3IvbGliNjQv
cHl0aG9uMi43L3NpdGUtcGFja2FnZXMvb3ZpcnRzZGs0L3NlcnZpY2UucHkiLCBsaW5lIDI5
OSwgaW4gX2ludGVybmFsX2FjdGlvbgogICAgcmV0dXJuIGZ1dHVyZS53YWl0KCkgaWYgd2Fp
dCBlbHNlIGZ1dHVyZQogIEZpbGUgIi91c3IvbGliNjQvcHl0aG9uMi43L3NpdGUtcGFja2Fn
ZXMvb3ZpcnRzZGs0L3NlcnZpY2UucHkiLCBsaW5lIDU1LCBpbiB3YWl0CiAgICByZXR1cm4g
c2VsZi5fY29kZShyZXNwb25zZSkKICBGaWxlICIvdXNyL2xpYjY0L3B5dGhvbjIuNy9zaXRl
LXBhY2thZ2VzL292aXJ0c2RrNC9zZXJ2aWNlLnB5IiwgbGluZSAyOTYsIGluIGNhbGxiYWNr
CiAgICBzZWxmLl9jaGVja19mYXVsdChyZXNwb25zZSkKICBGaWxlICIvdXNyL2xpYjY0L3B5
dGhvbjIuNy9zaXRlLXBhY2thZ2VzL292aXJ0c2RrNC9zZXJ2aWNlLnB5IiwgbGluZSAxMzIs
IGluIF9jaGVja19mYXVsdAogICAgc2VsZi5fcmFpc2VfZXJyb3IocmVzcG9uc2UsIGJvZHkp
CiAgRmlsZSAiL3Vzci9saWI2NC9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9vdmlydHNkazQv
c2VydmljZS5weSIsIGxpbmUgMTE4LCBpbiBfcmFpc2VfZXJyb3IKICAgIHJhaXNlIGVycm9y
CidGYXVsdCByZWFzb24gaXMgIk9wZXJhdGlvbiBGYWlsZWQiLiBGYXVsdCBkZXRhaWwgaXMg
IltHZW5lcmFsIEV4Y2VwdGlvbl0iLiBIVFRQIHJlc3BvbnNlIGNvZGUgaXMgNDAwLlxuLS0t
LS0tLS0tLS0tLS0tLS0tLS0gJmd0OyZndDsgYmVnaW4gY2FwdHVyZWQgbG9nZ2luZyAmbHQ7
Jmx0OyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVxdWVzdHMucGFja2FnZXMudXJsbGliMy5j
b25uZWN0aW9ucG9vbDogSU5GTzogICAgICogU3RhcnRpbmcgbmV3IEhUVFBTIGNvbm5lY3Rp
b24gKDEpOiAxOTIuMTY4LjIwMi40XG5weS53YXJuaW5nczogV0FSTklORzogICAgICogVW52
ZXJpZmllZCBIVFRQUyByZXF1ZXN0IGlzIGJlaW5nIG1hZGUuIEFkZGluZyBjZXJ0aWZpY2F0
ZSB2ZXJpZmljYXRpb24gaXMgc3Ryb25nbHkgYWR2aXNlZC4gU2VlOiA8YSBocmVmPSJodHRw
czovL3VybGxpYjMucmVhZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC9zZWN1cml0eS5odG1sL25y
ZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIzLmNvbm5lY3Rpb25wb29sOiIgc3R5bGU9ImJveC1z
aXppbmc6IGJvcmRlci1ib3g7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgdGV4dC1kZWNvcmF0
aW9uOiB1bmRlcmxpbmU7IGNvbG9yOiByZ2IoOTIsIDUzLCAxMDIpOyI+aHR0cHM6Ly91cmxs
aWIzLnJlYWR0aGVkb2NzLm9yZy9lbi9sYXRlc3Qvc2VjdXJpdHkuaHRtbFxucmVxdWVzdHMu
cGFja2FnZXMudXJsbGliMy5jb25uZWN0aW9ucG9vbDo8L2E+IERFQlVHOiAiUE9TVCAvdjIu
MC90b2tlbnMvIEhUVFAvMS4xIiAyMDAgTm9uZVxucmVxdWVzdHMucGFja2FnZXMudXJsbGli
My5jb25uZWN0aW9ucG9vbDogSU5GTzogICAgICogU3RhcnRpbmcgbmV3IEhUVFBTIGNvbm5l
Y3Rpb24gKDEpOiAxOTIuMTY4LjIwMi40XG5yZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIzLmNv
bm5lY3Rpb25wb29sOiBERUJVRzogIkdFVCAvdjIuMC9uZXR3b3Jrcy8gSFRUUC8xLjEiIDIw
MCBOb25lXG5yZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIzLmNvbm5lY3Rpb25wb29sOiBJTkZP
OiAgICAgKiBTdGFydGluZyBuZXcgSFRUUFMgY29ubmVjdGlvbiAoMSk6IDE5Mi4xNjguMjAy
LjRcbnJlcXVlc3RzLnBhY2thZ2VzLnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IERFQlVHOiAi
R0VUIC92Mi4wL3BvcnRzLyBIVFRQLzEuMSIgMjAwIE5vbmVcbnJlcXVlc3RzLnBhY2thZ2Vz
LnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IElORk86ICAgICAqIFN0YXJ0aW5nIG5ldyBIVFRQ
UyBjb25uZWN0aW9uICgxKTogMTkyLjE2OC4yMDIuNFxucmVxdWVzdHMucGFja2FnZXMudXJs
bGliMy5jb25uZWN0aW9ucG9vbDogREVCVUc6ICJHRVQgL3YyLjAvc3VibmV0cy8gSFRUUC8x
LjEiIDIwMCBOb25lXG5yZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIzLmNvbm5lY3Rpb25wb29s
OiBJTkZPOiAgICAgKiBTdGFydGluZyBuZXcgSFRUUFMgY29ubmVjdGlvbiAoMSk6IDE5Mi4x
NjguMjAyLjRcbnJlcXVlc3RzLnBhY2thZ2VzLnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IERF
QlVHOiAiUE9TVCAvdjIuMC9uZXR3b3Jrcy8gSFRUUC8xLjEiIDIwMSBOb25lXG5yZXF1ZXN0
cy5wYWNrYWdlcy51cmxsaWIzLmNvbm5lY3Rpb25wb29sOiBJTkZPOiAgICAgKiBTdGFydGlu
ZyBuZXcgSFRUUFMgY29ubmVjdGlvbiAoMSk6IDE5Mi4xNjguMjAyLjRcbnJlcXVlc3RzLnBh
Y2thZ2VzLnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IERFQlVHOiAiUE9TVCAvdjIuMC9zdWJu
ZXRzLyBIVFRQLzEuMSIgMjAxIE5vbmVcbnJlcXVlc3RzLnBhY2thZ2VzLnVybGxpYjMuY29u
bmVjdGlvbnBvb2w6IElORk86ICAgICAqIFN0YXJ0aW5nIG5ldyBIVFRQUyBjb25uZWN0aW9u
ICgxKTogMTkyLjE2OC4yMDIuNFxucmVxdWVzdHMucGFja2FnZXMudXJsbGliMy5jb25uZWN0
aW9ucG9vbDogREVCVUc6ICJQT1NUIC92Mi4wL3BvcnRzLyBIVFRQLzEuMSIgMjAxIE5vbmVc
bnJlcXVlc3RzLnBhY2thZ2VzLnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IElORk86ICAgICAq
IFN0YXJ0aW5nIG5ldyBIVFRQUyBjb25uZWN0aW9uICgxKTogMTkyLjE2OC4yMDIuNFxucmVx
dWVzdHMucGFja2FnZXMudXJsbGliMy5jb25uZWN0aW9ucG9vbDogREVCVUc6ICJHRVQgL3Yy
LjAvbmV0d29ya3MvIEhUVFAvMS4xIiAyMDAgTm9uZVxucmVxdWVzdHMucGFja2FnZXMudXJs
bGliMy5jb25uZWN0aW9ucG9vbDogSU5GTzogICAgICogU3RhcnRpbmcgbmV3IEhUVFBTIGNv
bm5lY3Rpb24gKDEpOiAxOTIuMTY4LjIwMi40XG5yZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIz
LmNvbm5lY3Rpb25wb29sOiBERUJVRzogIkdFVCAvdjIuMC9wb3J0cy8gSFRUUC8xLjEiIDIw
MCBOb25lXG5yZXF1ZXN0cy5wYWNrYWdlcy51cmxsaWIzLmNvbm5lY3Rpb25wb29sOiBJTkZP
OiAgICAgKiBTdGFydGluZyBuZXcgSFRUUFMgY29ubmVjdGlvbiAoMSk6IDE5Mi4xNjguMjAy
LjRcbnJlcXVlc3RzLnBhY2thZ2VzLnVybGxpYjMuY29ubmVjdGlvbnBvb2w6IERFQlVHOiAi
R0VUIC92Mi4wL3N1Ym5ldHMvIEhUVFAvMS4xIiAyMDAgTm9uZVxuLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICZndDsmZ3Q7IGVuZCBjYXB0dXJlZCBsb2dnaW5nICZsdDsmbHQ7IC0tLS0tLS0t
LS0tLS0tLS0tLS0tLScgCgpGcm9tIGVuZ2luZTogCgoyMDE3LTEyLTEyIDEzOjAwOjU3LDQ5
MC0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmFhYS5maWx0ZXJzLlNzb1Jlc3RB
cGlOZWdvdGlhdGlvbkZpbHRlcl0gKGRlZmF1bHQgdGFzay02KSBbXSBTc29SZXN0QXBpTmVn
b3RpYXRpb25GaWx0ZXIgTm90IHBlcmZvcm1pbmcgTmVnb3RpYXRlIEF1dGgKMjAxNy0xMi0x
MiAxMzowMDo1Nyw1NDgtMDUgREVCVUcgW29yZy5vdmlydC5lbmdpbmUuY29yZS5jb21tb24u
ZGkuaW50ZXJjZXB0b3IuRGVidWdMb2dnaW5nSW50ZXJjZXB0b3JdIChkZWZhdWx0IHRhc2st
NikgW2NkY2RjOWJmLTBkYTQtNGQ2NC05NTNhLTJjOGU1OTU4N2UyYl0gbWV0aG9kOiBydW5R
dWVyeSwgcGFyYW1zOiBbU2VhcmNoLCBTZWFyY2hQYXJhbWV0ZXJzOntyZWZyZXNoPSdmYWxz
ZScsIGZpbHRlcmVkPSdmYWxzZScsIHNlYXJjaFR5cGU9J1Byb3ZpZGVyJywgc2VhcmNoUGF0
dGVybj0nUHJvdmlkZXJzOiB0eXBlPU9QRU5TVEFDS19ORVRXT1JLJywgY2FzZVNlbnNpdGl2
ZT0nZmFsc2UnLCBmcm9tPScwJywgbWF4PScyMTQ3NDgzNjQ3J31dLCB0aW1lRWxhcHNlZDog
NDRtcwoyMDE3LTEyLTEyIDEzOjAwOjU3LDU4Ni0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2lu
ZS5jb3JlLmRhbC5kYmJyb2tlci5EYkZhY2FkZVV0aWxzXSAoZGVmYXVsdCB0YXNrLTYpIFtj
ZGNkYzliZi0wZGE0LTRkNjQtOTUzYS0yYzhlNTk1ODdlMmJdIEZhaWxlZCB0byBkZWNyeXB0
IHBhc3N3b3JkOiBqYXZheC5jcnlwdG8uQmFkUGFkZGluZ0V4Y2VwdGlvbjogRGVjcnlwdGlv
biBlcnJvcgoJYXQgc3VuLnNlY3VyaXR5LnJzYS5SU0FQYWRkaW5nLnVucGFkVjE1KFJTQVBh
ZGRpbmcuamF2YTozODApIFtydC5qYXI6MS44LjBfMTUxXQoJYXQgc3VuLnNlY3VyaXR5LnJz
YS5SU0FQYWRkaW5nLnVucGFkKFJTQVBhZGRpbmcuamF2YToyOTEpIFtydC5qYXI6MS44LjBf
MTUxXQoJYXQgY29tLnN1bi5jcnlwdG8ucHJvdmlkZXIuUlNBQ2lwaGVyLmRvRmluYWwoUlNB
Q2lwaGVyLmphdmE6MzYzKSBbc3VuamNlX3Byb3ZpZGVyLmphcjoxLjguMF8xNTFdCglhdCBj
b20uc3VuLmNyeXB0by5wcm92aWRlci5SU0FDaXBoZXIuZW5naW5lRG9GaW5hbChSU0FDaXBo
ZXIuamF2YTozODkpIFtzdW5qY2VfcHJvdmlkZXIuamFyOjEuOC4wXzE1MV0KCWF0IGphdmF4
LmNyeXB0by5DaXBoZXIuZG9GaW5hbChDaXBoZXIuamF2YToyMTY1KSBbamNlLmphcjoxLjgu
MF8xNTFdCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUudXRpbHMuY3J5cHQuRW5naW5lRW5j
cnlwdGlvblV0aWxzLmRlY3J5cHQoRW5naW5lRW5jcnlwdGlvblV0aWxzLmphdmE6MTc5KSBb
dXRpbHMuamFyOl0KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5kYWwuZGJicm9rZXIuRGJG
YWNhZGVVdGlscy5kZWNyeXB0UGFzc3dvcmQoRGJGYWNhZGVVdGlscy5qYXZhOjM1KSBbZGFs
LmphcjpdCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuZGFvLnByb3ZpZGVyLlByb3ZpZGVy
RGFvSW1wbCRQcm92aWRlclJvd01hcHBlci5tYXBSb3coUHJvdmlkZXJEYW9JbXBsLmphdmE6
MTM3KSBbZGFsLmphcjpdCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuZGFvLnByb3ZpZGVy
LlByb3ZpZGVyRGFvSW1wbCRQcm92aWRlclJvd01hcHBlci5tYXBSb3coUHJvdmlkZXJEYW9J
bXBsLmphdmE6MTE5KSBbZGFsLmphcjpdCglhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMu
Y29yZS5Sb3dNYXBwZXJSZXN1bHRTZXRFeHRyYWN0b3IuZXh0cmFjdERhdGEoUm93TWFwcGVy
UmVzdWx0U2V0RXh0cmFjdG9yLmphdmE6OTMpIFtzcHJpbmctamRiYy5qYXI6NC4zLjkuUkVM
RUFTRV0KCWF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuamRiYy5jb3JlLlJvd01hcHBlclJlc3Vs
dFNldEV4dHJhY3Rvci5leHRyYWN0RGF0YShSb3dNYXBwZXJSZXN1bHRTZXRFeHRyYWN0b3Iu
amF2YTo2MCkgW3NwcmluZy1qZGJjLmphcjo0LjMuOS5SRUxFQVNFXQoJYXQgb3JnLnNwcmlu
Z2ZyYW1ld29yay5qZGJjLmNvcmUuSmRiY1RlbXBsYXRlJDFRdWVyeVN0YXRlbWVudENhbGxi
YWNrLmRvSW5TdGF0ZW1lbnQoSmRiY1RlbXBsYXRlLmphdmE6NDYzKSBbc3ByaW5nLWpkYmMu
amFyOjQuMy45LlJFTEVBU0VdCglhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmpkYmMuY29yZS5K
ZGJjVGVtcGxhdGUuZXhlY3V0ZShKZGJjVGVtcGxhdGUuamF2YTo0MDgpIFtzcHJpbmctamRi
Yy5qYXI6NC4zLjkuUkVMRUFTRV0KCWF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuamRiYy5jb3Jl
LkpkYmNUZW1wbGF0ZS5xdWVyeShKZGJjVGVtcGxhdGUuamF2YTo0NzQpIFtzcHJpbmctamRi
Yy5qYXI6NC4zLjkuUkVMRUFTRV0KCWF0IG9yZy5zcHJpbmdmcmFtZXdvcmsuamRiYy5jb3Jl
LkpkYmNUZW1wbGF0ZS5xdWVyeShKZGJjVGVtcGxhdGUuamF2YTo0ODQpIFtzcHJpbmctamRi
Yy5qYXI6NC4zLjkuUkVMRUFTRV0KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5kYW8ucHJv
dmlkZXIuUHJvdmlkZXJEYW9JbXBsLmdldEFsbFdpdGhRdWVyeShQcm92aWRlckRhb0ltcGwu
amF2YToxODkpIFtkYWwuamFyOl0KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuU2Vh
cmNoUXVlcnkuZ2VuZXJpY1NlYXJjaChTZWFyY2hRdWVyeS5qYXZhOjM0MykgW2JsbC5qYXI6
XQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5TZWFyY2hRdWVyeS5zZWFyY2hQcm92
aWRlcnMoU2VhcmNoUXVlcnkuamF2YTo0MTQpIFtibGwuamFyOl0KCWF0IG9yZy5vdmlydC5l
bmdpbmUuY29yZS5ibGwuU2VhcmNoUXVlcnkuZXhlY3V0ZVF1ZXJ5Q29tbWFuZChTZWFyY2hR
dWVyeS5qYXZhOjIxOSkgW2JsbC5qYXI6XQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs
bC5RdWVyaWVzQ29tbWFuZEJhc2UuZXhlY3V0ZUNvbW1hbmQoUXVlcmllc0NvbW1hbmRCYXNl
LmphdmE6MTA2KSBbYmxsLmphcjpdCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuZGFsLlZk
Y0NvbW1hbmRCYXNlLmV4ZWN1dGUoVmRjQ29tbWFuZEJhc2UuamF2YTozMykgW2RhbC5qYXI6
XQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5leGVjdXRvci5EZWZhdWx0QmFja2Vu
ZFF1ZXJ5RXhlY3V0b3IuZXhlY3V0ZShEZWZhdWx0QmFja2VuZFF1ZXJ5RXhlY3V0b3IuamF2
YToxNCkgW2JsbC5qYXI6XQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5CYWNrZW5k
LnJ1blF1ZXJ5SW1wbChCYWNrZW5kLmphdmE6NTc5KSBbYmxsLmphcjpdCglhdCBvcmcub3Zp
cnQuZW5naW5lLmNvcmUuYmxsLkJhY2tlbmQucnVuUXVlcnkoQmFja2VuZC5qYXZhOjU0OCkg
W2JsbC5qYXI6XQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmlu
dm9rZTAoTmF0aXZlIE1ldGhvZCkgW3J0LmphcjoxLjguMF8xNTFdCglhdCBzdW4ucmVmbGVj
dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y
SW1wbC5qYXZhOjYyKSBbcnQuamFyOjEuOC4wXzE1MV0KCWF0IHN1bi5yZWZsZWN0LkRlbGVn
YXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv
ckltcGwuamF2YTo0MykgW3J0LmphcjoxLjguMF8xNTFdCglhdCBqYXZhLmxhbmcucmVmbGVj
dC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjQ5OCkgW3J0LmphcjoxLjguMF8xNTFdCglh
dCBvcmcuamJvc3MuYXMuZWUuY29tcG9uZW50Lk1hbmFnZWRSZWZlcmVuY2VNZXRob2RJbnRl
cmNlcHRvci5wcm9jZXNzSW52b2NhdGlvbihNYW5hZ2VkUmVmZXJlbmNlTWV0aG9kSW50ZXJj
ZXB0b3IuamF2YTo1MikKCWF0IG9yZy5qYm9zcy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29u
dGV4dC5wcm9jZWVkKEludGVyY2VwdG9yQ29udGV4dC5qYXZhOjQyMikKCWF0IG9yZy5qYm9z
cy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29udGV4dCRJbnZvY2F0aW9uLnByb2NlZWQoSW50
ZXJjZXB0b3JDb250ZXh0LmphdmE6NTA5KQoJYXQgb3JnLmpib3NzLmFzLndlbGQuZWpiLkRl
bGVnYXRpbmdJbnRlcmNlcHRvckludm9jYXRpb25Db250ZXh0LnByb2NlZWQoRGVsZWdhdGlu
Z0ludGVyY2VwdG9ySW52b2NhdGlvbkNvbnRleHQuamF2YTo5MikgW3dpbGRmbHktd2VsZC1l
amItMTEuMC4wLkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3Mud2VsZC5p
bnRlcmNlcHRvci5wcm94eS5XZWxkSW52b2NhdGlvbkNvbnRleHQuaW50ZXJjZXB0b3JDaGFp
bkNvbXBsZXRlZChXZWxkSW52b2NhdGlvbkNvbnRleHQuamF2YTo5OCkgW3dlbGQtY29yZS1p
bXBsLTIuNC4zLkZpbmFsLmphcjoyLjQuMy5GaW5hbF0KCWF0IG9yZy5qYm9zcy53ZWxkLmlu
dGVyY2VwdG9yLnByb3h5LldlbGRJbnZvY2F0aW9uQ29udGV4dC5wcm9jZWVkKFdlbGRJbnZv
Y2F0aW9uQ29udGV4dC5qYXZhOjExNykgW3dlbGQtY29yZS1pbXBsLTIuNC4zLkZpbmFsLmph
cjoyLjQuMy5GaW5hbF0KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5jb21tb24uZGkuaW50
ZXJjZXB0b3IuTG9nZ2luZ0ludGVyY2VwdG9yLmFwcGx5KExvZ2dpbmdJbnRlcmNlcHRvci5q
YXZhOjEyKSBbY29tbW9uLmphcjpdCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RB
Y2Nlc3NvcjY5Lmludm9rZShVbmtub3duIFNvdXJjZSkgWzoxLjguMF8xNTFdCglhdCBzdW4u
cmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5n
TWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpIFtydC5qYXI6MS44LjBfMTUxXQoJYXQgamF2
YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo0OTgpIFtydC5qYXI6
MS44LjBfMTUxXQoJYXQgb3JnLmpib3NzLndlbGQuaW50ZXJjZXB0b3IucmVhZGVyLlNpbXBs
ZUludGVyY2VwdG9ySW52b2NhdGlvbiRTaW1wbGVNZXRob2RJbnZvY2F0aW9uLmludm9rZShT
aW1wbGVJbnRlcmNlcHRvckludm9jYXRpb24uamF2YTo3MykgW3dlbGQtY29yZS1pbXBsLTIu
NC4zLkZpbmFsLmphcjoyLjQuMy5GaW5hbF0KCWF0IG9yZy5qYm9zcy53ZWxkLmludGVyY2Vw
dG9yLnByb3h5LldlbGRJbnZvY2F0aW9uQ29udGV4dC5pbnZva2VOZXh0KFdlbGRJbnZvY2F0
aW9uQ29udGV4dC5qYXZhOjgzKSBbd2VsZC1jb3JlLWltcGwtMi40LjMuRmluYWwuamFyOjIu
NC4zLkZpbmFsXQoJYXQgb3JnLmpib3NzLndlbGQuaW50ZXJjZXB0b3IucHJveHkuV2VsZElu
dm9jYXRpb25Db250ZXh0LnByb2NlZWQoV2VsZEludm9jYXRpb25Db250ZXh0LmphdmE6MTE1
KSBbd2VsZC1jb3JlLWltcGwtMi40LjMuRmluYWwuamFyOjIuNC4zLkZpbmFsXQoJYXQgb3Jn
Lmpib3NzLndlbGQuYmVhbi5JbnRlcmNlcHRvckltcGwuaW50ZXJjZXB0KEludGVyY2VwdG9y
SW1wbC5qYXZhOjEwOCkgW3dlbGQtY29yZS1pbXBsLTIuNC4zLkZpbmFsLmphcjoyLjQuMy5G
aW5hbF0KCWF0IG9yZy5qYm9zcy5hcy53ZWxkLmVqYi5EZWxlZ2F0aW5nSW50ZXJjZXB0b3JJ
bnZvY2F0aW9uQ29udGV4dC5wcm9jZWVkKERlbGVnYXRpbmdJbnRlcmNlcHRvckludm9jYXRp
b25Db250ZXh0LmphdmE6ODIpIFt3aWxkZmx5LXdlbGQtZWpiLTExLjAuMC5GaW5hbC5qYXI6
MTEuMC4wLkZpbmFsXQoJYXQgb3JnLmpib3NzLmFzLndlbGQuaW50ZXJjZXB0b3JzLkVqYkNv
bXBvbmVudEludGVyY2VwdG9yU3VwcG9ydC5kZWxlZ2F0ZUludGVyY2VwdGlvbihFamJDb21w
b25lbnRJbnRlcmNlcHRvclN1cHBvcnQuamF2YTo2MCkKCWF0IG9yZy5qYm9zcy5hcy53ZWxk
LmludGVyY2VwdG9ycy5Kc3IyOTlCaW5kaW5nc0ludGVyY2VwdG9yLmRlbGVnYXRlSW50ZXJj
ZXB0aW9uKEpzcjI5OUJpbmRpbmdzSW50ZXJjZXB0b3IuamF2YTo3NikKCWF0IG9yZy5qYm9z
cy5hcy53ZWxkLmludGVyY2VwdG9ycy5Kc3IyOTlCaW5kaW5nc0ludGVyY2VwdG9yLmRvTWV0
aG9kSW50ZXJjZXB0aW9uKEpzcjI5OUJpbmRpbmdzSW50ZXJjZXB0b3IuamF2YTo4OCkKCWF0
IG9yZy5qYm9zcy5hcy53ZWxkLmludGVyY2VwdG9ycy5Kc3IyOTlCaW5kaW5nc0ludGVyY2Vw
dG9yLnByb2Nlc3NJbnZvY2F0aW9uKEpzcjI5OUJpbmRpbmdzSW50ZXJjZXB0b3IuamF2YTox
MDEpCglhdCBvcmcuamJvc3MuYXMuZWUuY29tcG9uZW50LmludGVyY2VwdG9ycy5Vc2VySW50
ZXJjZXB0b3JGYWN0b3J5JDEucHJvY2Vzc0ludm9jYXRpb24oVXNlckludGVyY2VwdG9yRmFj
dG9yeS5qYXZhOjYzKQoJYXQgb3JnLmpib3NzLmludm9jYXRpb24uSW50ZXJjZXB0b3JDb250
ZXh0LnByb2NlZWQoSW50ZXJjZXB0b3JDb250ZXh0LmphdmE6NDIyKQoJYXQgb3JnLmpib3Nz
Lmludm9jYXRpb24uSW50ZXJjZXB0b3JDb250ZXh0JEludm9jYXRpb24ucHJvY2VlZChJbnRl
cmNlcHRvckNvbnRleHQuamF2YTo1MDkpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs
LmludGVyY2VwdG9ycy5Db3JyZWxhdGlvbklkVHJhY2tlckludGVyY2VwdG9yLmFyb3VuZElu
dm9rZShDb3JyZWxhdGlvbklkVHJhY2tlckludGVyY2VwdG9yLmphdmE6MTMpIFtibGwuamFy
Ol0KCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yNjYuaW52b2tlKFVu
a25vd24gU291cmNlKSBbOjEuOC4wXzE1MV0KCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdN
ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu
amF2YTo0MykgW3J0LmphcjoxLjguMF8xNTFdCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRo
b2QuaW52b2tlKE1ldGhvZC5qYXZhOjQ5OCkgW3J0LmphcjoxLjguMF8xNTFdCglhdCBvcmcu
amJvc3MuYXMuZWUuY29tcG9uZW50Lk1hbmFnZWRSZWZlcmVuY2VMaWZlY3ljbGVNZXRob2RJ
bnRlcmNlcHRvci5wcm9jZXNzSW52b2NhdGlvbihNYW5hZ2VkUmVmZXJlbmNlTGlmZWN5Y2xl
TWV0aG9kSW50ZXJjZXB0b3IuamF2YTo4OSkKCWF0IG9yZy5qYm9zcy5pbnZvY2F0aW9uLklu
dGVyY2VwdG9yQ29udGV4dC5wcm9jZWVkKEludGVyY2VwdG9yQ29udGV4dC5qYXZhOjQyMikK
CWF0IG9yZy5qYm9zcy5hcy5lamIzLmNvbXBvbmVudC5pbnZvY2F0aW9ubWV0cmljcy5FeGVj
dXRpb25UaW1lSW50ZXJjZXB0b3IucHJvY2Vzc0ludm9jYXRpb24oRXhlY3V0aW9uVGltZUlu
dGVyY2VwdG9yLmphdmE6NDMpIFt3aWxkZmx5LWVqYjMtMTEuMC4wLkZpbmFsLmphcjoxMS4w
LjAuRmluYWxdCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNvbnRleHQu
cHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglhdCBvcmcuamJvc3MuYXMu
ZWUuY29uY3VycmVudC5Db25jdXJyZW50Q29udGV4dEludGVyY2VwdG9yLnByb2Nlc3NJbnZv
Y2F0aW9uKENvbmN1cnJlbnRDb250ZXh0SW50ZXJjZXB0b3IuamF2YTo0NSkgW3dpbGRmbHkt
ZWUtMTEuMC4wLkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3MuaW52b2Nh
dGlvbi5JbnRlcmNlcHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2
YTo0MjIpCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5Jbml0aWFsSW50ZXJjZXB0b3IucHJv
Y2Vzc0ludm9jYXRpb24oSW5pdGlhbEludGVyY2VwdG9yLmphdmE6NDApCglhdCBvcmcuamJv
c3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNv
bnRleHQuamF2YTo0MjIpCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5DaGFpbmVkSW50ZXJj
ZXB0b3IucHJvY2Vzc0ludm9jYXRpb24oQ2hhaW5lZEludGVyY2VwdG9yLmphdmE6NTMpCglh
dCBvcmcuamJvc3MuYXMuZWUuY29tcG9uZW50LmludGVyY2VwdG9ycy5Db21wb25lbnREaXNw
YXRjaGVySW50ZXJjZXB0b3IucHJvY2Vzc0ludm9jYXRpb24oQ29tcG9uZW50RGlzcGF0Y2hl
ckludGVyY2VwdG9yLmphdmE6NTIpCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNl
cHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglhdCBv
cmcuamJvc3MuYXMuZWpiMy5jb21wb25lbnQuc2luZ2xldG9uLlNpbmdsZXRvbkNvbXBvbmVu
dEluc3RhbmNlQXNzb2NpYXRpb25JbnRlcmNlcHRvci5wcm9jZXNzSW52b2NhdGlvbihTaW5n
bGV0b25Db21wb25lbnRJbnN0YW5jZUFzc29jaWF0aW9uSW50ZXJjZXB0b3IuamF2YTo1Mykg
W3dpbGRmbHktZWpiMy0xMS4wLjAuRmluYWwuamFyOjExLjAuMC5GaW5hbF0KCWF0IG9yZy5q
Ym9zcy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29udGV4dC5wcm9jZWVkKEludGVyY2VwdG9y
Q29udGV4dC5qYXZhOjQyMikKCWF0IG9yZy5qYm9zcy5hcy5lamIzLnR4LkNNVFR4SW50ZXJj
ZXB0b3IuaW52b2tlSW5Ob1R4KENNVFR4SW50ZXJjZXB0b3IuamF2YToyNjQpIFt3aWxkZmx5
LWVqYjMtMTEuMC4wLkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3MuYXMu
ZWpiMy50eC5DTVRUeEludGVyY2VwdG9yLnN1cHBvcnRzKENNVFR4SW50ZXJjZXB0b3IuamF2
YTozNzkpIFt3aWxkZmx5LWVqYjMtMTEuMC4wLkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglh
dCBvcmcuamJvc3MuYXMuZWpiMy50eC5DTVRUeEludGVyY2VwdG9yLnByb2Nlc3NJbnZvY2F0
aW9uKENNVFR4SW50ZXJjZXB0b3IuamF2YToyNDQpIFt3aWxkZmx5LWVqYjMtMTEuMC4wLkZp
bmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNl
cHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglhdCBv
cmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNvbnRleHQkSW52b2NhdGlvbi5wcm9j
ZWVkKEludGVyY2VwdG9yQ29udGV4dC5qYXZhOjUwOSkKCWF0IG9yZy5qYm9zcy53ZWxkLmVq
Yi5BYnN0cmFjdEVKQlJlcXVlc3RTY29wZUFjdGl2YXRpb25JbnRlcmNlcHRvci5hcm91bmRJ
bnZva2UoQWJzdHJhY3RFSkJSZXF1ZXN0U2NvcGVBY3RpdmF0aW9uSW50ZXJjZXB0b3IuamF2
YTo3MykgW3dlbGQtY29yZS1pbXBsLTIuNC4zLkZpbmFsLmphcjoyLjQuMy5GaW5hbF0KCWF0
IG9yZy5qYm9zcy5hcy53ZWxkLmVqYi5FamJSZXF1ZXN0U2NvcGVBY3RpdmF0aW9uSW50ZXJj
ZXB0b3IucHJvY2Vzc0ludm9jYXRpb24oRWpiUmVxdWVzdFNjb3BlQWN0aXZhdGlvbkludGVy
Y2VwdG9yLmphdmE6ODkpCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNv
bnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglhdCBvcmcuamJv
c3MuYXMuZWpiMy5jb21wb25lbnQuaW50ZXJjZXB0b3JzLkN1cnJlbnRJbnZvY2F0aW9uQ29u
dGV4dEludGVyY2VwdG9yLnByb2Nlc3NJbnZvY2F0aW9uKEN1cnJlbnRJbnZvY2F0aW9uQ29u
dGV4dEludGVyY2VwdG9yLmphdmE6NDEpIFt3aWxkZmx5LWVqYjMtMTEuMC4wLkZpbmFsLmph
cjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNv
bnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglhdCBvcmcuamJv
c3MuYXMuZWpiMy5jb21wb25lbnQuaW52b2NhdGlvbm1ldHJpY3MuV2FpdFRpbWVJbnRlcmNl
cHRvci5wcm9jZXNzSW52b2NhdGlvbihXYWl0VGltZUludGVyY2VwdG9yLmphdmE6NDcpIFt3
aWxkZmx5LWVqYjMtMTEuMC4wLkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJv
c3MuaW52b2NhdGlvbi5JbnRlcmNlcHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNv
bnRleHQuamF2YTo0MjIpCglhdCBvcmcuamJvc3MuYXMuZWpiMy5zZWN1cml0eS5TZWN1cml0
eUNvbnRleHRJbnRlcmNlcHRvci5wcm9jZXNzSW52b2NhdGlvbihTZWN1cml0eUNvbnRleHRJ
bnRlcmNlcHRvci5qYXZhOjEwMCkgW3dpbGRmbHktZWpiMy0xMS4wLjAuRmluYWwuamFyOjEx
LjAuMC5GaW5hbF0KCWF0IG9yZy5qYm9zcy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29udGV4
dC5wcm9jZWVkKEludGVyY2VwdG9yQ29udGV4dC5qYXZhOjQyMikKCWF0IG9yZy5qYm9zcy5h
cy5lamIzLmRlcGxveW1lbnQucHJvY2Vzc29ycy5TdGFydHVwQXdhaXRJbnRlcmNlcHRvci5w
cm9jZXNzSW52b2NhdGlvbihTdGFydHVwQXdhaXRJbnRlcmNlcHRvci5qYXZhOjIyKSBbd2ls
ZGZseS1lamIzLTExLjAuMC5GaW5hbC5qYXI6MTEuMC4wLkZpbmFsXQoJYXQgb3JnLmpib3Nz
Lmludm9jYXRpb24uSW50ZXJjZXB0b3JDb250ZXh0LnByb2NlZWQoSW50ZXJjZXB0b3JDb250
ZXh0LmphdmE6NDIyKQoJYXQgb3JnLmpib3NzLmFzLmVqYjMuY29tcG9uZW50LmludGVyY2Vw
dG9ycy5TaHV0RG93bkludGVyY2VwdG9yRmFjdG9yeSQxLnByb2Nlc3NJbnZvY2F0aW9uKFNo
dXREb3duSW50ZXJjZXB0b3JGYWN0b3J5LmphdmE6NjQpIFt3aWxkZmx5LWVqYjMtMTEuMC4w
LkZpbmFsLmphcjoxMS4wLjAuRmluYWxdCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5JbnRl
cmNlcHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQuamF2YTo0MjIpCglh
dCBvcmcuamJvc3MuYXMuZWpiMy5jb21wb25lbnQuaW50ZXJjZXB0b3JzLkxvZ2dpbmdJbnRl
cmNlcHRvci5wcm9jZXNzSW52b2NhdGlvbihMb2dnaW5nSW50ZXJjZXB0b3IuamF2YTo2Nykg
W3dpbGRmbHktZWpiMy0xMS4wLjAuRmluYWwuamFyOjExLjAuMC5GaW5hbF0KCWF0IG9yZy5q
Ym9zcy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29udGV4dC5wcm9jZWVkKEludGVyY2VwdG9y
Q29udGV4dC5qYXZhOjQyMikKCWF0IG9yZy5qYm9zcy5hcy5lZS5jb21wb25lbnQuTmFtZXNw
YWNlQ29udGV4dEludGVyY2VwdG9yLnByb2Nlc3NJbnZvY2F0aW9uKE5hbWVzcGFjZUNvbnRl
eHRJbnRlcmNlcHRvci5qYXZhOjUwKQoJYXQgb3JnLmpib3NzLmludm9jYXRpb24uSW50ZXJj
ZXB0b3JDb250ZXh0LnByb2NlZWQoSW50ZXJjZXB0b3JDb250ZXh0LmphdmE6NDIyKQoJYXQg
b3JnLmpib3NzLmludm9jYXRpb24uQ29udGV4dENsYXNzTG9hZGVySW50ZXJjZXB0b3IucHJv
Y2Vzc0ludm9jYXRpb24oQ29udGV4dENsYXNzTG9hZGVySW50ZXJjZXB0b3IuamF2YTo2MCkK
CWF0IG9yZy5qYm9zcy5pbnZvY2F0aW9uLkludGVyY2VwdG9yQ29udGV4dC5wcm9jZWVkKElu
dGVyY2VwdG9yQ29udGV4dC5qYXZhOjQyMikKCWF0IG9yZy5qYm9zcy5pbnZvY2F0aW9uLklu
dGVyY2VwdG9yQ29udGV4dC5ydW4oSW50ZXJjZXB0b3JDb250ZXh0LmphdmE6NDM4KQoJYXQg
b3JnLndpbGRmbHkuc2VjdXJpdHkubWFuYWdlci5XaWxkRmx5U2VjdXJpdHlNYW5hZ2VyLmRv
Q2hlY2tlZChXaWxkRmx5U2VjdXJpdHlNYW5hZ2VyLmphdmE6NjA5KQoJYXQgb3JnLmpib3Nz
Lmludm9jYXRpb24uQWNjZXNzQ2hlY2tpbmdJbnRlcmNlcHRvci5wcm9jZXNzSW52b2NhdGlv
bihBY2Nlc3NDaGVja2luZ0ludGVyY2VwdG9yLmphdmE6NTcpCglhdCBvcmcuamJvc3MuaW52
b2NhdGlvbi5JbnRlcmNlcHRvckNvbnRleHQucHJvY2VlZChJbnRlcmNlcHRvckNvbnRleHQu
amF2YTo0MjIpCglhdCBvcmcuamJvc3MuaW52b2NhdGlvbi5DaGFpbmVkSW50ZXJjZXB0b3Iu
cHJvY2Vzc0ludm9jYXRpb24oQ2hhaW5lZEludGVyY2VwdG9yLmphdmE6NTMpCglhdCBvcmcu
amJvc3MuYXMuZWUuY29tcG9uZW50LlZpZXdTZXJ2aWNlJFZpZXcuaW52b2tlKFZpZXdTZXJ2
aWNlLmphdmE6MTk4KQoJYXQgb3JnLmpib3NzLmFzLmVlLmNvbXBvbmVudC5WaWV3RGVzY3Jp
cHRpb24kMS5wcm9jZXNzSW52b2NhdGlvbihWaWV3RGVzY3JpcHRpb24uamF2YToxODUpCglh
dCBvcmcuamJvc3MuYXMuZWUuY29tcG9uZW50LlByb3h5SW52b2NhdGlvbkhhbmRsZXIuaW52
b2tlKFByb3h5SW52b2NhdGlvbkhhbmRsZXIuamF2YTo4MSkKCWF0IG9yZy5vdmlydC5lbmdp
bmUuY29yZS5jb21tb24uaW50ZXJmYWNlcy5CYWNrZW5kTG9jYWwkJCR2aWV3Mi5ydW5RdWVy
eShVbmtub3duIFNvdXJjZSkgW2NvbW1vbi5qYXI6XQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5h
cGkucmVzdGFwaS5yZXNvdXJjZS5CYWNrZW5kUmVzb3VyY2UucnVuUXVlcnkoQmFja2VuZFJl
c291cmNlLmphdmE6ODIpCglhdCBvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnJlc291
cmNlLkJhY2tlbmRSZXNvdXJjZS5nZXRCYWNrZW5kQ29sbGVjdGlvbihCYWNrZW5kUmVzb3Vy
Y2UuamF2YToxNTIpCglhdCBvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnJlc291cmNl
LkFic3RyYWN0QmFja2VuZENvbGxlY3Rpb25SZXNvdXJjZS5nZXRCYWNrZW5kQ29sbGVjdGlv
bihBYnN0cmFjdEJhY2tlbmRDb2xsZWN0aW9uUmVzb3VyY2UuamF2YTo0OCkKCWF0IG9yZy5v
dmlydC5lbmdpbmUuYXBpLnJlc3RhcGkucmVzb3VyY2Uub3BlbnN0YWNrLkJhY2tlbmRPcGVu
U3RhY2tOZXR3b3JrUHJvdmlkZXJzUmVzb3VyY2UuZ2V0QmFja2VuZENvbGxlY3Rpb24oQmFj
a2VuZE9wZW5TdGFja05ldHdvcmtQcm92aWRlcnNSZXNvdXJjZS5qYXZhOjcwKQoJYXQgb3Jn
Lm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5yZXNvdXJjZS5vcGVuc3RhY2suQmFja2VuZE9w
ZW5TdGFja05ldHdvcmtQcm92aWRlcnNSZXNvdXJjZS5saXN0KEJhY2tlbmRPcGVuU3RhY2tO
ZXR3b3JrUHJvdmlkZXJzUmVzb3VyY2UuamF2YTo1MCkKCWF0IG9yZy5vdmlydC5lbmdpbmUu
YXBpLnJlc291cmNlLm9wZW5zdGFjay5PcGVuc3RhY2tOZXR3b3JrUHJvdmlkZXJzUmVzb3Vy
Y2UuZG9MaXN0KE9wZW5zdGFja05ldHdvcmtQcm92aWRlcnNSZXNvdXJjZS5qYXZhOjUyKQoJ
YXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZl
IE1ldGhvZCkgW3J0LmphcjoxLjguMF8xNTFdCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRo
b2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjYy
KSBbcnQuamFyOjEuOC4wXzE1MV0KCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RB
Y2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0
MykgW3J0LmphcjoxLjguMF8xNTFdCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52
b2tlKE1ldGhvZC5qYXZhOjQ5OCkgW3J0LmphcjoxLjguMF8xNTFdCglhdCBvcmcuamJvc3Mu
cmVzdGVhc3kuY29yZS5NZXRob2RJbmplY3RvckltcGwuaW52b2tlKE1ldGhvZEluamVjdG9y
SW1wbC5qYXZhOjE0MCkgW3Jlc3RlYXN5LWpheHJzLTMuMC4yNC5GaW5hbC5qYXI6My4wLjI0
LkZpbmFsXQoJYXQgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRob2RJbnZv
a2VyLmludm9rZU9uVGFyZ2V0KFJlc291cmNlTWV0aG9kSW52b2tlci5qYXZhOjI5NSkgW3Jl
c3RlYXN5LWpheHJzLTMuMC4yNC5GaW5hbC5qYXI6My4wLjI0LkZpbmFsXQoJYXQgb3JnLmpi
b3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VNZXRob2RJbnZva2VyLmludm9rZShSZXNvdXJj
ZU1ldGhvZEludm9rZXIuamF2YToyNDkpIFtyZXN0ZWFzeS1qYXhycy0zLjAuMjQuRmluYWwu
amFyOjMuMC4yNC5GaW5hbF0KCWF0IG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlJlc291cmNl
TG9jYXRvckludm9rZXIuaW52b2tlT25UYXJnZXRPYmplY3QoUmVzb3VyY2VMb2NhdG9ySW52
b2tlci5qYXZhOjEzOCkgW3Jlc3RlYXN5LWpheHJzLTMuMC4yNC5GaW5hbC5qYXI6My4wLjI0
LkZpbmFsXQoJYXQgb3JnLmpib3NzLnJlc3RlYXN5LmNvcmUuUmVzb3VyY2VMb2NhdG9ySW52
b2tlci5pbnZva2UoUmVzb3VyY2VMb2NhdG9ySW52b2tlci5qYXZhOjEwMSkgW3Jlc3RlYXN5
LWpheHJzLTMuMC4yNC5GaW5hbC5qYXI6My4wLjI0LkZpbmFsXQoJYXQgb3JnLmpib3NzLnJl
c3RlYXN5LmNvcmUuU3luY2hyb25vdXNEaXNwYXRjaGVyLmludm9rZShTeW5jaHJvbm91c0Rp
c3BhdGNoZXIuamF2YTo0MDYpIFtyZXN0ZWFzeS1qYXhycy0zLjAuMjQuRmluYWwuamFyOjMu
MC4yNC5GaW5hbF0KCWF0IG9yZy5qYm9zcy5yZXN0ZWFzeS5jb3JlLlN5bmNocm9ub3VzRGlz
cGF0Y2hlci5pbnZva2UoU3luY2hyb25vdXNEaXNwYXRjaGVyLmphdmE6MjEzKSBbcmVzdGVh
c3ktamF4cnMtMy4wLjI0LkZpbmFsLmphcjozLjAuMjQuRmluYWxdCglhdCBvcmcuamJvc3Mu
cmVzdGVhc3kucGx1Z2lucy5zZXJ2ZXIuc2VydmxldC5TZXJ2bGV0Q29udGFpbmVyRGlzcGF0
Y2hlci5zZXJ2aWNlKFNlcnZsZXRDb250YWluZXJEaXNwYXRjaGVyLmphdmE6MjI4KSBbcmVz
dGVhc3ktamF4cnMtMy4wLjI0LkZpbmFsLmphcjozLjAuMjQuRmluYWxdCglhdCBvcmcuamJv
c3MucmVzdGVhc3kucGx1Z2lucy5zZXJ2ZXIuc2VydmxldC5IdHRwU2VydmxldERpc3BhdGNo
ZXIuc2VydmljZShIdHRwU2VydmxldERpc3BhdGNoZXIuamF2YTo1NikgW3Jlc3RlYXN5LWph
eHJzLTMuMC4yNC5GaW5hbC5qYXI6My4wLjI0LkZpbmFsXQoJYXQgb3JnLmpib3NzLnJlc3Rl
YXN5LnBsdWdpbnMuc2VydmVyLnNlcnZsZXQuSHR0cFNlcnZsZXREaXNwYXRjaGVyLnNlcnZp
Y2UoSHR0cFNlcnZsZXREaXNwYXRjaGVyLmphdmE6NTEpIFtyZXN0ZWFzeS1qYXhycy0zLjAu
MjQuRmluYWwuamFyOjMuMC4yNC5GaW5hbF0KCWF0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRw
U2VydmxldC5zZXJ2aWNlKEh0dHBTZXJ2bGV0LmphdmE6NzkwKSBbamJvc3Mtc2VydmxldC1h
cGlfMy4xX3NwZWMtMS4wLjAuRmluYWwuamFyOjEuMC4wLkZpbmFsXQoJYXQgaW8udW5kZXJ0
b3cuc2VydmxldC5oYW5kbGVycy5TZXJ2bGV0SGFuZGxlci5oYW5kbGVSZXF1ZXN0KFNlcnZs
ZXRIYW5kbGVyLmphdmE6ODUpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLkZp
bHRlckhhbmRsZXIuaGFuZGxlUmVxdWVzdChGaWx0ZXJIYW5kbGVyLmphdmE6ODEpCglhdCBp
by51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLnNlY3VyaXR5LlNlcnZsZXRTZWN1cml0eVJv
bGVIYW5kbGVyLmhhbmRsZVJlcXVlc3QoU2VydmxldFNlY3VyaXR5Um9sZUhhbmRsZXIuamF2
YTo2MikKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuU2VydmxldERpc3BhdGNo
aW5nSGFuZGxlci5oYW5kbGVSZXF1ZXN0KFNlcnZsZXREaXNwYXRjaGluZ0hhbmRsZXIuamF2
YTozNikKCWF0IGlvLnVuZGVydG93LnNlcnZlci5oYW5kbGVycy5QcmVkaWNhdGVIYW5kbGVy
LmhhbmRsZVJlcXVlc3QoUHJlZGljYXRlSGFuZGxlci5qYXZhOjQzKQoJYXQgaW8udW5kZXJ0
b3cuc2VydmVyLmhhbmRsZXJzLlByZWRpY2F0ZUhhbmRsZXIuaGFuZGxlUmVxdWVzdChQcmVk
aWNhdGVIYW5kbGVyLmphdmE6NDMpCglhdCBpby51bmRlcnRvdy5zZXJ2ZXIuaGFuZGxlcnMu
UHJlZGljYXRlSGFuZGxlci5oYW5kbGVSZXF1ZXN0KFByZWRpY2F0ZUhhbmRsZXIuamF2YTo0
MykKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuU2VydmxldEluaXRpYWxIYW5k
bGVyLmRpc3BhdGNoUmVxdWVzdChTZXJ2bGV0SW5pdGlhbEhhbmRsZXIuamF2YToyNzQpCglh
dCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLlNlcnZsZXRJbml0aWFsSGFuZGxlci5k
aXNwYXRjaFRvUGF0aChTZXJ2bGV0SW5pdGlhbEhhbmRsZXIuamF2YToyMDkpCglhdCBpby51
bmRlcnRvdy5zZXJ2bGV0LnNwZWMuUmVxdWVzdERpc3BhdGNoZXJJbXBsLmZvcndhcmRJbXBs
KFJlcXVlc3REaXNwYXRjaGVySW1wbC5qYXZhOjIyMSkKCWF0IGlvLnVuZGVydG93LnNlcnZs
ZXQuc3BlYy5SZXF1ZXN0RGlzcGF0Y2hlckltcGwuZm9yd2FyZEltcGxTZXR1cChSZXF1ZXN0
RGlzcGF0Y2hlckltcGwuamF2YToxNDcpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LnNwZWMu
UmVxdWVzdERpc3BhdGNoZXJJbXBsLmZvcndhcmQoUmVxdWVzdERpc3BhdGNoZXJJbXBsLmph
dmE6MTExKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5pbnZvY2F0aW9uLlZl
cnNpb25GaWx0ZXIuZG9GaWx0ZXIoVmVyc2lvbkZpbHRlci5qYXZhOjE4MCkKCWF0IG9yZy5v
dmlydC5lbmdpbmUuYXBpLnJlc3RhcGkuaW52b2NhdGlvbi5WZXJzaW9uRmlsdGVyLmRvRmls
dGVyKFZlcnNpb25GaWx0ZXIuamF2YTo5OCkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuY29y
ZS5NYW5hZ2VkRmlsdGVyLmRvRmlsdGVyKE1hbmFnZWRGaWx0ZXIuamF2YTo2MSkKCWF0IGlv
LnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuRmlsdGVySGFuZGxlciRGaWx0ZXJDaGFpbklt
cGwuZG9GaWx0ZXIoRmlsdGVySGFuZGxlci5qYXZhOjEzMSkKCWF0IG9yZy5vdmlydC5lbmdp
bmUuYXBpLnJlc3RhcGkuaW52b2NhdGlvbi5DdXJyZW50RmlsdGVyLmRvRmlsdGVyKEN1cnJl
bnRGaWx0ZXIuamF2YToxMTcpCglhdCBvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLmlu
dm9jYXRpb24uQ3VycmVudEZpbHRlci5kb0ZpbHRlcihDdXJyZW50RmlsdGVyLmphdmE6NzIp
CglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuTWFuYWdlZEZpbHRlci5kb0ZpbHRlcihN
YW5hZ2VkRmlsdGVyLmphdmE6NjEpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJz
LkZpbHRlckhhbmRsZXIkRmlsdGVyQ2hhaW5JbXBsLmRvRmlsdGVyKEZpbHRlckhhbmRsZXIu
amF2YToxMzEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYWFhLmZpbHRlcnMuUmVzdEFw
aVNlc3Npb25NZ210RmlsdGVyLmRvRmlsdGVyKFJlc3RBcGlTZXNzaW9uTWdtdEZpbHRlci5q
YXZhOjc4KSBbYWFhLmphcjpdCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuTWFuYWdl
ZEZpbHRlci5kb0ZpbHRlcihNYW5hZ2VkRmlsdGVyLmphdmE6NjEpCglhdCBpby51bmRlcnRv
dy5zZXJ2bGV0LmhhbmRsZXJzLkZpbHRlckhhbmRsZXIkRmlsdGVyQ2hhaW5JbXBsLmRvRmls
dGVyKEZpbHRlckhhbmRsZXIuamF2YToxMzEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUu
YWFhLmZpbHRlcnMuRW5mb3JjZUF1dGhGaWx0ZXIuZG9GaWx0ZXIoRW5mb3JjZUF1dGhGaWx0
ZXIuamF2YTo0MikgW2FhYS5qYXI6XQoJYXQgaW8udW5kZXJ0b3cuc2VydmxldC5jb3JlLk1h
bmFnZWRGaWx0ZXIuZG9GaWx0ZXIoTWFuYWdlZEZpbHRlci5qYXZhOjYxKQoJYXQgaW8udW5k
ZXJ0b3cuc2VydmxldC5oYW5kbGVycy5GaWx0ZXJIYW5kbGVyJEZpbHRlckNoYWluSW1wbC5k
b0ZpbHRlcihGaWx0ZXJIYW5kbGVyLmphdmE6MTMxKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5j
b3JlLmFhYS5maWx0ZXJzLlNzb1Jlc3RBcGlOZWdvdGlhdGlvbkZpbHRlci5kb0ZpbHRlcihT
c29SZXN0QXBpTmVnb3RpYXRpb25GaWx0ZXIuamF2YTo4NCkgW2FhYS5qYXI6XQoJYXQgaW8u
dW5kZXJ0b3cuc2VydmxldC5jb3JlLk1hbmFnZWRGaWx0ZXIuZG9GaWx0ZXIoTWFuYWdlZEZp
bHRlci5qYXZhOjYxKQoJYXQgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5GaWx0ZXJI
YW5kbGVyJEZpbHRlckNoYWluSW1wbC5kb0ZpbHRlcihGaWx0ZXJIYW5kbGVyLmphdmE6MTMx
KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmFhYS5maWx0ZXJzLlNzb1Jlc3RBcGlBdXRo
RmlsdGVyLmRvRmlsdGVyKFNzb1Jlc3RBcGlBdXRoRmlsdGVyLmphdmE6NDcpIFthYWEuamFy
Ol0KCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuY29yZS5NYW5hZ2VkRmlsdGVyLmRvRmlsdGVy
KE1hbmFnZWRGaWx0ZXIuamF2YTo2MSkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxl
cnMuRmlsdGVySGFuZGxlciRGaWx0ZXJDaGFpbkltcGwuZG9GaWx0ZXIoRmlsdGVySGFuZGxl
ci5qYXZhOjEzMSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5hYWEuZmlsdGVycy5TZXNz
aW9uVmFsaWRhdGlvbkZpbHRlci5kb0ZpbHRlcihTZXNzaW9uVmFsaWRhdGlvbkZpbHRlci5q
YXZhOjU5KSBbYWFhLmphcjpdCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuTWFuYWdl
ZEZpbHRlci5kb0ZpbHRlcihNYW5hZ2VkRmlsdGVyLmphdmE6NjEpCglhdCBpby51bmRlcnRv
dy5zZXJ2bGV0LmhhbmRsZXJzLkZpbHRlckhhbmRsZXIkRmlsdGVyQ2hhaW5JbXBsLmRvRmls
dGVyKEZpbHRlckhhbmRsZXIuamF2YToxMzEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUu
YWFhLmZpbHRlcnMuUmVzdEFwaVNlc3Npb25WYWxpZGF0aW9uRmlsdGVyLmRvRmlsdGVyKFJl
c3RBcGlTZXNzaW9uVmFsaWRhdGlvbkZpbHRlci5qYXZhOjM1KSBbYWFhLmphcjpdCglhdCBp
by51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuTWFuYWdlZEZpbHRlci5kb0ZpbHRlcihNYW5hZ2Vk
RmlsdGVyLmphdmE6NjEpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLkZpbHRl
ckhhbmRsZXIkRmlsdGVyQ2hhaW5JbXBsLmRvRmlsdGVyKEZpbHRlckhhbmRsZXIuamF2YTox
MzEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXN0YXBpLnNlY3VyaXR5LkNTUkZQcm90
ZWN0aW9uRmlsdGVyLmRvRmlsdGVyKENTUkZQcm90ZWN0aW9uRmlsdGVyLmphdmE6MTExKQoJ
YXQgb3JnLm92aXJ0LmVuZ2luZS5hcGkucmVzdGFwaS5zZWN1cml0eS5DU1JGUHJvdGVjdGlv
bkZpbHRlci5kb0ZpbHRlcihDU1JGUHJvdGVjdGlvbkZpbHRlci5qYXZhOjEwMikKCWF0IGlv
LnVuZGVydG93LnNlcnZsZXQuY29yZS5NYW5hZ2VkRmlsdGVyLmRvRmlsdGVyKE1hbmFnZWRG
aWx0ZXIuamF2YTo2MSkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuRmlsdGVy
SGFuZGxlciRGaWx0ZXJDaGFpbkltcGwuZG9GaWx0ZXIoRmlsdGVySGFuZGxlci5qYXZhOjEz
MSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS51dGlscy5zZXJ2bGV0LkNPUlNTdXBwb3J0
RmlsdGVyLmRvRmlsdGVyKENPUlNTdXBwb3J0RmlsdGVyLmphdmE6Mjg0KSBbdXRpbHMuamFy
Ol0KCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuY29yZS5NYW5hZ2VkRmlsdGVyLmRvRmlsdGVy
KE1hbmFnZWRGaWx0ZXIuamF2YTo2MSkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxl
cnMuRmlsdGVySGFuZGxlciRGaWx0ZXJDaGFpbkltcGwuZG9GaWx0ZXIoRmlsdGVySGFuZGxl
ci5qYXZhOjEzMSkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuRmlsdGVySGFu
ZGxlci5oYW5kbGVSZXF1ZXN0KEZpbHRlckhhbmRsZXIuamF2YTo4NCkKCWF0IGlvLnVuZGVy
dG93LnNlcnZsZXQuaGFuZGxlcnMuc2VjdXJpdHkuU2VydmxldFNlY3VyaXR5Um9sZUhhbmRs
ZXIuaGFuZGxlUmVxdWVzdChTZXJ2bGV0U2VjdXJpdHlSb2xlSGFuZGxlci5qYXZhOjYyKQoJ
YXQgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5TZXJ2bGV0RGlzcGF0Y2hpbmdIYW5k
bGVyLmhhbmRsZVJlcXVlc3QoU2VydmxldERpc3BhdGNoaW5nSGFuZGxlci5qYXZhOjM2KQoJ
YXQgb3JnLndpbGRmbHkuZXh0ZW5zaW9uLnVuZGVydG93LnNlY3VyaXR5LlNlY3VyaXR5Q29u
dGV4dEFzc29jaWF0aW9uSGFuZGxlci5oYW5kbGVSZXF1ZXN0KFNlY3VyaXR5Q29udGV4dEFz
c29jaWF0aW9uSGFuZGxlci5qYXZhOjc4KQoJYXQgaW8udW5kZXJ0b3cuc2VydmVyLmhhbmRs
ZXJzLlByZWRpY2F0ZUhhbmRsZXIuaGFuZGxlUmVxdWVzdChQcmVkaWNhdGVIYW5kbGVyLmph
dmE6NDMpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLnNlY3VyaXR5LlNTTElu
Zm9ybWF0aW9uQXNzb2NpYXRpb25IYW5kbGVyLmhhbmRsZVJlcXVlc3QoU1NMSW5mb3JtYXRp
b25Bc3NvY2lhdGlvbkhhbmRsZXIuamF2YToxMzEpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0
LmhhbmRsZXJzLnNlY3VyaXR5LlNlcnZsZXRBdXRoZW50aWNhdGlvbkNhbGxIYW5kbGVyLmhh
bmRsZVJlcXVlc3QoU2VydmxldEF1dGhlbnRpY2F0aW9uQ2FsbEhhbmRsZXIuamF2YTo1NykK
CWF0IGlvLnVuZGVydG93LnNlcnZlci5oYW5kbGVycy5QcmVkaWNhdGVIYW5kbGVyLmhhbmRs
ZVJlcXVlc3QoUHJlZGljYXRlSGFuZGxlci5qYXZhOjQzKQoJYXQgaW8udW5kZXJ0b3cuc2Vj
dXJpdHkuaGFuZGxlcnMuQXV0aGVudGljYXRpb25Db25zdHJhaW50SGFuZGxlci5oYW5kbGVS
ZXF1ZXN0KEF1dGhlbnRpY2F0aW9uQ29uc3RyYWludEhhbmRsZXIuamF2YTo1MykKCWF0IGlv
LnVuZGVydG93LnNlY3VyaXR5LmhhbmRsZXJzLkFic3RyYWN0Q29uZmlkZW50aWFsaXR5SGFu
ZGxlci5oYW5kbGVSZXF1ZXN0KEFic3RyYWN0Q29uZmlkZW50aWFsaXR5SGFuZGxlci5qYXZh
OjQ2KQoJYXQgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVycy5zZWN1cml0eS5TZXJ2bGV0
Q29uZmlkZW50aWFsaXR5Q29uc3RyYWludEhhbmRsZXIuaGFuZGxlUmVxdWVzdChTZXJ2bGV0
Q29uZmlkZW50aWFsaXR5Q29uc3RyYWludEhhbmRsZXIuamF2YTo2NCkKCWF0IGlvLnVuZGVy
dG93LnNlcnZsZXQuaGFuZGxlcnMuc2VjdXJpdHkuU2VydmxldFNlY3VyaXR5Q29uc3RyYWlu
dEhhbmRsZXIuaGFuZGxlUmVxdWVzdChTZXJ2bGV0U2VjdXJpdHlDb25zdHJhaW50SGFuZGxl
ci5qYXZhOjU5KQoJYXQgaW8udW5kZXJ0b3cuc2VjdXJpdHkuaGFuZGxlcnMuQXV0aGVudGlj
YXRpb25NZWNoYW5pc21zSGFuZGxlci5oYW5kbGVSZXF1ZXN0KEF1dGhlbnRpY2F0aW9uTWVj
aGFuaXNtc0hhbmRsZXIuamF2YTo2MCkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxl
cnMuc2VjdXJpdHkuQ2FjaGVkQXV0aGVudGljYXRlZFNlc3Npb25IYW5kbGVyLmhhbmRsZVJl
cXVlc3QoQ2FjaGVkQXV0aGVudGljYXRlZFNlc3Npb25IYW5kbGVyLmphdmE6NzcpCglhdCBp
by51bmRlcnRvdy5zZWN1cml0eS5oYW5kbGVycy5Ob3RpZmljYXRpb25SZWNlaXZlckhhbmRs
ZXIuaGFuZGxlUmVxdWVzdChOb3RpZmljYXRpb25SZWNlaXZlckhhbmRsZXIuamF2YTo1MCkK
CWF0IGlvLnVuZGVydG93LnNlY3VyaXR5LmhhbmRsZXJzLkFic3RyYWN0U2VjdXJpdHlDb250
ZXh0QXNzb2NpYXRpb25IYW5kbGVyLmhhbmRsZVJlcXVlc3QoQWJzdHJhY3RTZWN1cml0eUNv
bnRleHRBc3NvY2lhdGlvbkhhbmRsZXIuamF2YTo0MykKCWF0IGlvLnVuZGVydG93LnNlcnZl
ci5oYW5kbGVycy5QcmVkaWNhdGVIYW5kbGVyLmhhbmRsZVJlcXVlc3QoUHJlZGljYXRlSGFu
ZGxlci5qYXZhOjQzKQoJYXQgb3JnLndpbGRmbHkuZXh0ZW5zaW9uLnVuZGVydG93LnNlY3Vy
aXR5LmphY2MuSkFDQ0NvbnRleHRJZEhhbmRsZXIuaGFuZGxlUmVxdWVzdChKQUNDQ29udGV4
dElkSGFuZGxlci5qYXZhOjYxKQoJYXQgaW8udW5kZXJ0b3cuc2VydmVyLmhhbmRsZXJzLlBy
ZWRpY2F0ZUhhbmRsZXIuaGFuZGxlUmVxdWVzdChQcmVkaWNhdGVIYW5kbGVyLmphdmE6NDMp
CglhdCBpby51bmRlcnRvdy5zZXJ2ZXIuaGFuZGxlcnMuUHJlZGljYXRlSGFuZGxlci5oYW5k
bGVSZXF1ZXN0KFByZWRpY2F0ZUhhbmRsZXIuamF2YTo0MykKCWF0IGlvLnVuZGVydG93LnNl
cnZsZXQuaGFuZGxlcnMuU2VydmxldEluaXRpYWxIYW5kbGVyLmhhbmRsZUZpcnN0UmVxdWVz
dChTZXJ2bGV0SW5pdGlhbEhhbmRsZXIuamF2YToyOTIpCglhdCBpby51bmRlcnRvdy5zZXJ2
bGV0LmhhbmRsZXJzLlNlcnZsZXRJbml0aWFsSGFuZGxlci5hY2Nlc3MkMTAwKFNlcnZsZXRJ
bml0aWFsSGFuZGxlci5qYXZhOjgxKQoJYXQgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5kbGVy
cy5TZXJ2bGV0SW5pdGlhbEhhbmRsZXIkMi5jYWxsKFNlcnZsZXRJbml0aWFsSGFuZGxlci5q
YXZhOjEzOCkKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMuU2VydmxldEluaXRp
YWxIYW5kbGVyJDIuY2FsbChTZXJ2bGV0SW5pdGlhbEhhbmRsZXIuamF2YToxMzUpCglhdCBp
by51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuU2VydmxldFJlcXVlc3RDb250ZXh0VGhyZWFkU2V0
dXBBY3Rpb24kMS5jYWxsKFNlcnZsZXRSZXF1ZXN0Q29udGV4dFRocmVhZFNldHVwQWN0aW9u
LmphdmE6NDgpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmNvcmUuQ29udGV4dENsYXNzTG9h
ZGVyU2V0dXBBY3Rpb24kMS5jYWxsKENvbnRleHRDbGFzc0xvYWRlclNldHVwQWN0aW9uLmph
dmE6NDMpCglhdCBvcmcud2lsZGZseS5leHRlbnNpb24udW5kZXJ0b3cuc2VjdXJpdHkuU2Vj
dXJpdHlDb250ZXh0VGhyZWFkU2V0dXBBY3Rpb24ubGFtYmRhJGNyZWF0ZSQwKFNlY3VyaXR5
Q29udGV4dFRocmVhZFNldHVwQWN0aW9uLmphdmE6MTA1KQoJYXQgb3JnLndpbGRmbHkuZXh0
ZW5zaW9uLnVuZGVydG93LmRlcGxveW1lbnQuVW5kZXJ0b3dEZXBsb3ltZW50SW5mb1NlcnZp
Y2UkVW5kZXJ0b3dUaHJlYWRTZXR1cEFjdGlvbi5sYW1iZGEkY3JlYXRlJDAoVW5kZXJ0b3dE
ZXBsb3ltZW50SW5mb1NlcnZpY2UuamF2YToxNTA4KQoJYXQgb3JnLndpbGRmbHkuZXh0ZW5z
aW9uLnVuZGVydG93LmRlcGxveW1lbnQuVW5kZXJ0b3dEZXBsb3ltZW50SW5mb1NlcnZpY2Uk
VW5kZXJ0b3dUaHJlYWRTZXR1cEFjdGlvbi5sYW1iZGEkY3JlYXRlJDAoVW5kZXJ0b3dEZXBs
b3ltZW50SW5mb1NlcnZpY2UuamF2YToxNTA4KQoJYXQgb3JnLndpbGRmbHkuZXh0ZW5zaW9u
LnVuZGVydG93LmRlcGxveW1lbnQuVW5kZXJ0b3dEZXBsb3ltZW50SW5mb1NlcnZpY2UkVW5k
ZXJ0b3dUaHJlYWRTZXR1cEFjdGlvbi5sYW1iZGEkY3JlYXRlJDAoVW5kZXJ0b3dEZXBsb3lt
ZW50SW5mb1NlcnZpY2UuamF2YToxNTA4KQoJYXQgaW8udW5kZXJ0b3cuc2VydmxldC5oYW5k
bGVycy5TZXJ2bGV0SW5pdGlhbEhhbmRsZXIuZGlzcGF0Y2hSZXF1ZXN0KFNlcnZsZXRJbml0
aWFsSGFuZGxlci5qYXZhOjI3MikKCWF0IGlvLnVuZGVydG93LnNlcnZsZXQuaGFuZGxlcnMu
U2VydmxldEluaXRpYWxIYW5kbGVyLmFjY2VzcyQwMDAoU2VydmxldEluaXRpYWxIYW5kbGVy
LmphdmE6ODEpCglhdCBpby51bmRlcnRvdy5zZXJ2bGV0LmhhbmRsZXJzLlNlcnZsZXRJbml0
aWFsSGFuZGxlciQxLmhhbmRsZVJlcXVlc3QoU2VydmxldEluaXRpYWxIYW5kbGVyLmphdmE6
MTA0KQoJYXQgaW8udW5kZXJ0b3cuc2VydmVyLkNvbm5lY3RvcnMuZXhlY3V0ZVJvb3RIYW5k
bGVyKENvbm5lY3RvcnMuamF2YTozMjYpCglhdCBpby51bmRlcnRvdy5zZXJ2ZXIuSHR0cFNl
cnZlckV4Y2hhbmdlJDEucnVuKEh0dHBTZXJ2ZXJFeGNoYW5nZS5qYXZhOjgxMikKCWF0IGph
dmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFk
UG9vbEV4ZWN1dG9yLmphdmE6MTE0OSkgW3J0LmphcjoxLjguMF8xNTFdCglhdCBqYXZhLnV0
aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29s
RXhlY3V0b3IuamF2YTo2MjQpIFtydC5qYXI6MS44LjBfMTUxXQoJYXQgamF2YS5sYW5nLlRo
cmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KSBbcnQuamFyOjEuOC4wXzE1MV0KCjIwMTctMTIt
MTIgMTM6MDA6NTcsNTk5LTA1IERFQlVHIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuY29tbW9u
LmRpLmludGVyY2VwdG9yLkRlYnVnTG9nZ2luZ0ludGVyY2VwdG9yXSAoZGVmYXVsdCB0YXNr
LTYpIFtjZGNkYzliZi0wZGE0LTRkNjQtOTUzYS0yYzhlNTk1ODdlMmJdIG1ldGhvZDogcnVu
UXVlcnksIHBhcmFtczogW1NlYXJjaCwgU2VhcmNoUGFyYW1ldGVyczp7cmVmcmVzaD0nZmFs
c2UnLCBmaWx0ZXJlZD0nZmFsc2UnLCBzZWFyY2hUeXBlPSdQcm92aWRlcicsIHNlYXJjaFBh
dHRlcm49J1Byb3ZpZGVyczogdHlwZT1FWFRFUk5BTF9ORVRXT1JLJywgY2FzZVNlbnNpdGl2
ZT0nZmFsc2UnLCBmcm9tPScwJywgbWF4PScyMTQ3NDgzNjQ3J31dLCB0aW1lRWxhcHNlZDog
NTFtcwoyMDE3LTEyLTEyIDEzOjAwOjU3LDYwNC0wNSBERUJVRyBbb3JnLm92aXJ0LmVuZ2lu
ZS5jb3JlLmFhYS5maWx0ZXJzLlNzb1Jlc3RBcGlBdXRoRmlsdGVyXSAoZGVmYXVsdCB0YXNr
LTcpIFtdIEVudGVyZWQgU3NvUmVzdEFwaUF1dGhGaWx0ZXIKMjAxNy0xMi0xMiAxMzowMDo1
Nyw2MDUtMDUgREVCVUcgW29yZy5vdmlydC5lbmdpbmUuY29yZS5hYWEuZmlsdGVycy5Tc29S
ZXN0QXBpQXV0aEZpbHRlcl0gKGRlZmF1bHQgdGFzay03KSBbXSBTc29SZXN0QXBpQXV0aEZp
bHRlciBhdXRoZW50aWNhdGluZyB3aXRoIHNzbwoyMDE3LTEyLTEyIDEzOjAwOjU3LDYwNS0w
NSBERUJVRyBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmFhYS5maWx0ZXJzLlNzb1Jlc3RBcGlB
dXRoRmlsdGVyXSAoZGVmYXVsdCB0YXNrLTcpIFtdIFNzb1Jlc3RBcGlBdXRoRmlsdGVyIGF1
dGhlbnRpY2F0aW5nIHVzaW5nIEJFQVJFUiBoZWFkZXIKMjAxNy0xMi0xMiAxMzowMDo1Nyw2
MDctMDUgREVCVUcgW29yZy5vdmlydC5lbmdpbmUuY29yZS5hYWEuZmlsdGVycy5Tc29SZXN0
QXBpQXV0aEZpbHRlcl0gKGRlZmF1bHQgdGFzay03KSBbXSBTc29SZXN0QXBpQXV0aEZpbHRl
ciBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZCB1c2luZyBCRUFSRVIgaGVhZGVyCjIwMTct
MTItMTIgMTM6MDA6NTcsNjA3LTA1IERFQlVHIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuYWFh
LmZpbHRlcnMuU3NvUmVzdEFwaU5lZ290aWF0aW9uRmlsdGVyXSAoZGVmYXVsdCB0YXNrLTcp
IFtdIEVudGVyZWQgU3NvUmVzdEFwaU5lZ290aWF0aW9uRmlsdGVyCjIwMTctMTItMTIgMTM6
MDA6NTcsNjEwLTA1IERFQlVHIFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuYWFhLmZpbHRlcnMu
U3NvUmVzdEFwaU5lZ290aWF0aW9uRmlsdGVyXSAoZGVmYXVsdCB0YXNrLTcpIFtdIFNzb1Jl
c3RBcGlOZWdvdGlhdGlvbkZpbHRlciBOb3QgcGVyZm9ybWluZyBOZWdvdGlhdGUgQXV0aDwv
cHJlPgogICAgPHA+PGIgc3R5bGU9ImZvbnQtd2VpZ2h0Om5vcm1hbDsiCiAgICAgICAgaWQ9
ImRvY3MtaW50ZXJuYWwtZ3VpZC01ODU5YjdhMS00YzQzLWUxNjAtODhlZC1jODljOGY0Mzk3
ZjIiPgogICAgICAgIDxwIGRpcj0ibHRyIgogICAgICAgICAgc3R5bGU9ImxpbmUtaGVpZ2h0
OjEuMzg7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQ7Ij48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Y29sb3I6IzAwMDAwMDtiYWNrZ3Jv
dW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1h
bDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFs
aWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwOyI+Jmx0Oy9lcnJvciZndDs8L3Nw
YW4+PC9wPgogICAgICA8L2I+PGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5l
Ij4KICAgIDwvcD4KICA8L2JvZHk+CjwvaHRtbD4K
--------------5DE01706F093EFF4BADAC8A1--
7 years