<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<project>
  <output>
    <movie platform="Flash Player"/>
    <movie disabled="False"/>
    <movie fps="60"/>
    <movie background="#FFFFFF"/>
    <movie version="11"/>
    <movie path="bin-debug/App.swf"/>
    <movie width="800"/>
    <movie height="600"/>
    <movie input=""/>
  </output>
  &lt;!-- Other classes to be compiled into your SWF --&gt;
  <jsOutput>
    <option path=""/>
  </jsOutput>
  <classpaths>
    <class path="src/main/royale"/>
  </classpaths>
  <moonshineResourcePaths></moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option antBuildPath="build.xml"/>
    <option customSDK=""/>
    <option useResourceBundleMetadata="True"/>
    <option sourceMap="True"/>
    <option showDeprecationWarnings="True"/>
    <option benchmark="False"/>
    <option allowSourcePathOverlap="False"/>
    <option compilerConstants=""/>
    <option locale=""/>
    <option accessible="False"/>
    <option useNetwork="True"/>
    <option showUnusedTypeSelectorWarnings="True"/>
    <option additional="+configname=flex"/>
    <option strict="True"/>
    <option warnings="True"/>
    <option showBindingWarnings="True"/>
    <option es="False"/>
    <option verboseStackTraces="False"/>
    <option loadConfig=""/>
    <option linkReport=""/>
    <option optimize="False"/>
    <option staticLinkRSL="False"/>
    <option showActionScriptWarnings="True"/>
  </build>
  <mavenBuild>
    <option dominoNotesProgram=""/>
    <option mavenBuildPath=""/>
    <option settingsFilePath=""/>
    <option dominoNotesPlatform=""/>
    <option commandLine=""/>
    <actions>
      <action actionName="Build" action="install"/>
      <action actionName="Clean and package" action="clean package"/>
      <action actionName="Clean" action="clean"/>
      <action actionName="Clean and Build" action="clean install"/>
      <action actionName="Exploded" action="war:exploded"/>
    </actions>
  </mavenBuild>
  <includeLibraries></includeLibraries>
  <libraryPaths></libraryPaths>
  <externalLibraryPaths></externalLibraryPaths>
  <rslPaths></rslPaths>
  <intrinsics>
    <element path="Library/AS3/frameworks/Flex4"/>
    <element path="Library\AS3\frameworks\Flex4"/>
  </intrinsics>
  <library></library>
  <modules/>
  <compileTargets>
    <compile path="src/main/royale/App.mxml"/>
  </compileTargets>
  <hiddenPaths></hiddenPaths>
  <preBuildCommand>null</preBuildCommand>
  <postBuildCommand alwaysRun="False">null</postBuildCommand>
  <trustSVNCertificate>False</trustSVNCertificate>
  <options>
    <option testMovieCommand=""/>
    <option isPrimeFacesVisualEditor="False"/>
    <option defaultBuildTargets=""/>
    <option showHiddenPaths="False"/>
    <option isRoyale="True"/>
    <option isExportedToExistingSource="False"/>
    <option testMovie=""/>
    <option visualEditorExportPath=""/>
  </options>
  <moonshineRunCustomization>
    <option customUrlToLaunch=""/>
    <option deviceConnectType="USB"/>
    <option deviceSimulator="null"/>
    <option launchMethod="Simulator"/>
    <option projectType="2"/>
    <option webBrowser="Google Chrome"/>
    <option targetPlatform="5"/>
    <option urlToLaunch=""/>
    <deviceSimulator>null</deviceSimulator>
    <certAndroid>null</certAndroid>
    <certIos>null</certIos>
    <certIosProvisioning>null</certIosProvisioning>
  </moonshineRunCustomization>
</project>