julia-intellij icon indicating copy to clipboard operation
julia-intellij copied to clipboard

[auto-generated:-939237977] null

Open emmy-issue opened this issue 2 years ago • 2500 comments


  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null
Full StackTrace

com.intellij.diagnostic.PluginException: The default implementation of method 'getId' is deprecated, you need to override it in 'class org.ice1000.julia.lang.execution.JuliaRunConfigurationFactory'. The default implementation delegates to 'getName' which may be localized, but return value of this method must not depend on current localization. [Plugin: org.ice1000.julia]
	at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
	at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
	at com.intellij.diagnostic.PluginException.reportDeprecatedDefault(PluginException.java:110)
	at com.intellij.execution.configurations.ConfigurationFactory.getId(ConfigurationFactory.java:75)
	at com.intellij.execution.impl.RunManagerImplKt.getFactoryKey(RunManagerImpl.kt:1375)
	at com.intellij.execution.impl.RunManagerImplKt.access$getFactoryKey(RunManagerImpl.kt:1)
	at com.intellij.execution.impl.RunManagerImpl.getConfigurationTemplate(RunManagerImpl.kt:335)
	at com.intellij.execution.impl.RunManagerImpl.createConfiguration(RunManagerImpl.kt:263)
	at com.intellij.execution.actions.RunConfigurationProducer.cloneTemplateConfigurationStatic(RunConfigurationProducer.java:257)
	at com.intellij.execution.actions.RunConfigurationProducer.cloneTemplateConfiguration(RunConfigurationProducer.java:247)
	at com.intellij.execution.actions.RunConfigurationProducer.createConfigurationFromContext(RunConfigurationProducer.java:96)
	at com.intellij.execution.actions.RunConfigurationProducer.findOrCreateConfigurationFromContext(RunConfigurationProducer.java:197)
	at com.intellij.execution.actions.PreferredProducerFind.doGetConfigurationsFromContext(PreferredProducerFind.java:118)
	at com.intellij.execution.actions.PreferredProducerFind.getConfigurationsFromContext(PreferredProducerFind.java:100)
	at com.intellij.execution.actions.ConfigurationContext.getConfigurationsFromContext(ConfigurationContext.java:412)
	at com.intellij.execution.actions.ConfigurationContext.findPreferredConfiguration(ConfigurationContext.java:291)
	at com.intellij.execution.actions.ConfigurationContext.findExisting(ConfigurationContext.java:284)
	at com.intellij.execution.actions.BaseRunConfigurationAction.findExisting(BaseRunConfigurationAction.java:60)
	at com.intellij.execution.actions.BaseRunConfigurationAction.fullUpdate(BaseRunConfigurationAction.java:215)
	at com.intellij.execution.actions.BaseRunConfigurationAction.update(BaseRunConfigurationAction.java:180)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:131)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:145)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:639)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$4(ActionUpdater.java:125)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:175)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateActionReal(ActionUpdater.java:126)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$0(ActionUpdater.java:111)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:628)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:472)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:529)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:529)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:529)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:529)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:529)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$20(ActionUpdater.java:451)
	at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1400)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:451)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:259)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$12(ActionUpdater.java:320)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ActionUpdater.java:343)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1152)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$15(ActionUpdater.java:343)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(ActionUpdater.java:339)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:189)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:176)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:365)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ActionUpdater.java:338)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:829)

emmy-issue avatar Apr 07 '22 08:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 07 '22 11:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 06:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: CLion
  • App Full Name: CLion
  • App Version name: CLion
  • Is EAP: true
  • App Build: CL-221.5080.93
  • App Version: 2022.1 Beta
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 08 '22 14:04 emmy-issue

  • Julia Version: 1.7.2
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IU-221.5080.169
  • App Version: 2022.1 RC
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 09 '22 13:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IC-221.5080.169
  • App Version: 2022.1 RC
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 09 '22 20:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IC-221.5080.169
  • App Version: 2022.1 RC
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 09 '22 20:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.186
  • App Version: 2022.1 RC
  • Last Action: Unknown
  • Attachment induced.txt: Rm9sbG93aW5nIGV4Y2VwdGlvbnMgaGFwcGVuZWQgc29vbiBhZnRlciB0aGlzIG9uZSwgbW9zdCBwcm9iYWJseSB0aGV5IGFyZSBpbmR1Y2VkLgoKCjIwMjItMDQtMTNUMDg6NTU6NDguMTE3CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTGlzdE1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZUxpc3RNYW5hZ2VyLmt0OjM1KQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo2MTIpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjQyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkub3B0aW9ucy5TY2hlbWVNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VyLmt0OjM4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozMzkpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNjMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YTo0MTIpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZFByZWZlcnJlZENvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyOTEpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZEV4aXN0aW5nKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6Mjg0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZpbmRFeGlzdGluZyhCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZ1bGxVcGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToyMTUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24udXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MTgwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwubGFtYmRhJHBlcmZvcm1EdW1iQXdhcmVVcGRhdGUkMChBY3Rpb25VdGlsLmphdmE6MTMxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTQ1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdXBkYXRlQWN0aW9uUmVhbCQ0KEFjdGlvblVwZGF0ZXIuamF2YToxMjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI2KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkbmV3JDAoQWN0aW9uVXBkYXRlci5qYXZhOjExMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2MjgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjQ3MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YToyNTkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEyKEFjdGlvblVwZGF0ZXIuamF2YTozMjApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE0KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hcHBsaWNhdGlvbi5pbXBsLkFwcGxpY2F0aW9uSW1wbC50cnlSdW5SZWFkQWN0aW9uKEFwcGxpY2F0aW9uSW1wbC5qYXZhOjExNTIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE1KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLlByb2dyZXNzSW5kaWNhdG9yVXRpbHMucnVuQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5qYXZhOjE1OCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTYoQWN0aW9uVXBkYXRlci5qYXZhOjMzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkcnVuUHJvY2VzcyQyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxODkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJGV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyQxMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJlZ2lzdGVySW5kaWNhdG9yQW5kUnVuKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2ODMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuY29tcHV0ZVVuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwNykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuUHJvZ3Jlc3NNYW5hZ2VySW1wbC5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoUHJvZ3Jlc3NNYW5hZ2VySW1wbC5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJ1blByb2Nlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE3NikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuQmFja2dyb3VuZFRhc2tVdGlsLnJ1blVuZGVyRGlzcG9zZUF3YXJlSW5kaWNhdG9yKEJhY2tncm91bmRUYXNrVXRpbC5qYXZhOjM2NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTcoQWN0aW9uVXBkYXRlci5qYXZhOjMzOCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuZG9SdW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjI0MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuYWNjZXNzJDIwMChCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MzEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEuZXhlY3V0ZShCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjE0KQoJYXQgY29tLmludGVsbGlqLnV0aWwuQ29uY3VycmVuY3lVdGlsLnJ1blVuZGVyVGhyZWFkTmFtZShDb25jdXJyZW5jeVV0aWwuamF2YToyMTIpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEucnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMDMpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTI4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoTmF0aXZlIE1ldGhvZCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjgyOSkKCgoKMjAyMi0wNC0xM1QwODo1NTo0OC4xMTkKY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uOiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2QgJ2dldElkJyBpcyBkZXByZWNhdGVkLCB5b3UgbmVlZCB0byBvdmVycmlkZSBpdCBpbiAnY2xhc3Mgb3JnLmljZTEwMDAuanVsaWEubGFuZy5leGVjdXRpb24uSnVsaWFSdW5Db25maWd1cmF0aW9uRmFjdG9yeScuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlbGVnYXRlcyB0byAnZ2V0TmFtZScgd2hpY2ggbWF5IGJlIGxvY2FsaXplZCwgYnV0IHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IG5vdCBkZXBlbmQgb24gY3VycmVudCBsb2NhbGl6YXRpb24uIFtQbHVnaW46IG9yZy5pY2UxMDAwLmp1bGlhXQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5jcmVhdGVQbHVnaW5FeGNlcHRpb25CeUNsYXNzKFBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuamF2YToyMykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5jcmVhdGVCeUNsYXNzKFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjgzKQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLnJlcG9ydERlcHJlY2F0ZWREZWZhdWx0KFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjExMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uY29uZmlndXJhdGlvbnMuQ29uZmlndXJhdGlvbkZhY3RvcnkuZ2V0SWQoQ29uZmlndXJhdGlvbkZhY3RvcnkuamF2YTo3NSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmdldE5hbWUoUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5rdDoxNTQpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjM3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDoyMSkKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VyQmFzZS5wcm9jZXNzUGVuZGluZ0N1cnJlbnRTY2hlbWVOYW1lJGludGVsbGlqX3BsYXRmb3JtX2NvbmZpZ3VyYXRpb25TdG9yZV9pbXBsKFNjaGVtZU1hbmFnZXJCYXNlLmt0OjIzKQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZUxpc3RNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVMaXN0TWFuYWdlci5rdDo3OCkKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NjEyKQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo0MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLm9wdGlvbnMuU2NoZW1lTWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlci5rdDozOCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5nZXRDb25maWd1cmF0aW9uVGVtcGxhdGUoUnVuTWFuYWdlckltcGwua3Q6MzM5KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmNyZWF0ZUNvbmZpZ3VyYXRpb24oUnVuTWFuYWdlckltcGwua3Q6MjYzKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvblN0YXRpYyhSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI0NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjk2KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6NDEyKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRQcmVmZXJyZWRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjkxKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5maW5kRXhpc3RpbmcoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjE1KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjEzMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE0NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyNikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjI4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0NzIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjU5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzIwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTUyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE2KEFjdGlvblVwZGF0ZXIuamF2YTozMzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozMzgpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MjkpCgoKCjIwMjItMDQtMTNUMDg6NTU6NDguMTIyCmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTGlzdE1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZUxpc3RNYW5hZ2VyLmt0OjM1KQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo2MTIpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjQyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkub3B0aW9ucy5TY2hlbWVNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VyLmt0OjM4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozMzkpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNjMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YTo0MTIpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZFByZWZlcnJlZENvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyOTEpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZEV4aXN0aW5nKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6Mjg0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZpbmRFeGlzdGluZyhCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZ1bGxVcGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToyMTUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24udXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MTgwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwubGFtYmRhJHBlcmZvcm1EdW1iQXdhcmVVcGRhdGUkMChBY3Rpb25VdGlsLmphdmE6MTMxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTQ1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdXBkYXRlQWN0aW9uUmVhbCQ0KEFjdGlvblVwZGF0ZXIuamF2YToxMjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI2KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkbmV3JDAoQWN0aW9uVXBkYXRlci5qYXZhOjExMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2MjgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjQ3MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YToyNTkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEyKEFjdGlvblVwZGF0ZXIuamF2YTozMjApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE0KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hcHBsaWNhdGlvbi5pbXBsLkFwcGxpY2F0aW9uSW1wbC50cnlSdW5SZWFkQWN0aW9uKEFwcGxpY2F0aW9uSW1wbC5qYXZhOjExNTIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE1KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLlByb2dyZXNzSW5kaWNhdG9yVXRpbHMucnVuQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5qYXZhOjE1OCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTYoQWN0aW9uVXBkYXRlci5qYXZhOjMzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkcnVuUHJvY2VzcyQyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxODkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJGV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyQxMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJlZ2lzdGVySW5kaWNhdG9yQW5kUnVuKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2ODMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuY29tcHV0ZVVuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwNykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuUHJvZ3Jlc3NNYW5hZ2VySW1wbC5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoUHJvZ3Jlc3NNYW5hZ2VySW1wbC5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJ1blByb2Nlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE3NikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuQmFja2dyb3VuZFRhc2tVdGlsLnJ1blVuZGVyRGlzcG9zZUF3YXJlSW5kaWNhdG9yKEJhY2tncm91bmRUYXNrVXRpbC5qYXZhOjM2NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTcoQWN0aW9uVXBkYXRlci5qYXZhOjMzOCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuZG9SdW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjI0MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuYWNjZXNzJDIwMChCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MzEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEuZXhlY3V0ZShCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjE0KQoJYXQgY29tLmludGVsbGlqLnV0aWwuQ29uY3VycmVuY3lVdGlsLnJ1blVuZGVyVGhyZWFkTmFtZShDb25jdXJyZW5jeVV0aWwuamF2YToyMTIpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEucnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMDMpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTI4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoTmF0aXZlIE1ldGhvZCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjgyOSkKCgoKMjAyMi0wNC0xM1QwODo1NTo0OC4xNTEKY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uOiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2QgJ2dldElkJyBpcyBkZXByZWNhdGVkLCB5b3UgbmVlZCB0byBvdmVycmlkZSBpdCBpbiAnY2xhc3Mgb3JnLmljZTEwMDAuanVsaWEubGFuZy5leGVjdXRpb24uSnVsaWFSdW5Db25maWd1cmF0aW9uRmFjdG9yeScuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlbGVnYXRlcyB0byAnZ2V0TmFtZScgd2hpY2ggbWF5IGJlIGxvY2FsaXplZCwgYnV0IHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IG5vdCBkZXBlbmQgb24gY3VycmVudCBsb2NhbGl6YXRpb24uIFtQbHVnaW46IG9yZy5pY2UxMDAwLmp1bGlhXQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5jcmVhdGVQbHVnaW5FeGNlcHRpb25CeUNsYXNzKFBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuamF2YToyMykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5jcmVhdGVCeUNsYXNzKFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjgzKQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLnJlcG9ydERlcHJlY2F0ZWREZWZhdWx0KFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjExMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uY29uZmlndXJhdGlvbnMuQ29uZmlndXJhdGlvbkZhY3RvcnkuZ2V0SWQoQ29uZmlndXJhdGlvbkZhY3RvcnkuamF2YTo3NSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmdldE5hbWUoUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5rdDoxNTQpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjM3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDoyMSkKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVMaXN0TWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTGlzdE1hbmFnZXIua3Q6MzUpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjYxMikKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NDIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5vcHRpb25zLlNjaGVtZU1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXIua3Q6MzgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuZ2V0Q29uZmlndXJhdGlvblRlbXBsYXRlKFJ1bk1hbmFnZXJJbXBsLmt0OjMzOSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5jcmVhdGVDb25maWd1cmF0aW9uKFJ1bk1hbmFnZXJJbXBsLmt0OjI2MykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjU3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvbihSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNDcpCglhdCBjb20uamV0YnJhaW5zLnB5dGhvbi50ZXN0aW5nLkFic3RyYWN0UHl0aG9uVGVzdENvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoQWJzdHJhY3RQeXRob25UZXN0Q29uZmlndXJhdGlvblByb2R1Y2VyLmt0OjM0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6NDEyKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRQcmVmZXJyZWRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjkxKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5maW5kRXhpc3RpbmcoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjE1KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjEzMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE0NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyNikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjI4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0NzIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjU5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzIwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTUyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE2KEFjdGlvblVwZGF0ZXIuamF2YTozMzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozMzgpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MjkpCgoKCjIwMjItMDQtMTNUMDg6NTU6NDguMTc1CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTGlzdE1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZUxpc3RNYW5hZ2VyLmt0OjM1KQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo2MTIpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjQyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkub3B0aW9ucy5TY2hlbWVNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VyLmt0OjM4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozMzkpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNjMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykKCWF0IGNvbS5qZXRicmFpbnMucHl0aG9uLnRlc3RpbmcuUHlUZXN0c0NvbmZpZ3VyYXRpb25Qcm9kdWNlci5hY2Nlc3MkY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMkcy0xMzQ1Njc1MDExKFB5VGVzdHNTaGFyZWQua3Q6NzYyKQoJYXQgY29tLmpldGJyYWlucy5weXRob24udGVzdGluZy5QeVRlc3RzQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uKFB5VGVzdHNTaGFyZWQua3Q6ODQzKQoJYXQgY29tLmpldGJyYWlucy5weXRob24udGVzdGluZy5BYnN0cmFjdFB5dGhvblRlc3RDb25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KEFic3RyYWN0UHl0aG9uVGVzdENvbmZpZ3VyYXRpb25Qcm9kdWNlci5rdDozNCkKCWF0IGNvbS5qZXRicmFpbnMucHl0aG9uLnRlc3RpbmcuUHlUZXN0c0NvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUHlUZXN0c1NoYXJlZC5rdDo4NDkpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YTo0MTIpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZFByZWZlcnJlZENvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyOTEpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZmluZEV4aXN0aW5nKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6Mjg0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZpbmRFeGlzdGluZyhCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmZ1bGxVcGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToyMTUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24udXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MTgwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwubGFtYmRhJHBlcmZvcm1EdW1iQXdhcmVVcGRhdGUkMChBY3Rpb25VdGlsLmphdmE6MTMxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmV4LkFjdGlvblV0aWwucGVyZm9ybUR1bWJBd2FyZVVwZGF0ZShBY3Rpb25VdGlsLmphdmE6MTQ1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb1VwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkdXBkYXRlQWN0aW9uUmVhbCQ0KEFjdGlvblVwZGF0ZXIuamF2YToxMjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmNhbGxBY3Rpb24oQWN0aW9uVXBkYXRlci5qYXZhOjE3NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlQWN0aW9uUmVhbChBY3Rpb25VcGRhdGVyLmphdmE6MTI2KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkbmV3JDAoQWN0aW9uVXBkYXRlci5qYXZhOjExMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIudXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2MjgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjQ3MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YToyNTkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDEyKEFjdGlvblVwZGF0ZXIuamF2YTozMjApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE0KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hcHBsaWNhdGlvbi5pbXBsLkFwcGxpY2F0aW9uSW1wbC50cnlSdW5SZWFkQWN0aW9uKEFwcGxpY2F0aW9uSW1wbC5qYXZhOjExNTIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE1KEFjdGlvblVwZGF0ZXIuamF2YTozNDMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLlByb2dyZXNzSW5kaWNhdG9yVXRpbHMucnVuQWN0aW9uQW5kQ2FuY2VsQmVmb3JlV3JpdGUoUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5qYXZhOjE1OCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTYoQWN0aW9uVXBkYXRlci5qYXZhOjMzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkcnVuUHJvY2VzcyQyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxODkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJGV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyQxMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJlZ2lzdGVySW5kaWNhdG9yQW5kUnVuKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2ODMpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuY29tcHV0ZVVuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwNykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuUHJvZ3Jlc3NNYW5hZ2VySW1wbC5leGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MoUHJvZ3Jlc3NNYW5hZ2VySW1wbC5qYXZhOjYwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLnJ1blByb2Nlc3MoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE3NikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuQmFja2dyb3VuZFRhc2tVdGlsLnJ1blVuZGVyRGlzcG9zZUF3YXJlSW5kaWNhdG9yKEJhY2tncm91bmRUYXNrVXRpbC5qYXZhOjM2NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTcoQWN0aW9uVXBkYXRlci5qYXZhOjMzOCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuZG9SdW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjI0MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IuYWNjZXNzJDIwMChCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MzEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEuZXhlY3V0ZShCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjE0KQoJYXQgY29tLmludGVsbGlqLnV0aWwuQ29uY3VycmVuY3lVdGlsLnJ1blVuZGVyVGhyZWFkTmFtZShDb25jdXJyZW5jeVV0aWwuamF2YToyMTIpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yJDEucnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMDMpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTI4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoTmF0aXZlIE1ldGhvZCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY1KQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjgyOSkKCgoKMjAyMi0wNC0xM1QwODo1NTo0OC40NDAKY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uOiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2QgJ2dldElkJyBpcyBkZXByZWNhdGVkLCB5b3UgbmVlZCB0byBvdmVycmlkZSBpdCBpbiAnY2xhc3Mgb3JnLmljZTEwMDAuanVsaWEubGFuZy5leGVjdXRpb24uSnVsaWFSdW5Db25maWd1cmF0aW9uRmFjdG9yeScuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlbGVnYXRlcyB0byAnZ2V0TmFtZScgd2hpY2ggbWF5IGJlIGxvY2FsaXplZCwgYnV0IHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IG5vdCBkZXBlbmQgb24gY3VycmVudCBsb2NhbGl6YXRpb24uIFtQbHVnaW46IG9yZy5pY2UxMDAwLmp1bGlhXQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5jcmVhdGVQbHVnaW5FeGNlcHRpb25CeUNsYXNzKFBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuamF2YToyMykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5jcmVhdGVCeUNsYXNzKFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjgzKQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLnJlcG9ydERlcHJlY2F0ZWREZWZhdWx0KFBsdWdpbkV4Y2VwdGlvbi5qYXZhOjExMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uY29uZmlndXJhdGlvbnMuQ29uZmlndXJhdGlvbkZhY3RvcnkuZ2V0SWQoQ29uZmlndXJhdGlvbkZhY3RvcnkuamF2YTo3NSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmdldE5hbWUoUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5rdDoxNTQpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjM3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDoyMSkKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVMaXN0TWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTGlzdE1hbmFnZXIua3Q6MzUpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjYxMikKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NDIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5vcHRpb25zLlNjaGVtZU1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXIua3Q6MzgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuZ2V0Q29uZmlndXJhdGlvblRlbXBsYXRlKFJ1bk1hbmFnZXJJbXBsLmt0OjMzOSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5jcmVhdGVDb25maWd1cmF0aW9uKFJ1bk1hbmFnZXJJbXBsLmt0OjI2MykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjU3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvbihSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNDcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YTo5NikKCWF0IGNvbS5pbnRlbGxpai5kYXRhYmFzZS5jb25zb2xlLnJ1bkNvbmZpZ3VyYXRpb24uRGF0YWJhc2VTY3JpcHRSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KERhdGFiYXNlU2NyaXB0UnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmt0OjI4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6NDEyKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRQcmVmZXJyZWRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjkxKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5maW5kRXhpc3RpbmcoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjE1KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjEzMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE0NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyNikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjI4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0NzIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjU5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzIwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTUyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE2KEFjdGlvblVwZGF0ZXIuamF2YTozMzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozMzgpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MjkpCgoKCjIwMjItMDQtMTNUMDg6NTU6NDguNDQ0CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGxLdC5nZXRGYWN0b3J5S2V5KFJ1bk1hbmFnZXJJbXBsLmt0OjEzNzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGxLdC5hY2Nlc3MkZ2V0RmFjdG9yeUtleShSdW5NYW5hZ2VySW1wbC5rdDoxKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozMzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNjMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmZpbmRPckNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToxOTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmRvR2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMTgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUHJlZmVycmVkUHJvZHVjZXJGaW5kLmdldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTAwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5jcmVhdGVDb25maWd1cmF0aW9uKFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjMyKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmNyZWF0ZUNvbmZpZ3VyYXRpb24oQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyMDMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjE5NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjE4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjEzMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE0NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyNikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjI4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0NzIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjU5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzIwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTUyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE2KEFjdGlvblVwZGF0ZXIuamF2YTozMzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozMzgpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MjkpCg==
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 13 '22 07:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IU-221.5080.210
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 13 '22 08:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 13 '22 19:04 emmy-issue

  • Julia Version: 1.7.2
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Mac OS X
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IU-221.5080.210
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 00:04 emmy-issue

  • Julia Version: 1.7.2
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Mac OS X
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IU-221.5080.210
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 00:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Windows 10
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: EditorBackSpace
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 01:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Windows 10
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: EditorBackSpace
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 01:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: Unknown
  • Attachment induced.txt: Rm9sbG93aW5nIGV4Y2VwdGlvbnMgaGFwcGVuZWQgc29vbiBhZnRlciB0aGlzIG9uZSwgbW9zdCBwcm9iYWJseSB0aGV5IGFyZSBpbmR1Y2VkLgoKCjIwMjItMDQtMTRUMDk6Mzc6MDYuMDU2CmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckJhc2UucHJvY2Vzc1BlbmRpbmdDdXJyZW50U2NoZW1lTmFtZSRpbnRlbGxpal9wbGF0Zm9ybV9jb25maWd1cmF0aW9uU3RvcmVfaW1wbChTY2hlbWVNYW5hZ2VyQmFzZS5rdDoyMykKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVMaXN0TWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTGlzdE1hbmFnZXIua3Q6NzgpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjYxMikKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NDIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5vcHRpb25zLlNjaGVtZU1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXIua3Q6MzgpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuZ2V0Q29uZmlndXJhdGlvblRlbXBsYXRlKFJ1bk1hbmFnZXJJbXBsLmt0OjMzOSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5jcmVhdGVDb25maWd1cmF0aW9uKFJ1bk1hbmFnZXJJbXBsLmt0OjI2MykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb25TdGF0aWMoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjU3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvbihSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNDcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YTo5NikKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuZmluZE9yQ3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjE5NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZG9HZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjExOCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMDApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjQxMikKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kUHJlZmVycmVkQ29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI5MSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kRXhpc3RpbmcoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyODQpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZmluZEV4aXN0aW5nKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6NjApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZnVsbFVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjIxNSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi51cGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToxODApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5sYW1iZGEkcGVyZm9ybUR1bWJBd2FyZVVwZGF0ZSQwKEFjdGlvblV0aWwuamF2YToxMzEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5wZXJmb3JtRHVtYkF3YXJlVXBkYXRlKEFjdGlvblV0aWwuamF2YToxNDUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvVXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR1cGRhdGVBY3Rpb25SZWFsJDQoQWN0aW9uVXBkYXRlci5qYXZhOjEyNSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTc1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGVBY3Rpb25SZWFsKEFjdGlvblVwZGF0ZXIuamF2YToxMjYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRuZXckMChBY3Rpb25VcGRhdGVyLmphdmE6MTExKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYyOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NDcyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjI1OSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTIoQWN0aW9uVXBkYXRlci5qYXZhOjMyMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTQoQWN0aW9uVXBkYXRlci5qYXZhOjM0MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFwcGxpY2F0aW9uLmltcGwuQXBwbGljYXRpb25JbXBsLnRyeVJ1blJlYWRBY3Rpb24oQXBwbGljYXRpb25JbXBsLmphdmE6MTE1MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTUoQWN0aW9uVXBkYXRlci5qYXZhOjM0MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5ydW5BY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShQcm9ncmVzc0luZGljYXRvclV0aWxzLmphdmE6MTU4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNihBY3Rpb25VcGRhdGVyLmphdmE6MzM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRydW5Qcm9jZXNzJDIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE4OSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzJDEyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucmVnaXN0ZXJJbmRpY2F0b3JBbmRSdW4oQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjY4MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5jb21wdXRlVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA3KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Qcm9ncmVzc01hbmFnZXJJbXBsLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhQcm9ncmVzc01hbmFnZXJJbXBsLmphdmE6NjApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucnVuUHJvY2VzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTc2KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5CYWNrZ3JvdW5kVGFza1V0aWwucnVuVW5kZXJEaXNwb3NlQXdhcmVJbmRpY2F0b3IoQmFja2dyb3VuZFRhc2tVdGlsLmphdmE6MzY1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNyhBY3Rpb25VcGRhdGVyLmphdmE6MzM4KQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5kb1J1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjQxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5hY2Nlc3MkMjAwKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YTozMSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5leGVjdXRlKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMTQpCglhdCBjb20uaW50ZWxsaWoudXRpbC5Db25jdXJyZW5jeVV0aWwucnVuVW5kZXJUaHJlYWROYW1lKENvbmN1cnJlbmN5VXRpbC5qYXZhOjIxMikKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5ydW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIwMykKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExMjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2OCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjUpCglhdCBqYXZhLmJhc2UvamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChOYXRpdmUgTWV0aG9kKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjUpCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6ODI5KQoKCgoyMDIyLTA0LTE0VDA5OjM3OjA2LjA2NQpjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb246IFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZCAnZ2V0SWQnIGlzIGRlcHJlY2F0ZWQsIHlvdSBuZWVkIHRvIG92ZXJyaWRlIGl0IGluICdjbGFzcyBvcmcuaWNlMTAwMC5qdWxpYS5sYW5nLmV4ZWN1dGlvbi5KdWxpYVJ1bkNvbmZpZ3VyYXRpb25GYWN0b3J5Jy4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVsZWdhdGVzIHRvICdnZXROYW1lJyB3aGljaCBtYXkgYmUgbG9jYWxpemVkLCBidXQgcmV0dXJuIHZhbHVlIG9mIHRoaXMgbWV0aG9kIG11c3Qgbm90IGRlcGVuZCBvbiBjdXJyZW50IGxvY2FsaXphdGlvbi4gW1BsdWdpbjogb3JnLmljZTEwMDAuanVsaWFdCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmNyZWF0ZVBsdWdpbkV4Y2VwdGlvbkJ5Q2xhc3MoUGx1Z2luUHJvYmxlbVJlcG9ydGVySW1wbC5qYXZhOjIzKQoJYXQgY29tLmludGVsbGlqLmRpYWdub3N0aWMuUGx1Z2luRXhjZXB0aW9uLmNyZWF0ZUJ5Q2xhc3MoUGx1Z2luRXhjZXB0aW9uLmphdmE6ODMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24ucmVwb3J0RGVwcmVjYXRlZERlZmF1bHQoUGx1Z2luRXhjZXB0aW9uLmphdmE6MTEwKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5jb25maWd1cmF0aW9ucy5Db25maWd1cmF0aW9uRmFjdG9yeS5nZXRJZChDb25maWd1cmF0aW9uRmFjdG9yeS5qYXZhOjc1KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwuZ2V0TmFtZShSdW5uZXJBbmRDb25maWd1cmF0aW9uU2V0dGluZ3NJbXBsLmt0OjE1NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MzcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIuZ2V0U2NoZW1lS2V5KFJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmt0OjIxKQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZUxpc3RNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVMaXN0TWFuYWdlci5rdDozNSkKCWF0IGNvbS5pbnRlbGxpai5jb25maWd1cmF0aW9uU3RvcmUuc2NoZW1lTWFuYWdlci5TY2hlbWVNYW5hZ2VySW1wbC5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlckltcGwua3Q6NjEyKQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo0MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLm9wdGlvbnMuU2NoZW1lTWFuYWdlci5hZGRTY2hlbWUoU2NoZW1lTWFuYWdlci5rdDozOCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5NYW5hZ2VySW1wbC5nZXRDb25maWd1cmF0aW9uVGVtcGxhdGUoUnVuTWFuYWdlckltcGwua3Q6MzM5KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmNyZWF0ZUNvbmZpZ3VyYXRpb24oUnVuTWFuYWdlckltcGwua3Q6MjYzKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jbG9uZVRlbXBsYXRlQ29uZmlndXJhdGlvblN0YXRpYyhSdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuamF2YToyNTcpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI0NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjk2KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5maW5kT3JDcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MTk3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5kb0dldENvbmZpZ3VyYXRpb25zRnJvbUNvbnRleHQoUHJlZmVycmVkUHJvZHVjZXJGaW5kLmphdmE6MTE4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlByZWZlcnJlZFByb2R1Y2VyRmluZC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjEwMCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5nZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6NDEyKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRQcmVmZXJyZWRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb25Db250ZXh0LmphdmE6MjkxKQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkNvbmZpZ3VyYXRpb25Db250ZXh0LmZpbmRFeGlzdGluZyhDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI4NCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5maW5kRXhpc3RpbmcoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5mdWxsVXBkYXRlKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6MjE1KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLkJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLnVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjE4MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLmxhbWJkYSRwZXJmb3JtRHVtYkF3YXJlVXBkYXRlJDAoQWN0aW9uVXRpbC5qYXZhOjEzMSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5leC5BY3Rpb25VdGlsLnBlcmZvcm1EdW1iQXdhcmVVcGRhdGUoQWN0aW9uVXRpbC5qYXZhOjE0NSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9VcGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYzOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJHVwZGF0ZUFjdGlvblJlYWwkNChBY3Rpb25VcGRhdGVyLmphdmE6MTI1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5jYWxsQWN0aW9uKEFjdGlvblVwZGF0ZXIuamF2YToxNzUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZUFjdGlvblJlYWwoQWN0aW9uVXBkYXRlci5qYXZhOjEyNikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJG5ldyQwKEFjdGlvblVwZGF0ZXIuamF2YToxMTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLnVwZGF0ZShBY3Rpb25VcGRhdGVyLmphdmE6NjI4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo0NzIpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6MjU5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxMihBY3Rpb25VcGRhdGVyLmphdmE6MzIwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNChBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYXBwbGljYXRpb24uaW1wbC5BcHBsaWNhdGlvbkltcGwudHJ5UnVuUmVhZEFjdGlvbihBcHBsaWNhdGlvbkltcGwuamF2YToxMTUyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNShBY3Rpb25VcGRhdGVyLmphdmE6MzQzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5Qcm9ncmVzc0luZGljYXRvclV0aWxzLnJ1bkFjdGlvbkFuZENhbmNlbEJlZm9yZVdyaXRlKFByb2dyZXNzSW5kaWNhdG9yVXRpbHMuamF2YToxNTgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE2KEFjdGlvblVwZGF0ZXIuamF2YTozMzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIubGFtYmRhJHJ1blByb2Nlc3MkMihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTg5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRleGVjdXRlUHJvY2Vzc1VuZGVyUHJvZ3Jlc3MkMTIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjYwOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5yZWdpc3RlckluZGljYXRvckFuZFJ1bihDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjgzKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmNvbXB1dGVVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDcpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLlByb2dyZXNzTWFuYWdlckltcGwuZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzKFByb2dyZXNzTWFuYWdlckltcGwuamF2YTo2MCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5ydW5Qcm9jZXNzKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YToxNzYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy51dGlsLkJhY2tncm91bmRUYXNrVXRpbC5ydW5VbmRlckRpc3Bvc2VBd2FyZUluZGljYXRvcihCYWNrZ3JvdW5kVGFza1V0aWwuamF2YTozNjUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRleHBhbmRBY3Rpb25Hcm91cEFzeW5jJDE3KEFjdGlvblVwZGF0ZXIuamF2YTozMzgpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmRvUnVuKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyNDEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb25jdXJyZW5jeS5Cb3VuZGVkVGFza0V4ZWN1dG9yLmFjY2VzcyQyMDAoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjMxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLmV4ZWN1dGUoQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIxNCkKCWF0IGNvbS5pbnRlbGxpai51dGlsLkNvbmN1cnJlbmN5VXRpbC5ydW5VbmRlclRocmVhZE5hbWUoQ29uY3VycmVuY3lVdGlsLmphdmE6MjEyKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvciQxLnJ1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjAzKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTEyOCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEkMS5ydW4oRXhlY3V0b3JzLmphdmE6NjY4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKE5hdGl2ZSBNZXRob2QpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFByaXZpbGVnZWRUaHJlYWRGYWN0b3J5JDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2NSkKCWF0IGphdmEuYmFzZS9qYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo4MjkpCgoKCjIwMjItMDQtMTRUMDk6Mzc6MDYuMjMyCmNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbjogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kICdnZXRJZCcgaXMgZGVwcmVjYXRlZCwgeW91IG5lZWQgdG8gb3ZlcnJpZGUgaXQgaW4gJ2NsYXNzIG9yZy5pY2UxMDAwLmp1bGlhLmxhbmcuZXhlY3V0aW9uLkp1bGlhUnVuQ29uZmlndXJhdGlvbkZhY3RvcnknLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWxlZ2F0ZXMgdG8gJ2dldE5hbWUnIHdoaWNoIG1heSBiZSBsb2NhbGl6ZWQsIGJ1dCByZXR1cm4gdmFsdWUgb2YgdGhpcyBtZXRob2QgbXVzdCBub3QgZGVwZW5kIG9uIGN1cnJlbnQgbG9jYWxpemF0aW9uLiBbUGx1Z2luOiBvcmcuaWNlMTAwMC5qdWxpYV0KCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpblByb2JsZW1SZXBvcnRlckltcGwuY3JlYXRlUGx1Z2luRXhjZXB0aW9uQnlDbGFzcyhQbHVnaW5Qcm9ibGVtUmVwb3J0ZXJJbXBsLmphdmE6MjMpCglhdCBjb20uaW50ZWxsaWouZGlhZ25vc3RpYy5QbHVnaW5FeGNlcHRpb24uY3JlYXRlQnlDbGFzcyhQbHVnaW5FeGNlcHRpb24uamF2YTo4MykKCWF0IGNvbS5pbnRlbGxpai5kaWFnbm9zdGljLlBsdWdpbkV4Y2VwdGlvbi5yZXBvcnREZXByZWNhdGVkRGVmYXVsdChQbHVnaW5FeGNlcHRpb24uamF2YToxMTApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmNvbmZpZ3VyYXRpb25zLkNvbmZpZ3VyYXRpb25GYWN0b3J5LmdldElkKENvbmZpZ3VyYXRpb25GYWN0b3J5LmphdmE6NzUpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVubmVyQW5kQ29uZmlndXJhdGlvblNldHRpbmdzSW1wbC5nZXROYW1lKFJ1bm5lckFuZENvbmZpZ3VyYXRpb25TZXR0aW5nc0ltcGwua3Q6MTU0KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bkNvbmZpZ3VyYXRpb25TY2hlbWVNYW5hZ2VyLmdldFNjaGVtZUtleShSdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5rdDozNykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uaW1wbC5SdW5Db25maWd1cmF0aW9uU2NoZW1lTWFuYWdlci5nZXRTY2hlbWVLZXkoUnVuQ29uZmlndXJhdGlvblNjaGVtZU1hbmFnZXIua3Q6MjEpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTGlzdE1hbmFnZXIuYWRkU2NoZW1lKFNjaGVtZUxpc3RNYW5hZ2VyLmt0OjM1KQoJYXQgY29tLmludGVsbGlqLmNvbmZpZ3VyYXRpb25TdG9yZS5zY2hlbWVNYW5hZ2VyLlNjaGVtZU1hbmFnZXJJbXBsLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VySW1wbC5rdDo2MTIpCglhdCBjb20uaW50ZWxsaWouY29uZmlndXJhdGlvblN0b3JlLnNjaGVtZU1hbmFnZXIuU2NoZW1lTWFuYWdlckltcGwuYWRkU2NoZW1lKFNjaGVtZU1hbmFnZXJJbXBsLmt0OjQyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkub3B0aW9ucy5TY2hlbWVNYW5hZ2VyLmFkZFNjaGVtZShTY2hlbWVNYW5hZ2VyLmt0OjM4KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5pbXBsLlJ1bk1hbmFnZXJJbXBsLmdldENvbmZpZ3VyYXRpb25UZW1wbGF0ZShSdW5NYW5hZ2VySW1wbC5rdDozMzkpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmltcGwuUnVuTWFuYWdlckltcGwuY3JlYXRlQ29uZmlndXJhdGlvbihSdW5NYW5hZ2VySW1wbC5rdDoyNjMpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNsb25lVGVtcGxhdGVDb25maWd1cmF0aW9uU3RhdGljKFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjI1NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuY2xvbmVUZW1wbGF0ZUNvbmZpZ3VyYXRpb24oUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6MjQ3KQoJYXQgY29tLmludGVsbGlqLmV4ZWN1dGlvbi5hY3Rpb25zLlJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5jcmVhdGVDb25maWd1cmF0aW9uRnJvbUNvbnRleHQoUnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmphdmE6OTYpCglhdCBjb20uaW50ZWxsaWouZGF0YWJhc2UuY29uc29sZS5ydW5Db25maWd1cmF0aW9uLkRhdGFiYXNlU2NyaXB0UnVuQ29uZmlndXJhdGlvblByb2R1Y2VyLmNyZWF0ZUNvbmZpZ3VyYXRpb25Gcm9tQ29udGV4dChEYXRhYmFzZVNjcmlwdFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5rdDoyOCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5SdW5Db25maWd1cmF0aW9uUHJvZHVjZXIuZmluZE9yQ3JlYXRlQ29uZmlndXJhdGlvbkZyb21Db250ZXh0KFJ1bkNvbmZpZ3VyYXRpb25Qcm9kdWNlci5qYXZhOjE5NykKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZG9HZXRDb25maWd1cmF0aW9uc0Zyb21Db250ZXh0KFByZWZlcnJlZFByb2R1Y2VyRmluZC5qYXZhOjExOCkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5QcmVmZXJyZWRQcm9kdWNlckZpbmQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChQcmVmZXJyZWRQcm9kdWNlckZpbmQuamF2YToxMDApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQ29uZmlndXJhdGlvbkNvbnRleHQuZ2V0Q29uZmlndXJhdGlvbnNGcm9tQ29udGV4dChDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjQxMikKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kUHJlZmVycmVkQ29uZmlndXJhdGlvbihDb25maWd1cmF0aW9uQ29udGV4dC5qYXZhOjI5MSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5Db25maWd1cmF0aW9uQ29udGV4dC5maW5kRXhpc3RpbmcoQ29uZmlndXJhdGlvbkNvbnRleHQuamF2YToyODQpCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZmluZEV4aXN0aW5nKEJhc2VSdW5Db25maWd1cmF0aW9uQWN0aW9uLmphdmE6NjApCglhdCBjb20uaW50ZWxsaWouZXhlY3V0aW9uLmFjdGlvbnMuQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uZnVsbFVwZGF0ZShCYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi5qYXZhOjIxNSkKCWF0IGNvbS5pbnRlbGxpai5leGVjdXRpb24uYWN0aW9ucy5CYXNlUnVuQ29uZmlndXJhdGlvbkFjdGlvbi51cGRhdGUoQmFzZVJ1bkNvbmZpZ3VyYXRpb25BY3Rpb24uamF2YToxODApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5sYW1iZGEkcGVyZm9ybUR1bWJBd2FyZVVwZGF0ZSQwKEFjdGlvblV0aWwuamF2YToxMzEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uZXguQWN0aW9uVXRpbC5wZXJmb3JtRHVtYkF3YXJlVXBkYXRlKEFjdGlvblV0aWwuamF2YToxNDUpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvVXBkYXRlKEFjdGlvblVwZGF0ZXIuamF2YTo2MzkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSR1cGRhdGVBY3Rpb25SZWFsJDQoQWN0aW9uVXBkYXRlci5qYXZhOjEyNSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuY2FsbEFjdGlvbihBY3Rpb25VcGRhdGVyLmphdmE6MTc1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGVBY3Rpb25SZWFsKEFjdGlvblVwZGF0ZXIuamF2YToxMjYpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRuZXckMChBY3Rpb25VcGRhdGVyLmphdmE6MTExKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci51cGRhdGUoQWN0aW9uVXBkYXRlci5qYXZhOjYyOCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NDcyKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kR3JvdXBDaGlsZChBY3Rpb25VcGRhdGVyLmphdmE6NTI5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZG9FeHBhbmRBY3Rpb25Hcm91cCQyMChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29udGFpbmVycy5Db250YWluZXJVdGlsLmNvbmNhdChDb250YWluZXJVdGlsLmphdmE6MTQwMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZG9FeHBhbmRBY3Rpb25Hcm91cChBY3Rpb25VcGRhdGVyLmphdmE6NDUxKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5leHBhbmRHcm91cENoaWxkKEFjdGlvblVwZGF0ZXIuamF2YTo1MjkpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmxhbWJkYSRkb0V4cGFuZEFjdGlvbkdyb3VwJDIwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoudXRpbC5jb250YWluZXJzLkNvbnRhaW5lclV0aWwuY29uY2F0KENvbnRhaW5lclV0aWwuamF2YToxNDAwKQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5kb0V4cGFuZEFjdGlvbkdyb3VwKEFjdGlvblVwZGF0ZXIuamF2YTo0NTEpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmV4cGFuZEdyb3VwQ2hpbGQoQWN0aW9uVXBkYXRlci5qYXZhOjUyOSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGRvRXhwYW5kQWN0aW9uR3JvdXAkMjAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbnRhaW5lcnMuQ29udGFpbmVyVXRpbC5jb25jYXQoQ29udGFpbmVyVXRpbC5qYXZhOjE0MDApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5hY3Rpb25TeXN0ZW0uaW1wbC5BY3Rpb25VcGRhdGVyLmRvRXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjQ1MSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIuZXhwYW5kQWN0aW9uR3JvdXAoQWN0aW9uVXBkYXRlci5qYXZhOjI1OSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTIoQWN0aW9uVXBkYXRlci5qYXZhOjMyMCkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTQoQWN0aW9uVXBkYXRlci5qYXZhOjM0MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFwcGxpY2F0aW9uLmltcGwuQXBwbGljYXRpb25JbXBsLnRyeVJ1blJlYWRBY3Rpb24oQXBwbGljYXRpb25JbXBsLmphdmE6MTE1MikKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLmFjdGlvblN5c3RlbS5pbXBsLkFjdGlvblVwZGF0ZXIubGFtYmRhJGV4cGFuZEFjdGlvbkdyb3VwQXN5bmMkMTUoQWN0aW9uVXBkYXRlci5qYXZhOjM0MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLnV0aWwuUHJvZ3Jlc3NJbmRpY2F0b3JVdGlscy5ydW5BY3Rpb25BbmRDYW5jZWxCZWZvcmVXcml0ZShQcm9ncmVzc0luZGljYXRvclV0aWxzLmphdmE6MTU4KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNihBY3Rpb25VcGRhdGVyLmphdmE6MzM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmxhbWJkYSRydW5Qcm9jZXNzJDIoQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjE4OSkKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5sYW1iZGEkZXhlY3V0ZVByb2Nlc3NVbmRlclByb2dyZXNzJDEyKENvcmVQcm9ncmVzc01hbmFnZXIuamF2YTo2MDgpCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucmVnaXN0ZXJJbmRpY2F0b3JBbmRSdW4oQ29yZVByb2dyZXNzTWFuYWdlci5qYXZhOjY4MykKCWF0IGNvbS5pbnRlbGxpai5vcGVuYXBpLnByb2dyZXNzLmltcGwuQ29yZVByb2dyZXNzTWFuYWdlci5jb21wdXRlVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjM5KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Db3JlUHJvZ3Jlc3NNYW5hZ2VyLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6NjA3KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MuaW1wbC5Qcm9ncmVzc01hbmFnZXJJbXBsLmV4ZWN1dGVQcm9jZXNzVW5kZXJQcm9ncmVzcyhQcm9ncmVzc01hbmFnZXJJbXBsLmphdmE6NjApCglhdCBjb20uaW50ZWxsaWoub3BlbmFwaS5wcm9ncmVzcy5pbXBsLkNvcmVQcm9ncmVzc01hbmFnZXIucnVuUHJvY2VzcyhDb3JlUHJvZ3Jlc3NNYW5hZ2VyLmphdmE6MTc2KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkucHJvZ3Jlc3MudXRpbC5CYWNrZ3JvdW5kVGFza1V0aWwucnVuVW5kZXJEaXNwb3NlQXdhcmVJbmRpY2F0b3IoQmFja2dyb3VuZFRhc2tVdGlsLmphdmE6MzY1KQoJYXQgY29tLmludGVsbGlqLm9wZW5hcGkuYWN0aW9uU3lzdGVtLmltcGwuQWN0aW9uVXBkYXRlci5sYW1iZGEkZXhwYW5kQWN0aW9uR3JvdXBBc3luYyQxNyhBY3Rpb25VcGRhdGVyLmphdmE6MzM4KQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5kb1J1bihCb3VuZGVkVGFza0V4ZWN1dG9yLmphdmE6MjQxKQoJYXQgY29tLmludGVsbGlqLnV0aWwuY29uY3VycmVuY3kuQm91bmRlZFRhc2tFeGVjdXRvci5hY2Nlc3MkMjAwKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YTozMSkKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5leGVjdXRlKEJvdW5kZWRUYXNrRXhlY3V0b3IuamF2YToyMTQpCglhdCBjb20uaW50ZWxsaWoudXRpbC5Db25jdXJyZW5jeVV0aWwucnVuVW5kZXJUaHJlYWROYW1lKENvbmN1cnJlbmN5VXRpbC5qYXZhOjIxMikKCWF0IGNvbS5pbnRlbGxpai51dGlsLmNvbmN1cnJlbmN5LkJvdW5kZWRUYXNrRXhlY3V0b3IkMS5ydW4oQm91bmRlZFRhc2tFeGVjdXRvci5qYXZhOjIwMykKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExMjgpCglhdCBqYXZhLmJhc2UvamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI4KQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxJDEucnVuKEV4ZWN1dG9ycy5qYXZhOjY2OCkKCWF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUHJpdmlsZWdlZFRocmVhZEZhY3RvcnkkMSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjUpCglhdCBqYXZhLmJhc2UvamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChOYXRpdmUgTWV0aG9kKQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRQcml2aWxlZ2VkVGhyZWFkRmFjdG9yeSQxLnJ1bihFeGVjdXRvcnMuamF2YTo2NjUpCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6ODI5KQo=
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 07:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Linux
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 07:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Windows 10
  • Java Version: 11.0.14.1
  • App Name: PyCharm
  • App Full Name: PyCharm
  • App Version name: PyCharm
  • Is EAP: false
  • App Build: PY-221.5080.212
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 07:04 emmy-issue

  • Julia Version:
  • Plugin Name: Julia
  • Plugin Version: 0.4.2
  • OS Name: Windows 11
  • Java Version: 11.0.14.1
  • App Name: IDEA
  • App Full Name: IntelliJ IDEA
  • App Version name: IntelliJ IDEA
  • Is EAP: false
  • App Build: IC-221.5080.210
  • App Version: 2022.1
  • Last Action: Unknown
  • title: [auto-generated:-939237977] null

emmy-issue avatar Apr 14 '22 08:04 emmy-issue