<?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="Glyphs/DividedBox/DividedBox_horizontalCursor" version="2.0" afx:className="DividedBox_horizontalCursor" 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="outline" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Group>
        <Path data="M16.975 5.95 11.425 11.525 11.425 12 5.45 12 5.45 11.55 0 6 5.45 0.45 5.45 0 11.425 0 11.425 0.375 16.975 5.95">
          <fill>
            <SolidColor color="#FFFFFF"/>
          </fill>
        </Path>
      </Group>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="icon" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Group>
        <Path x="2" y="1" data="M8 6 8 10 7 10 7 0 8 0 8 4 10 4 10 2 13 5 10 8 10 6 8 6M5 0 6 0 6 10 5 10 5 6 3 6 3 8 0 5 3 2 3 4 5 4 5 0">
          <fill>
            <SolidColor/>
          </fill>
        </Path>
      </Group>
    </Group>
  </Group>
</Graphic>