<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -28,7 +28,7 @@ namespace KWin
 
 class Client;
 
-class Bridge : public KDecorationBridge2
+class Bridge : public KDecorationBridgeUnstable
     {
     public:
         Bridge( Client* cl );</diff>
      <filename>bridge.h</filename>
    </modified>
    <modified>
      <diff>@@ -797,28 +797,28 @@ inline bool Client::hiddenPreview() const
 
 inline QList&lt;QRect&gt; Client::shadowQuads( ShadowType type ) const
     {
-    if( KDecoration2* decoration2 = dynamic_cast&lt; KDecoration2* &gt;( decoration ))
+    if( KDecorationUnstable* decoration2 = dynamic_cast&lt; KDecorationUnstable* &gt;( decoration ))
         return decoration2-&gt;shadowQuads( type );
     return QList&lt;QRect&gt;();
     }
 
 inline double Client::shadowOpacity( ShadowType type, double dataOpacity ) const
     {
-    if( KDecoration2* decoration2 = dynamic_cast&lt; KDecoration2* &gt;( decoration ))
+    if( KDecorationUnstable* decoration2 = dynamic_cast&lt; KDecorationUnstable* &gt;( decoration ))
         return decoration2-&gt;shadowOpacity( type, dataOpacity );
     return dataOpacity;
     }
 
 inline double Client::shadowBrightness( ShadowType type ) const
     {
-    if( KDecoration2* decoration2 = dynamic_cast&lt; KDecoration2* &gt;( decoration ))
+    if( KDecorationUnstable* decoration2 = dynamic_cast&lt; KDecorationUnstable* &gt;( decoration ))
         return decoration2-&gt;shadowBrightness( type );
     return 1.0;
     }
 
 inline double Client::shadowSaturation( ShadowType type ) const
     {
-    if( KDecoration2* decoration2 = dynamic_cast&lt; KDecoration2* &gt;( decoration ))
+    if( KDecorationUnstable* decoration2 = dynamic_cast&lt; KDecorationUnstable* &gt;( decoration ))
         return decoration2-&gt;shadowSaturation( type );
     return 1.0;
     }</diff>
      <filename>client.h</filename>
    </modified>
    <modified>
      <diff>@@ -53,7 +53,7 @@ enum ButtonType {
 };
 Q_DECLARE_FLAGS(ButtonTypes, ButtonType)
 
-class OxygenFactory: public KDecorationFactory2
+class OxygenFactory: public KDecorationFactoryUnstable
 {
 public:
     OxygenFactory();</diff>
      <filename>clients/oxygen/oxygen.h</filename>
    </modified>
    <modified>
      <diff>@@ -70,7 +70,7 @@ void renderDot(QPainter *p, const QPointF &amp;point, qreal diameter)
 
 
 OxygenClient::OxygenClient(KDecorationBridge *b, KDecorationFactory *f)
-    : KCommonDecoration2(b, f)
+    : KCommonDecorationUnstable(b, f)
     , colorCacheInvalid_(true)
     , helper_(*globalHelper)
 {</diff>
      <filename>clients/oxygen/oxygenclient.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -37,7 +37,7 @@ class QPoint;
 
 namespace Oxygen {
 
-class OxygenClient : public KCommonDecoration2
+class OxygenClient : public KCommonDecorationUnstable
 {
     Q_OBJECT
 public:</diff>
      <filename>clients/oxygen/oxygenclient.h</filename>
    </modified>
    <modified>
      <diff>@@ -55,7 +55,7 @@ enum ButtonType {
 };
 Q_DECLARE_FLAGS(ButtonTypes, ButtonType)
 
-class OxygenFactory: public KDecorationFactory2
+class OxygenFactory: public KDecorationFactoryUnstable
 {
 public:
     OxygenFactory();</diff>
      <filename>clients/ozone/oxygen.h</filename>
    </modified>
    <modified>
      <diff>@@ -72,7 +72,7 @@ void renderDot(QPainter *p, const QPointF &amp;point, qreal diameter)
 
 
 OxygenClient::OxygenClient(KDecorationBridge *b, KDecorationFactory *f)
-    : KCommonDecoration2(b, f)
+    : KCommonDecorationUnstable(b, f)
     , colorCacheInvalid_(true)
     , helper_(*globalHelper)
 {</diff>
      <filename>clients/ozone/oxygenclient.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -39,7 +39,7 @@ namespace Ozone
 {
 namespace Oxygen {
 
-class OxygenClient : public KCommonDecoration2
+class OxygenClient : public KCommonDecorationUnstable
 {
     Q_OBJECT
 public:</diff>
      <filename>clients/ozone/oxygenclient.h</filename>
    </modified>
    <modified>
      <diff>@@ -66,7 +66,7 @@ class KDecorationPreview
     };
 
 class KDecorationPreviewBridge
-    : public KDecorationBridge2
+    : public KDecorationBridgeUnstable
     {
     public:
         KDecorationPreviewBridge( KDecorationPreview* preview, bool active );</diff>
      <filename>kcmkwin/kwindecoration/preview.h</filename>
    </modified>
    <modified>
      <diff>@@ -1222,23 +1222,23 @@ KDecoration* KCommonDecoration::decoration()
 }
 
 
-KCommonDecoration2::KCommonDecoration2(KDecorationBridge* bridge, KDecorationFactory* factory)
+KCommonDecorationUnstable::KCommonDecorationUnstable(KDecorationBridge* bridge, KDecorationFactory* factory)
     : KCommonDecoration( bridge, factory )
     {
-    Q_ASSERT( dynamic_cast&lt;const KDecoration2*&gt;( decoration() ));
+    Q_ASSERT( dynamic_cast&lt;const KDecorationUnstable*&gt;( decoration() ));
     }
 
-KCommonDecoration2::~KCommonDecoration2()
+KCommonDecorationUnstable::~KCommonDecorationUnstable()
     {
     }
 
 // All copied from kdecoration.cpp
-QList&lt;QRect&gt; KCommonDecoration2::shadowQuads( ShadowType type ) const
+QList&lt;QRect&gt; KCommonDecorationUnstable::shadowQuads( ShadowType type ) const
     {
     Q_UNUSED( type );
     return QList&lt;QRect&gt;();
     }
-double KCommonDecoration2::shadowOpacity( ShadowType type, double dataOpacity ) const
+double KCommonDecorationUnstable::shadowOpacity( ShadowType type, double dataOpacity ) const
     {
     if( isActive() &amp;&amp; type == ShadowBorderedActive )
         return dataOpacity;
@@ -1246,32 +1246,32 @@ double KCommonDecoration2::shadowOpacity( ShadowType type, double dataOpacity )
         return dataOpacity;
     return 0.0;
     }
-double KCommonDecoration2::shadowBrightness( ShadowType type ) const
+double KCommonDecorationUnstable::shadowBrightness( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;
     }
-double KCommonDecoration2::shadowSaturation( ShadowType type ) const
+double KCommonDecorationUnstable::shadowSaturation( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;
     }
 
-void KCommonDecoration2::repaintShadow()
+void KCommonDecorationUnstable::repaintShadow()
     {
-    return static_cast&lt;const KDecoration2*&gt;( decoration() )-&gt;repaintShadow();
+    return static_cast&lt;const KDecorationUnstable*&gt;( decoration() )-&gt;repaintShadow();
     }
-bool KCommonDecoration2::compositingActive() const
+bool KCommonDecorationUnstable::compositingActive() const
     {
-    return static_cast&lt;const KDecoration2*&gt;( decoration() )-&gt;compositingActive();
+    return static_cast&lt;const KDecorationUnstable*&gt;( decoration() )-&gt;compositingActive();
     }
-bool KCommonDecoration2::shadowsActive() const
+bool KCommonDecorationUnstable::shadowsActive() const
     {
-    return static_cast&lt;const KDecoration2*&gt;( decoration() )-&gt;shadowsActive();
+    return static_cast&lt;const KDecorationUnstable*&gt;( decoration() )-&gt;shadowsActive();
     }
-double KCommonDecoration2::opacity() const
+double KCommonDecorationUnstable::opacity() const
     {
-    return static_cast&lt;const KDecoration2*&gt;( decoration() )-&gt;opacity();
+    return static_cast&lt;const KDecorationUnstable*&gt;( decoration() )-&gt;opacity();
     }
 
 // kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle;</diff>
      <filename>lib/kcommondecoration.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -362,13 +362,13 @@ class KWIN_EXPORT KCommonDecoration : public QObject, public KDecorationDefines
         KCommonDecorationPrivate *d;
 };
 
-class KWIN_EXPORT KCommonDecoration2
+class KWIN_EXPORT KCommonDecorationUnstable
     : public KCommonDecoration
     {
     Q_OBJECT
     public:
-        KCommonDecoration2(KDecorationBridge* bridge, KDecorationFactory* factory);
-        virtual ~KCommonDecoration2();
+        KCommonDecorationUnstable(KDecorationBridge* bridge, KDecorationFactory* factory);
+        virtual ~KCommonDecorationUnstable();
         virtual QList&lt;QRect&gt; shadowQuads( ShadowType type ) const;
         virtual double shadowOpacity( ShadowType type, double dataOpacity ) const;
         virtual double shadowBrightness( ShadowType type ) const;</diff>
      <filename>lib/kcommondecoration.h</filename>
    </modified>
    <modified>
      <diff>@@ -32,7 +32,7 @@
 #include &quot;kcommondecoration_p.moc&quot;
 
 KCommonDecorationWrapper::KCommonDecorationWrapper( KCommonDecoration* deco, KDecorationBridge* bridge, KDecorationFactory* factory )
-    : KDecoration2( bridge, factory )
+    : KDecorationUnstable( bridge, factory )
     , decoration( deco )
     {
     }
@@ -115,28 +115,28 @@ void KCommonDecorationWrapper::reset( unsigned long changed )
 
 QList&lt;QRect&gt; KCommonDecorationWrapper::shadowQuads( ShadowType type ) const
     {
-    if( KCommonDecoration2 *decoration2 = dynamic_cast&lt;KCommonDecoration2*&gt;( decoration ))
+    if( KCommonDecorationUnstable *decoration2 = dynamic_cast&lt;KCommonDecorationUnstable*&gt;( decoration ))
         return decoration2-&gt;shadowQuads( type );
     return QList&lt;QRect&gt;();
     }
 
 double KCommonDecorationWrapper::shadowOpacity( ShadowType type, double dataOpacity ) const
     {
-    if( KCommonDecoration2 *decoration2 = dynamic_cast&lt;KCommonDecoration2*&gt;( decoration ))
+    if( KCommonDecorationUnstable *decoration2 = dynamic_cast&lt;KCommonDecorationUnstable*&gt;( decoration ))
         return decoration2-&gt;shadowOpacity( type, dataOpacity );
     return dataOpacity;
     }
 
 double KCommonDecorationWrapper::shadowBrightness( ShadowType type ) const
     {
-    if( KCommonDecoration2 *decoration2 = dynamic_cast&lt;KCommonDecoration2*&gt;( decoration ))
+    if( KCommonDecorationUnstable *decoration2 = dynamic_cast&lt;KCommonDecorationUnstable*&gt;( decoration ))
         return decoration2-&gt;shadowBrightness( type );
     return 1.0;
     }
 
 double KCommonDecorationWrapper::shadowSaturation( ShadowType type ) const
     {
-    if( KCommonDecoration2 *decoration2 = dynamic_cast&lt;KCommonDecoration2*&gt;( decoration ))
+    if( KCommonDecorationUnstable *decoration2 = dynamic_cast&lt;KCommonDecorationUnstable*&gt;( decoration ))
         return decoration2-&gt;shadowSaturation( type );
     return 1.0;
     }</diff>
      <filename>lib/kcommondecoration_p.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -32,13 +32,13 @@
 // 
 
 class KCommonDecoration;
-class KCommonDecoration2;
+class KCommonDecorationUnstable;
 class KDecorationBridge;
 class KDecorationFactory;
 
 // wrapper all functionality that needs reimplementing in KDecoration and forward it to KCommonDecoration
 class KCommonDecorationWrapper
-    : public KDecoration2
+    : public KDecorationUnstable
     {
     Q_OBJECT
     public:</diff>
      <filename>lib/kcommondecoration_p.h</filename>
    </modified>
    <modified>
      <diff>@@ -383,23 +383,23 @@ KDecoration::Position KDecoration::mousePosition( const QPoint&amp; p ) const
     }
 
 
-KDecoration2::KDecoration2( KDecorationBridge* bridge, KDecorationFactory* factory )
+KDecorationUnstable::KDecorationUnstable( KDecorationBridge* bridge, KDecorationFactory* factory )
     : KDecoration( bridge, factory )
     {
-    Q_ASSERT( dynamic_cast&lt; KDecorationBridge2* &gt;( bridge ));
+    Q_ASSERT( dynamic_cast&lt; KDecorationBridgeUnstable* &gt;( bridge ));
     }
 
-KDecoration2::~KDecoration2()
+KDecorationUnstable::~KDecorationUnstable()
     {
     }
 
-QList&lt;QRect&gt; KDecoration2::shadowQuads( ShadowType type ) const
+QList&lt;QRect&gt; KDecorationUnstable::shadowQuads( ShadowType type ) const
     {
     Q_UNUSED( type );
     return QList&lt;QRect&gt;();
     }
 
-double KDecoration2::shadowOpacity( ShadowType type, double dataOpacity ) const
+double KDecorationUnstable::shadowOpacity( ShadowType type, double dataOpacity ) const
     {
     if( isActive() &amp;&amp; type == ShadowBorderedActive )
         return dataOpacity;
@@ -408,36 +408,36 @@ double KDecoration2::shadowOpacity( ShadowType type, double dataOpacity ) const
     return 0.0;
     }
 
-double KDecoration2::shadowBrightness( ShadowType type ) const
+double KDecorationUnstable::shadowBrightness( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;
     }
 
-double KDecoration2::shadowSaturation( ShadowType type ) const
+double KDecorationUnstable::shadowSaturation( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;
     }
 
-void KDecoration2::repaintShadow()
+void KDecorationUnstable::repaintShadow()
     {
-    static_cast&lt; KDecorationBridge2* &gt;( bridge_ )-&gt;repaintShadow();
+    static_cast&lt; KDecorationBridgeUnstable* &gt;( bridge_ )-&gt;repaintShadow();
     }
 
-bool KDecoration2::compositingActive() const
+bool KDecorationUnstable::compositingActive() const
     {
-    return static_cast&lt; KDecorationBridge2* &gt;( bridge_ )-&gt;compositingActive();
+    return static_cast&lt; KDecorationBridgeUnstable* &gt;( bridge_ )-&gt;compositingActive();
     }
 
-bool KDecoration2::shadowsActive() const
+bool KDecorationUnstable::shadowsActive() const
     {
-    return static_cast&lt; KDecorationBridge2* &gt;( bridge_ )-&gt;shadowsActive();
+    return static_cast&lt; KDecorationBridgeUnstable* &gt;( bridge_ )-&gt;shadowsActive();
     }
 
-double KDecoration2::opacity() const
+double KDecorationUnstable::opacity() const
     {
-    return static_cast&lt; KDecorationBridge2* &gt;( bridge_ )-&gt;opacity();
+    return static_cast&lt; KDecorationBridgeUnstable* &gt;( bridge_ )-&gt;opacity();
     }
 
 </diff>
      <filename>lib/kdecoration.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -859,18 +859,21 @@ class KWIN_EXPORT KDecoration
         QWidget* w_;
         KDecorationFactory* factory_;
         friend class KDecorationOptions; // for options_
-        friend class KDecoration2; // for bridge_
+        friend class KDecorationUnstable; // for bridge_
         static KDecorationOptions* options_;
         KDecorationPrivate* d;
     };
 
-class KWIN_EXPORT KDecoration2
+/**
+ * @warning THIS CLASS IS UNSTABLE AND WILL ONLY BE SUPPORTED IN KDE 4.2!
+ */
+class KWIN_EXPORT KDecorationUnstable
     : public KDecoration
     {
     Q_OBJECT
     public:
-        KDecoration2( KDecorationBridge* bridge, KDecorationFactory* factory );
-        virtual ~KDecoration2();
+        KDecorationUnstable( KDecorationBridge* bridge, KDecorationFactory* factory );
+        virtual ~KDecorationUnstable();
 
         /**
          * This function should return the positions of the shadow quads to be rendered.</diff>
      <filename>lib/kdecoration.h</filename>
    </modified>
    <modified>
      <diff>@@ -89,7 +89,7 @@ class KDecorationBridge : public KDecorationDefines
         virtual void grabXServer( bool grab ) = 0;
     };
 
-class KWIN_EXPORT KDecorationBridge2
+class KWIN_EXPORT KDecorationBridgeUnstable
     : public KDecorationBridge
     {
     public:</diff>
      <filename>lib/kdecorationbridge.h</filename>
    </modified>
    <modified>
      <diff>@@ -79,37 +79,37 @@ NET::WindowType KDecorationFactory::windowType( unsigned long supported_types, K
     return bridge-&gt;windowType( supported_types );
     }
 
-QList&lt; QList&lt;QImage&gt; &gt; KDecorationFactory2::shadowTextures()
+QList&lt; QList&lt;QImage&gt; &gt; KDecorationFactoryUnstable::shadowTextures()
     {
     return QList&lt; QList&lt;QImage&gt; &gt;();
     }
 
-int KDecorationFactory2::shadowTextureList( ShadowType type ) const
+int KDecorationFactoryUnstable::shadowTextureList( ShadowType type ) const
     {
     Q_UNUSED( type );
     return -1;
     }
 
-QList&lt;QRect&gt; KDecorationFactory2::shadowQuads( ShadowType type, QSize size ) const
+QList&lt;QRect&gt; KDecorationFactoryUnstable::shadowQuads( ShadowType type, QSize size ) const
     {
     Q_UNUSED( type );
     Q_UNUSED( size );
     return QList&lt;QRect&gt;();
     }
 
-double KDecorationFactory2::shadowOpacity( ShadowType type, double dataOpacity ) const
+double KDecorationFactoryUnstable::shadowOpacity( ShadowType type, double dataOpacity ) const
     {
     Q_UNUSED( type );
     return dataOpacity;
     }
 
-double KDecorationFactory2::shadowBrightness( ShadowType type ) const
+double KDecorationFactoryUnstable::shadowBrightness( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;
     }
 
-double KDecorationFactory2::shadowSaturation( ShadowType type ) const
+double KDecorationFactoryUnstable::shadowSaturation( ShadowType type ) const
     {
     Q_UNUSED( type );
     return 1.0;</diff>
      <filename>lib/kdecorationfactory.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -115,7 +115,10 @@ class KWIN_EXPORT KDecorationFactory
         KDecorationFactoryPrivate* d;
     };
 
-class KWIN_EXPORT KDecorationFactory2
+/**
+ * @warning THIS CLASS IS UNSTABLE AND WILL ONLY BE SUPPORTED IN KDE 4.2!
+ */
+class KWIN_EXPORT KDecorationFactoryUnstable
     : public KDecorationFactory
     {
     public:</diff>
      <filename>lib/kdecorationfactory.h</filename>
    </modified>
    <modified>
      <diff>@@ -1000,7 +1000,7 @@ bool Workspace::hasDecorationShadows() const
 inline
 QList&lt; QList&lt;QImage&gt; &gt; Workspace::decorationShadowTextures()
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowTextures();
     return QList&lt; QList&lt;QImage&gt; &gt;();
     }
@@ -1008,7 +1008,7 @@ QList&lt; QList&lt;QImage&gt; &gt; Workspace::decorationShadowTextures()
 inline
 int Workspace::decorationShadowTextureList( ShadowType type ) const
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowTextureList( type );
     return -1;
     }
@@ -1016,7 +1016,7 @@ int Workspace::decorationShadowTextureList( ShadowType type ) const
 inline
 QList&lt;QRect&gt; Workspace::decorationShadowQuads( ShadowType type, QSize size ) const
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowQuads( type, size );
     return QList&lt;QRect&gt;();
     }
@@ -1024,7 +1024,7 @@ QList&lt;QRect&gt; Workspace::decorationShadowQuads( ShadowType type, QSize size ) con
 inline
 double Workspace::decorationShadowOpacity( ShadowType type, double dataOpacity ) const
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowOpacity( type, dataOpacity );
     return dataOpacity;
     }
@@ -1032,7 +1032,7 @@ double Workspace::decorationShadowOpacity( ShadowType type, double dataOpacity )
 inline
 double Workspace::decorationShadowBrightness( ShadowType type ) const
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowBrightness( type );
     return 1.0;
     }
@@ -1040,7 +1040,7 @@ double Workspace::decorationShadowBrightness( ShadowType type ) const
 inline
 double Workspace::decorationShadowSaturation( ShadowType type ) const
     {
-    if( KDecorationFactory2* factory = dynamic_cast&lt; KDecorationFactory2* &gt;( mgr-&gt;factory() ))
+    if( KDecorationFactoryUnstable* factory = dynamic_cast&lt; KDecorationFactoryUnstable* &gt;( mgr-&gt;factory() ))
         return factory-&gt;shadowSaturation( type );
     return 1.0;
     }</diff>
      <filename>workspace.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6f7a225f06e0894ebf897cfa6b359195e7ffbe0e</id>
    </parent>
  </parents>
  <author>
    <name>Lucas Murray</name>
    <email>lmurray@undefinedfire.com</email>
  </author>
  <url>http://github.com/Zarin/kwin/commit/859b3b4231926868e4d22e48e738d09c2bfff42a</url>
  <id>859b3b4231926868e4d22e48e738d09c2bfff42a</id>
  <committed-date>2008-10-18T01:10:37-07:00</committed-date>
  <authored-date>2008-10-18T01:10:37-07:00</authored-date>
  <message>Rename the new decoration API and mark it as unstable. Supporting a hacked API is suicide.
Will correctly handle this in KDE 4.3 by using ARGB decorations, even if it's not pretty.

git-svn-id: svn+ssh://svn.kde.org/home/kde/trunk/KDE/kdebase/workspace/kwin@872795 283d02a7-25f6-0310-bc7c-ecb5cbfe19da</message>
  <tree>facdc935a394cd5788d84b2b0fe5041ebb8a2354</tree>
  <committer>
    <name>Lucas Murray</name>
    <email>lmurray@undefinedfire.com</email>
  </committer>
</commit>
