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

-->
<Graphic flm:originalName="DateChooser/DateChooser_nextYearDisabledSkin" version="2.0" afx:className="DateChooser_nextYearDisabledSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
  <Group>
    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M12 0 12 12 0 12 0 0 12 0">
        <fill>
          <SolidColor color="#5A6165" alpha="0"/>
        </fill>
      </Path>
      <Group>
        <Path x="-672.5" y="-1041" data="M679.475 1048 680.475 1048 680.475 1049 681.475 1049 681.475 1050 674.5 1050 674.5 1049 675.5 1049 675.5 1048 676.475 1048 676.475 1047 677.475 1047 677.475 1046 678.475 1046 678.475 1047 679.475 1047 679.475 1048">
          <fill>
            <SolidColor alpha="0.3019608"/>
          </fill>
        </Path>
      </Group>
    </Group>
  </Group>
</Graphic>