<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.3"?>
<plugin>
   <extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            application="org.eclipse.ui.ide.workbench"
            description="Papyrus4Manufacturing&#x0D;&#x0A;&#x0D;&#x0A;Version: {1}&#x0D;&#x0A;&#x0D;&#x0A;(c) Copyright Eclipse contributors and others 2020.  All rights reserved.&#x0D;&#x0A;Visit http://www.eclipse.org/platform&#x0D;&#x0A;&#x0D;&#x0A;This product includes software developed by the&#x0D;&#x0A;Apache Software Foundation http://www.apache.org/"
            name="Papyrus4Manufacturing">
         <property name="windowImages" value="icons/papyrus16.png,icons/papyrus32.png,icons/papyrus48.png,icons/papyrus64.png,icons/papyrus128.png"/> 
         <property name="aboutImage" value="icons/papyrus_lg.png"/>
         <property
               name="appName"
               value="Papyrus4Manufacturing">
         </property>
         <property
              name="introBrandingImage"
              value="product:icons/intro-papyrus.png"/>
         <property
               name="introTitle"
               value="Welcome to Papyrus4Manufacturing">
         </property>
         <property
               name="introBrandingImageText"
               value="Papyrus4Manufacturing">
         </property>
         <property
               name="startupForegroundColor"
               value="9C9E9F">
         </property>
         <property
               name="startupMessageRect"
               value="7,4,445,16">
         </property>
         <property
               name="startupProgressRect"
               value="0,330,460,20">
         </property>
         <property
				name="cssTheme"
				value="org.eclipse.e4.ui.css.theme.e4_default">
		  </property>
		  <property
				name="applicationCSSResources"
          value="platform:/plugin/org.eclipse.platform/images/">
		  </property>
    <property
          name="aboutText"
          value="Papyrus4Manufacturing&#x0A;&#x0A;Version: {1}&#x0A;Build id: {0}&#x0A;&#x0A;Copyright CEA LIST and others 2020. http://www.eclipse.org/papyrus&#x0A;&#x0A;(c) Copyright Eclipse contributors and others 2020.  All rights reserved. Eclipse and the Eclipse logo are trademarks of the Eclipse Foundation, Inc., https://www.eclipse.org/. The Eclipse logo cannot be altered without Eclipse's permission. Eclipse logos are provided for use under the Eclipse logo and trademark guidelines, https://www.eclipse.org/logotm/. Oracle and Java are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.&#x0A;&#x0A;This product includes software developed by other open source projects including the Apache Software Foundation, https://www.apache.org/.&#x0A;">
    </property>
    <property
          name="preferenceCustomization"
          value="plugin_customization.ini">
    </property>
      </product>
   </extension>
</plugin>
