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--