<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--

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.

-->
<flexLibProperties includeAllClasses="false" useMultiPlatformConfig="false" version="3">
  <includeClasses>
    <classEntry path="MobileThemeClasses"/>
  </includeClasses>
  <includeResources>
    <resourceEntry destPath="spark/skins/android4/assets/fonts/Roboto-Bold.ttf" sourcePath="spark/skins/android4/assets/fonts/Roboto-Bold.ttf"/>
    <resourceEntry destPath="spark/skins/android4/assets/fonts/Roboto-Regular.ttf" sourcePath="spark/skins/android4/assets/fonts/Roboto-Regular.ttf"/>
  </includeResources>
  <namespaceManifests/>
</flexLibProperties>
