"""A manipulation and optimization library for Scalable Vector Graphics (SVG).

This package provides a set of tools for parsing, manipulating, and serializing
SVG files. It allows you to create, modify, and optimize SVG graphics in a
Pythonic way.

The package has a flat import structure, so you can import any symbol directly
by using the following syntax:
```
from svglab import <symbol>
```

Some stuff to get you started:
- use `parse_svg` to parse an SVG string or file into an `Svg` object,
- use `Svg` directly to create a new SVG document from scratch,
- use `.find()` and `.find_all()` to search for elements in the SVG tree,
- use `.to_xml()` to serialize an SVG element to a string,
- use `.save()` to serialize an SVG document and write it to a file,
- use `Formatter` and `set_formatter()` to customize the serialization of SVG
elements.

Example usage:
```
>>> from svglab import parse_svg, Circle, Rect, Length, Rotate
>>> svg = parse_svg("<svg><circle cx='50' cy='50' r='40'/></svg>")
>>> circle = svg.find(Circle)
>>> circle.cx
Length(value=50.0, unit=None)
>>> _ = svg.add_child(
...    Rect(width=Length(100), height=Length(100), transform=[Rotate(45)])
... )
>>> print(svg.to_xml())
<svg>
  <circle cx="50" cy="50" r="40"/>
  <rect height="100" transform="rotate(45)" width="100"/>
</svg>

```
"""

from importlib import metadata as __metadata

import affine as __affine
from typing_extensions import Final as __Final

from svglab import constants as __constants
from svglab.attrparse.angle import Angle, AngleUnit
from svglab.attrparse.color import Color
from svglab.attrparse.iri import FuncIri, Iri
from svglab.attrparse.length import Length
from svglab.attrparse.path_data import (
    ArcTo,
    ClosePath,
    CubicBezierTo,
    HorizontalLineTo,
    LineTo,
    MoveTo,
    PathCommand,
    PathData,
    QuadraticBezierTo,
    SmoothCubicBezierTo,
    SmoothQuadraticBezierTo,
    VerticalLineTo,
)
from svglab.attrparse.point import Point
from svglab.attrparse.points import Points
from svglab.attrparse.transform import (
    Matrix,
    Reifiable,
    Rotate,
    Scale,
    SkewX,
    SkewY,
    Transform,
    TransformFunction,
    Translate,
    compose,
)
from svglab.attrs.attrdefs import (
    AccentHeightAttr,
    AccumulateAttr,
    AdditiveAttr,
    AlignmentBaselineAttr,
    AlphabeticAttr,
    AmplitudeAttr,
    ArabicFormAttr,
    AscentAttr,
    AttributeNameAttr,
    AttributeTypeAttr,
    AzimuthAttr,
    BaseFrequencyAttr,
    BaselineShiftAttr,
    BaseProfileAttr,
    BboxAttr,
    BeginAttr,
    BiasAttr,
    ByAttr,
    CalcModeAttr,
    CapHeightAttr,
    ClassAttr,
    ClipAttr,
    ClipPathAttr,
    ClipPathUnitsAttr,
    ClipRuleAttr,
    ColorAttr,
    ColorInterpolationAttr,
    ColorInterpolationFiltersAttr,
    ColorProfileAttr,
    ColorRenderingAttr,
    ContentScriptTypeAttr,
    ContentStyleTypeAttr,
    CursorAttr,
    CxAttr,
    CyAttr,
    DAttr,
    DescentAttr,
    DiffuseConstantAttr,
    DirectionAttr,
    DisplayAttr,
    DivisorAttr,
    DominantBaselineAttr,
    DurAttr,
    DxListOfLengthsAttr,
    DxNumberAttr,
    DyListOfLengthsAttr,
    DyNumberAttr,
    EdgeModeAttr,
    ElevationAttr,
    EnableBackgroundAttr,
    EndAttr,
    ExponentAttr,
    ExternalResourcesRequiredAttr,
    FillAttr,
    FillOpacityAttr,
    FillRuleAttr,
    FilterAttr,
    FilterResAttr,
    FilterUnitsAttr,
    FloodColorAttr,
    FloodOpacityAttr,
    FontFamilyAttr,
    FontSizeAdjustAttr,
    FontSizeAttr,
    FontStretchAttr,
    FontStyleAttr,
    FontVariantAttr,
    FontWeightAttr,
    FormatAttr,
    FrAttr,
    FromAttr,
    FxAttr,
    FyAttr,
    G1Attr,
    G2Attr,
    GlyphNameAttr,
    GlyphOrientationHorizontalAttr,
    GlyphOrientationVerticalAttr,
    GlyphRefAttr,
    GradientTransformAttr,
    GradientUnitsAttr,
    HangingAttr,
    HeightAttr,
    HorizAdvXAttr,
    HorizOriginXAttr,
    HorizOriginYAttr,
    HrefAttr,
    IdAttr,
    IdeographicAttr,
    ImageRenderingAttr,
    In2Attr,
    InAttr,
    InterceptAttr,
    K1Attr,
    K2Attr,
    K3Attr,
    K4Attr,
    KAttr,
    KernelMatrixAttr,
    KernelUnitLengthAttr,
    KerningAttr,
    KeyPointsAttr,
    KeySplinesAttr,
    KeyTimesAttr,
    LangAttr,
    LangGlyphAttr,
    LengthAdjustAttr,
    LetterSpacingAttr,
    LightingColorAttr,
    LimitingConeAngleAttr,
    LocalAttr,
    MarkerEndAttr,
    MarkerHeightAttr,
    MarkerMidAttr,
    MarkerStartAttr,
    MarkerUnitsAttr,
    MarkerWidthAttr,
    MaskAttr,
    MaskContentUnitsAttr,
    MaskUnitsAttr,
    MathematicalAttr,
    MaxAttr,
    MediaAttr,
    MethodAttr,
    MinAttr,
    ModeAttr,
    NameAnythingAttr,
    NameNameAttr,
    NumOctavesAttr,
    OffsetNumberAttr,
    OffsetNumberPercentageAttr,
    OnAbortAttr,
    OnActivateAttr,
    OnBeginAttr,
    OnClickAttr,
    OnEndAttr,
    OnErrorAttr,
    OnFocusInAttr,
    OnFocusOutAttr,
    OnLoadAttr,
    OnMouseDownAttr,
    OnMouseMoveAttr,
    OnMouseOutAttr,
    OnMouseOverAttr,
    OnMouseUpAttr,
    OnRepeatAttr,
    OnResizeAttr,
    OnScrollAttr,
    OnUnloadAttr,
    OnZoomAttr,
    OpacityAttr,
    OperatorFeCompositeAttr,
    OperatorFeMorphologyAttr,
    OrderAttr,
    OrientationAttr,
    OrientAttr,
    OriginAttr,
    OverflowAttr,
    OverlinePositionAttr,
    OverlineThicknessAttr,
    PaintOrderAttr,
    Panose1Attr,
    PathAttr,
    PathLengthAttr,
    PatternContentUnitsAttr,
    PatternTransformAttr,
    PatternUnitsAttr,
    PointerEventsAttr,
    PointsAttr,
    PointsAtXAttr,
    PointsAtYAttr,
    PointsAtZAttr,
    PreserveAlphaAttr,
    PreserveAspectRatioAttr,
    PrimitiveUnitsAttr,
    RadiusAttr,
    RAttr,
    RefXAttr,
    RefYAttr,
    RenderingIntentAttr,
    RepeatCountAttr,
    RepeatDurAttr,
    RequiredExtensionsAttr,
    RequiredFeaturesAttr,
    RestartAttr,
    ResultAttr,
    RotateListOfNumbersAttr,
    RotateNumberAutoAutoReverseAttr,
    RxAttr,
    RyAttr,
    ScaleAttr,
    SeedAttr,
    ShapeRenderingAttr,
    SlopeAttr,
    SpacingAttr,
    SpecularConstantAttr,
    SpecularExponentAttr,
    SpreadMethodAttr,
    StartOffsetAttr,
    StdDeviationAttr,
    StemhAttr,
    StemvAttr,
    StitchTilesAttr,
    StopColorAttr,
    StopOpacityAttr,
    StrikethroughPositionAttr,
    StrikethroughThicknessAttr,
    StringAttr,
    StrokeAttr,
    StrokeDasharrayAttr,
    StrokeDashoffsetAttr,
    StrokeLinecapAttr,
    StrokeLinejoinAttr,
    StrokeMiterlimitAttr,
    StrokeOpacityAttr,
    StrokeWidthAttr,
    StyleAttr,
    SurfaceScaleAttr,
    SystemLanguageAttr,
    TableValuesAttr,
    TargetAttr,
    TargetXAttr,
    TargetYAttr,
    TextAlignAllAttr,
    TextAlignAttr,
    TextAlignLastAttr,
    TextAnchorAttr,
    TextDecorationAttr,
    TextIndentAttr,
    TextLengthAttr,
    TextRenderingAttr,
    TitleAttr,
    ToAttr,
    TransformAttr,
    TransformOriginAttr,
    TypeAnimateTransformAttr,
    TypeContentTypeAttr,
    TypeFeColorMatrixAttr,
    TypeFeFuncAttr,
    TypeFeTurbluenceAttr,
    U1Attr,
    U2Attr,
    UnderlinePositionAttr,
    UnderlineThicknessAttr,
    UnicodeAttr,
    UnicodeBidiAttr,
    UnicodeRangeAttr,
    UnitsPerEmAttr,
    VAlphabeticAttr,
    ValuesListAttr,
    ValuesListOfNumbersAttr,
    VectorEffectAttr,
    VersionAttr,
    VertAdvYAttr,
    VertOriginXAttr,
    VertOriginYAttr,
    VHangingAttr,
    VIdeographicAttr,
    ViewBoxAttr,
    ViewTargetAttr,
    VisibilityAttr,
    VMathematicalAttr,
    WhiteSpaceAttr,
    WidthAttr,
    WidthsAttr,
    WordSpacingAttr,
    WritingModeAttr,
    X1Attr,
    X2Attr,
    XChannelSelectorAttr,
    XCoordinateAttr,
    XHeightAttr,
    XlinkActuateOnLoadAttr,
    XlinkActuateOnRequestAttr,
    XlinkArcroleAttr,
    XlinkHrefAttr,
    XlinkRoleAttr,
    XlinkShowAttr,
    XlinkTitleAttr,
    XlinkTypeAttr,
    XListOfCoordinatesAttr,
    XmlBaseAttr,
    XmlLangAttr,
    XmlnsAttr,
    XmlSpaceAttr,
    XNumberAttr,
    Y1Attr,
    Y2Attr,
    YChannelSelectorAttr,
    YCoordinateAttr,
    YListOfCoordinatesAttr,
    YNumberAttr,
    ZAttr,
    ZoomAndPanAttr,
)
from svglab.elements.elements import (
    A,
    AltGlyph,
    AltGlyphDef,
    AltGlyphItem,
    Animate,
    AnimateColor,
    AnimateMotion,
    AnimateTransform,
    Circle,
    ClipPath,
    ColorProfile,
    Cursor,
    Defs,
    Desc,
    Ellipse,
    FeBlend,
    FeColorMatrix,
    FeComponentTransfer,
    FeComposite,
    FeConvolveMatrix,
    FeDiffuseLighting,
    FeDisplacementMap,
    FeDistantLight,
    FeFlood,
    FeFuncA,
    FeFuncB,
    FeFuncG,
    FeFuncR,
    FeGaussianBlur,
    FeImage,
    FeMerge,
    FeMergeNode,
    FeMorphology,
    FeOffset,
    FePointLight,
    FeSpecularLighting,
    FeSpotLight,
    FeTile,
    FeTurbulence,
    Filter,
    Font,
    FontFace,
    FontFaceFormat,
    FontFaceName,
    FontFaceSrc,
    FontFaceUri,
    ForeignObject,
    G,
    Glyph,
    GlyphRef,
    Hkern,
    Image,
    Line,
    LinearGradient,
    Marker,
    Mask,
    Metadata,
    MissingGlyph,
    Mpath,
    Path,
    Pattern,
    Polygon,
    Polyline,
    RadialGradient,
    Rect,
    Script,
    Set,
    Stop,
    Style,
    Svg,
    Switch,
    Symbol,
    Text,
    TextPath,
    Title,
    Tref,
    Tspan,
    Use,
    View,
    Vkern,
)
from svglab.elements.traits import (
    BasicShape,
    ContainerElement,
    DescriptiveElement,
    FilterPrimitiveElement,
    GradientElement,
    GraphicsElement,
    GraphicsReferencingElement,
    LightSourceElement,
    Shape,
    StructuralElement,
    TextContentBlockElement,
    TextContentChildElement,
    TextContentElement,
)
from svglab.entities import (
    CData,
    CharacterData,
    Comment,
    Element,
    Entity,
    RawText,
    UnknownElement,
    swap_transforms,
)
from svglab.errors import (
    SvgElementNotFoundError,
    SvgError,
    SvgPathError,
    SvgPathMissingMoveToError,
    SvgTransformSwapError,
    SvgUnitConversionError,
)
from svglab.parse import parse_svg
from svglab.serialize import (
    DEFAULT_FORMATTER,
    MINIMAL_FORMATTER,
    FloatPrecisionSettings,
    Formatter,
    get_current_formatter,
    set_formatter,
)
from svglab.utiltypes import LengthUnit


__all__: __Final = [
    "DEFAULT_FORMATTER",
    "MINIMAL_FORMATTER",
    "A",
    "AccentHeightAttr",
    "AccumulateAttr",
    "AdditiveAttr",
    "AlignmentBaselineAttr",
    "AlphabeticAttr",
    "AltGlyph",
    "AltGlyphDef",
    "AltGlyphItem",
    "AmplitudeAttr",
    "Angle",
    "AngleUnit",
    "Animate",
    "AnimateColor",
    "AnimateMotion",
    "AnimateTransform",
    "ArabicFormAttr",
    "ArcTo",
    "AscentAttr",
    "AttributeNameAttr",
    "AttributeTypeAttr",
    "AzimuthAttr",
    "BaseFrequencyAttr",
    "BaseProfileAttr",
    "BaselineShiftAttr",
    "BasicShape",
    "BboxAttr",
    "BeginAttr",
    "BiasAttr",
    "ByAttr",
    "CData",
    "CalcModeAttr",
    "CapHeightAttr",
    "CharacterData",
    "Circle",
    "ClassAttr",
    "ClipAttr",
    "ClipPath",
    "ClipPathAttr",
    "ClipPathUnitsAttr",
    "ClipRuleAttr",
    "ClosePath",
    "Color",
    "ColorAttr",
    "ColorInterpolationAttr",
    "ColorInterpolationFiltersAttr",
    "ColorProfile",
    "ColorProfileAttr",
    "ColorRenderingAttr",
    "Comment",
    "ContainerElement",
    "ContentScriptTypeAttr",
    "ContentStyleTypeAttr",
    "CubicBezierTo",
    "Cursor",
    "CursorAttr",
    "CxAttr",
    "CyAttr",
    "DAttr",
    "Defs",
    "Desc",
    "DescentAttr",
    "DescriptiveElement",
    "DiffuseConstantAttr",
    "DirectionAttr",
    "DisplayAttr",
    "DivisorAttr",
    "DominantBaselineAttr",
    "DurAttr",
    "DxListOfLengthsAttr",
    "DxNumberAttr",
    "DyListOfLengthsAttr",
    "DyNumberAttr",
    "EdgeModeAttr",
    "Element",
    "ElevationAttr",
    "Ellipse",
    "EnableBackgroundAttr",
    "EndAttr",
    "Entity",
    "ExponentAttr",
    "ExternalResourcesRequiredAttr",
    "FeBlend",
    "FeColorMatrix",
    "FeComponentTransfer",
    "FeComposite",
    "FeConvolveMatrix",
    "FeDiffuseLighting",
    "FeDisplacementMap",
    "FeDistantLight",
    "FeFlood",
    "FeFuncA",
    "FeFuncB",
    "FeFuncG",
    "FeFuncR",
    "FeGaussianBlur",
    "FeImage",
    "FeMerge",
    "FeMergeNode",
    "FeMorphology",
    "FeOffset",
    "FePointLight",
    "FeSpecularLighting",
    "FeSpotLight",
    "FeTile",
    "FeTurbulence",
    "FillAttr",
    "FillOpacityAttr",
    "FillRuleAttr",
    "Filter",
    "FilterAttr",
    "FilterPrimitiveElement",
    "FilterResAttr",
    "FilterUnitsAttr",
    "FloatPrecisionSettings",
    "FloodColorAttr",
    "FloodOpacityAttr",
    "Font",
    "FontFace",
    "FontFaceFormat",
    "FontFaceName",
    "FontFaceSrc",
    "FontFaceUri",
    "FontFamilyAttr",
    "FontSizeAdjustAttr",
    "FontSizeAttr",
    "FontStretchAttr",
    "FontStyleAttr",
    "FontVariantAttr",
    "FontWeightAttr",
    "ForeignObject",
    "FormatAttr",
    "Formatter",
    "FrAttr",
    "FromAttr",
    "FuncIri",
    "FxAttr",
    "FyAttr",
    "G",
    "G1Attr",
    "G2Attr",
    "Glyph",
    "GlyphNameAttr",
    "GlyphOrientationHorizontalAttr",
    "GlyphOrientationVerticalAttr",
    "GlyphRef",
    "GlyphRefAttr",
    "GradientElement",
    "GradientTransformAttr",
    "GradientUnitsAttr",
    "GraphicsElement",
    "GraphicsReferencingElement",
    "HangingAttr",
    "HeightAttr",
    "Hkern",
    "HorizAdvXAttr",
    "HorizOriginXAttr",
    "HorizOriginYAttr",
    "HorizontalLineTo",
    "HrefAttr",
    "IdAttr",
    "IdeographicAttr",
    "Image",
    "ImageRenderingAttr",
    "In2Attr",
    "InAttr",
    "InterceptAttr",
    "Iri",
    "K1Attr",
    "K2Attr",
    "K3Attr",
    "K4Attr",
    "KAttr",
    "KernelMatrixAttr",
    "KernelUnitLengthAttr",
    "KerningAttr",
    "KeyPointsAttr",
    "KeySplinesAttr",
    "KeyTimesAttr",
    "LangAttr",
    "LangGlyphAttr",
    "Length",
    "LengthAdjustAttr",
    "LengthUnit",
    "LetterSpacingAttr",
    "LightSourceElement",
    "LightingColorAttr",
    "LimitingConeAngleAttr",
    "Line",
    "LineTo",
    "LinearGradient",
    "LocalAttr",
    "Marker",
    "MarkerEndAttr",
    "MarkerHeightAttr",
    "MarkerMidAttr",
    "MarkerStartAttr",
    "MarkerUnitsAttr",
    "MarkerWidthAttr",
    "Mask",
    "MaskAttr",
    "MaskContentUnitsAttr",
    "MaskUnitsAttr",
    "MathematicalAttr",
    "Matrix",
    "MaxAttr",
    "MediaAttr",
    "Metadata",
    "MethodAttr",
    "MinAttr",
    "MissingGlyph",
    "ModeAttr",
    "MoveTo",
    "Mpath",
    "NameAnythingAttr",
    "NameNameAttr",
    "NumOctavesAttr",
    "OffsetNumberAttr",
    "OffsetNumberPercentageAttr",
    "OnAbortAttr",
    "OnActivateAttr",
    "OnBeginAttr",
    "OnClickAttr",
    "OnEndAttr",
    "OnErrorAttr",
    "OnFocusInAttr",
    "OnFocusOutAttr",
    "OnLoadAttr",
    "OnMouseDownAttr",
    "OnMouseMoveAttr",
    "OnMouseOutAttr",
    "OnMouseOverAttr",
    "OnMouseUpAttr",
    "OnRepeatAttr",
    "OnResizeAttr",
    "OnScrollAttr",
    "OnUnloadAttr",
    "OnZoomAttr",
    "OpacityAttr",
    "OperatorFeCompositeAttr",
    "OperatorFeMorphologyAttr",
    "OrderAttr",
    "OrientAttr",
    "OrientationAttr",
    "OriginAttr",
    "OverflowAttr",
    "OverlinePositionAttr",
    "OverlineThicknessAttr",
    "PaintOrderAttr",
    "Panose1Attr",
    "Path",
    "PathAttr",
    "PathCommand",
    "PathData",
    "PathLengthAttr",
    "Pattern",
    "PatternContentUnitsAttr",
    "PatternTransformAttr",
    "PatternUnitsAttr",
    "Point",
    "PointerEventsAttr",
    "Points",
    "PointsAtXAttr",
    "PointsAtYAttr",
    "PointsAtZAttr",
    "PointsAttr",
    "Polygon",
    "Polyline",
    "PreserveAlphaAttr",
    "PreserveAspectRatioAttr",
    "PrimitiveUnitsAttr",
    "QuadraticBezierTo",
    "RAttr",
    "RadialGradient",
    "RadiusAttr",
    "RawText",
    "Rect",
    "RefXAttr",
    "RefYAttr",
    "Reifiable",
    "RenderingIntentAttr",
    "RepeatCountAttr",
    "RepeatDurAttr",
    "RequiredExtensionsAttr",
    "RequiredFeaturesAttr",
    "RestartAttr",
    "ResultAttr",
    "Rotate",
    "RotateListOfNumbersAttr",
    "RotateNumberAutoAutoReverseAttr",
    "RxAttr",
    "RyAttr",
    "Scale",
    "ScaleAttr",
    "Script",
    "SeedAttr",
    "Set",
    "Shape",
    "ShapeRenderingAttr",
    "SkewX",
    "SkewY",
    "SlopeAttr",
    "SmoothCubicBezierTo",
    "SmoothQuadraticBezierTo",
    "SpacingAttr",
    "SpecularConstantAttr",
    "SpecularExponentAttr",
    "SpreadMethodAttr",
    "StartOffsetAttr",
    "StdDeviationAttr",
    "StemhAttr",
    "StemvAttr",
    "StitchTilesAttr",
    "Stop",
    "StopColorAttr",
    "StopOpacityAttr",
    "StrikethroughPositionAttr",
    "StrikethroughThicknessAttr",
    "StringAttr",
    "StrokeAttr",
    "StrokeDasharrayAttr",
    "StrokeDashoffsetAttr",
    "StrokeLinecapAttr",
    "StrokeLinejoinAttr",
    "StrokeMiterlimitAttr",
    "StrokeOpacityAttr",
    "StrokeWidthAttr",
    "StructuralElement",
    "Style",
    "StyleAttr",
    "SurfaceScaleAttr",
    "Svg",
    "SvgElementNotFoundError",
    "SvgError",
    "SvgPathError",
    "SvgPathMissingMoveToError",
    "SvgTransformSwapError",
    "SvgUnitConversionError",
    "Switch",
    "Symbol",
    "SystemLanguageAttr",
    "TableValuesAttr",
    "TargetAttr",
    "TargetXAttr",
    "TargetYAttr",
    "Text",
    "TextAlignAllAttr",
    "TextAlignAttr",
    "TextAlignLastAttr",
    "TextAnchorAttr",
    "TextContentBlockElement",
    "TextContentChildElement",
    "TextContentElement",
    "TextDecorationAttr",
    "TextIndentAttr",
    "TextLengthAttr",
    "TextPath",
    "TextRenderingAttr",
    "Title",
    "TitleAttr",
    "ToAttr",
    "Transform",
    "TransformAttr",
    "TransformFunction",
    "TransformOriginAttr",
    "Translate",
    "Tref",
    "Tspan",
    "TypeAnimateTransformAttr",
    "TypeContentTypeAttr",
    "TypeFeColorMatrixAttr",
    "TypeFeFuncAttr",
    "TypeFeTurbluenceAttr",
    "U1Attr",
    "U2Attr",
    "UnderlinePositionAttr",
    "UnderlineThicknessAttr",
    "UnicodeAttr",
    "UnicodeBidiAttr",
    "UnicodeRangeAttr",
    "UnitsPerEmAttr",
    "UnknownElement",
    "Use",
    "VAlphabeticAttr",
    "VHangingAttr",
    "VIdeographicAttr",
    "VMathematicalAttr",
    "ValuesListAttr",
    "ValuesListOfNumbersAttr",
    "VectorEffectAttr",
    "VersionAttr",
    "VertAdvYAttr",
    "VertOriginXAttr",
    "VertOriginYAttr",
    "VerticalLineTo",
    "View",
    "ViewBoxAttr",
    "ViewTargetAttr",
    "VisibilityAttr",
    "Vkern",
    "WhiteSpaceAttr",
    "WidthAttr",
    "WidthsAttr",
    "WordSpacingAttr",
    "WritingModeAttr",
    "X1Attr",
    "X2Attr",
    "XChannelSelectorAttr",
    "XCoordinateAttr",
    "XHeightAttr",
    "XListOfCoordinatesAttr",
    "XNumberAttr",
    "XlinkActuateOnLoadAttr",
    "XlinkActuateOnRequestAttr",
    "XlinkArcroleAttr",
    "XlinkHrefAttr",
    "XlinkRoleAttr",
    "XlinkShowAttr",
    "XlinkTitleAttr",
    "XlinkTypeAttr",
    "XmlBaseAttr",
    "XmlLangAttr",
    "XmlSpaceAttr",
    "XmlnsAttr",
    "Y1Attr",
    "Y2Attr",
    "YChannelSelectorAttr",
    "YCoordinateAttr",
    "YListOfCoordinatesAttr",
    "YNumberAttr",
    "ZAttr",
    "ZoomAndPanAttr",
    "compose",
    "get_current_formatter",
    "parse_svg",
    "set_formatter",
    "swap_transforms",
]


__affine.set_epsilon(__constants.FLOAT_ABSOLUTE_TOLERANCE)

__version__: __Final = __metadata.version(__name__)
