/*
 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
 *
 * This file was generated by the dom/make_names.pl script.
 *
 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "config.h"

#ifdef SKIP_STATIC_CONSTRUCTORS_ON_GCC
#define DOM_MathMLNAMES_HIDE_GLOBALS 1
#else
#define QNAME_DEFAULT_CONSTRUCTOR 1
#endif

#include "MathMLNames.h"

#include <wtf/StaticConstructors.h>
namespace WebCore {

namespace MathMLNames {

using namespace WebCore;

DEFINE_GLOBAL(AtomicString, mathmlNamespaceURI)

static const LChar mrootString8[] = "mroot";
static const LChar openString8[] = "open";
static const LChar mnString8[] = "mn";
static const LChar mathvariantString8[] = "mathvariant";
static const LChar backgroundString8[] = "background";
static const LChar moverString8[] = "mover";
static const LChar mathsizeString8[] = "mathsize";
static const LChar encodingString8[] = "encoding";
static const LChar munderoverString8[] = "munderover";
static const LChar mathcolorString8[] = "mathcolor";
static const LChar separatorsString8[] = "separators";
static const LChar mfencedString8[] = "mfenced";
static const LChar numalignString8[] = "numalign";
static const LChar msString8[] = "ms";
static const LChar fontweightString8[] = "fontweight";
static const LChar widthString8[] = "width";
static const LChar mrowString8[] = "mrow";
static const LChar munderString8[] = "munder";
static const LChar denomalignString8[] = "denomalign";
static const LChar columnspanString8[] = "columnspan";
static const LChar fontfamilyString8[] = "fontfamily";
static const LChar linethicknessString8[] = "linethickness";
static const LChar mathbackgroundString8[] = "mathbackground";
static const LChar mspaceString8[] = "mspace";
static const LChar heightString8[] = "height";
static const LChar msupString8[] = "msup";
static const LChar miString8[] = "mi";
static const LChar alttextString8[] = "alttext";
static const LChar msubsupString8[] = "msubsup";
static const LChar mtableString8[] = "mtable";
static const LChar msqrtString8[] = "msqrt";
static const LChar noneString8[] = "none";
static const LChar mmultiscriptsString8[] = "mmultiscripts";
static const LChar fontsizeString8[] = "fontsize";
static const LChar stretchyString8[] = "stretchy";
static const LChar mprescriptsString8[] = "mprescripts";
static const LChar moString8[] = "mo";
static const LChar mtextString8[] = "mtext";
static const LChar mtdString8[] = "mtd";
static const LChar mfracString8[] = "mfrac";
static const LChar msubString8[] = "msub";
static const LChar annotation_xmlString8[] = "annotation-xml";
static const LChar mathString8[] = "math";
static const LChar fontstyleString8[] = "fontstyle";
static const LChar closeString8[] = "close";
static const LChar depthString8[] = "depth";
static const LChar mglyphString8[] = "mglyph";
static const LChar definitionURLString8[] = "definitionURL";
static const LChar mtrString8[] = "mtr";
static const LChar rowspanString8[] = "rowspan";
static const LChar colorString8[] = "color";
static const LChar malignmarkString8[] = "malignmark";

static StringImpl::StaticASCIILiteral mrootData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mrootString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8188480 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral openData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    openString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13703631 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mnData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    mnString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3612898 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathvariantData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    mathvariantString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9126505 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral backgroundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    backgroundString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8107606 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral moverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    moverString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14480316 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathsizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    mathsizeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6623078 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral encodingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    encodingString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (641915 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral munderoverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    munderoverString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5849942 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathcolorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    mathcolorString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7904383 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral separatorsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    separatorsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11231386 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mfencedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    mfencedString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12259930 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral numalignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    numalignString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8165736 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    msString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5264856 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontweightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    fontweightString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4781093 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral widthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    widthString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12902275 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mrowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    mrowString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8502371 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral munderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    munderString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9958019 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral denomalignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    denomalignString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9559630 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral columnspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    columnspanString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6827651 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontfamilyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    fontfamilyString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6143894 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral linethicknessData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    linethicknessString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7924943 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathbackgroundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    mathbackgroundString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2374557 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mspaceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mspaceString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10653811 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral heightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    heightString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6697833 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    msupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1894901 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral miData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    miString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16514040 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral alttextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    alttextString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14960494 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msubsupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    msubsupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5166195 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mtableString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10007321 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msqrtData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    msqrtString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10123915 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noneData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    noneString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3454253 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mmultiscriptsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    mmultiscriptsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6674650 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontsizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    fontsizeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15308314 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral stretchyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    stretchyString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9937605 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mprescriptsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    mprescriptsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13554220 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral moData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    moString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16096753 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mtextString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16756693 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtdData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    mtdString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5470001 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mfracData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mfracString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13987551 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msubData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    msubString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10093770 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral annotation_xmlData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    annotation_xmlString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3437210 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    mathString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8182406 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontstyleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    fontstyleString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2479154 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral closeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    closeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3222970 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral depthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    depthString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1069503 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mglyphData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mglyphString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3316076 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral definitionURLData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    definitionURLString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5781331 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    mtrString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11260899 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rowspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    rowspanString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13630419 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    colorString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2734929 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral malignmarkData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    malignmarkString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8634190 << StringImpl::StaticASCIILiteral::s_hashShift)
};

static StringImpl* mrootImpl = reinterpret_cast<StringImpl*>(&mrootData);
static StringImpl* openImpl = reinterpret_cast<StringImpl*>(&openData);
static StringImpl* mnImpl = reinterpret_cast<StringImpl*>(&mnData);
static StringImpl* mathvariantImpl = reinterpret_cast<StringImpl*>(&mathvariantData);
static StringImpl* backgroundImpl = reinterpret_cast<StringImpl*>(&backgroundData);
static StringImpl* moverImpl = reinterpret_cast<StringImpl*>(&moverData);
static StringImpl* mathsizeImpl = reinterpret_cast<StringImpl*>(&mathsizeData);
static StringImpl* encodingImpl = reinterpret_cast<StringImpl*>(&encodingData);
static StringImpl* munderoverImpl = reinterpret_cast<StringImpl*>(&munderoverData);
static StringImpl* mathcolorImpl = reinterpret_cast<StringImpl*>(&mathcolorData);
static StringImpl* separatorsImpl = reinterpret_cast<StringImpl*>(&separatorsData);
static StringImpl* mfencedImpl = reinterpret_cast<StringImpl*>(&mfencedData);
static StringImpl* numalignImpl = reinterpret_cast<StringImpl*>(&numalignData);
static StringImpl* msImpl = reinterpret_cast<StringImpl*>(&msData);
static StringImpl* fontweightImpl = reinterpret_cast<StringImpl*>(&fontweightData);
static StringImpl* widthImpl = reinterpret_cast<StringImpl*>(&widthData);
static StringImpl* mrowImpl = reinterpret_cast<StringImpl*>(&mrowData);
static StringImpl* munderImpl = reinterpret_cast<StringImpl*>(&munderData);
static StringImpl* denomalignImpl = reinterpret_cast<StringImpl*>(&denomalignData);
static StringImpl* columnspanImpl = reinterpret_cast<StringImpl*>(&columnspanData);
static StringImpl* fontfamilyImpl = reinterpret_cast<StringImpl*>(&fontfamilyData);
static StringImpl* linethicknessImpl = reinterpret_cast<StringImpl*>(&linethicknessData);
static StringImpl* mathbackgroundImpl = reinterpret_cast<StringImpl*>(&mathbackgroundData);
static StringImpl* mspaceImpl = reinterpret_cast<StringImpl*>(&mspaceData);
static StringImpl* heightImpl = reinterpret_cast<StringImpl*>(&heightData);
static StringImpl* msupImpl = reinterpret_cast<StringImpl*>(&msupData);
static StringImpl* miImpl = reinterpret_cast<StringImpl*>(&miData);
static StringImpl* alttextImpl = reinterpret_cast<StringImpl*>(&alttextData);
static StringImpl* msubsupImpl = reinterpret_cast<StringImpl*>(&msubsupData);
static StringImpl* mtableImpl = reinterpret_cast<StringImpl*>(&mtableData);
static StringImpl* msqrtImpl = reinterpret_cast<StringImpl*>(&msqrtData);
static StringImpl* noneImpl = reinterpret_cast<StringImpl*>(&noneData);
static StringImpl* mmultiscriptsImpl = reinterpret_cast<StringImpl*>(&mmultiscriptsData);
static StringImpl* fontsizeImpl = reinterpret_cast<StringImpl*>(&fontsizeData);
static StringImpl* stretchyImpl = reinterpret_cast<StringImpl*>(&stretchyData);
static StringImpl* mprescriptsImpl = reinterpret_cast<StringImpl*>(&mprescriptsData);
static StringImpl* moImpl = reinterpret_cast<StringImpl*>(&moData);
static StringImpl* mtextImpl = reinterpret_cast<StringImpl*>(&mtextData);
static StringImpl* mtdImpl = reinterpret_cast<StringImpl*>(&mtdData);
static StringImpl* mfracImpl = reinterpret_cast<StringImpl*>(&mfracData);
static StringImpl* msubImpl = reinterpret_cast<StringImpl*>(&msubData);
static StringImpl* annotation_xmlImpl = reinterpret_cast<StringImpl*>(&annotation_xmlData);
static StringImpl* mathImpl = reinterpret_cast<StringImpl*>(&mathData);
static StringImpl* fontstyleImpl = reinterpret_cast<StringImpl*>(&fontstyleData);
static StringImpl* closeImpl = reinterpret_cast<StringImpl*>(&closeData);
static StringImpl* depthImpl = reinterpret_cast<StringImpl*>(&depthData);
static StringImpl* mglyphImpl = reinterpret_cast<StringImpl*>(&mglyphData);
static StringImpl* definitionURLImpl = reinterpret_cast<StringImpl*>(&definitionURLData);
static StringImpl* mtrImpl = reinterpret_cast<StringImpl*>(&mtrData);
static StringImpl* rowspanImpl = reinterpret_cast<StringImpl*>(&rowspanData);
static StringImpl* colorImpl = reinterpret_cast<StringImpl*>(&colorData);
static StringImpl* malignmarkImpl = reinterpret_cast<StringImpl*>(&malignmarkData);

// Tags
DEFINE_GLOBAL(QualifiedName, annotation_xmlTag)
DEFINE_GLOBAL(QualifiedName, malignmarkTag)
DEFINE_GLOBAL(QualifiedName, mathTag)
DEFINE_GLOBAL(QualifiedName, mfencedTag)
DEFINE_GLOBAL(QualifiedName, mfracTag)
DEFINE_GLOBAL(QualifiedName, mglyphTag)
DEFINE_GLOBAL(QualifiedName, miTag)
DEFINE_GLOBAL(QualifiedName, mmultiscriptsTag)
DEFINE_GLOBAL(QualifiedName, mnTag)
DEFINE_GLOBAL(QualifiedName, moTag)
DEFINE_GLOBAL(QualifiedName, moverTag)
DEFINE_GLOBAL(QualifiedName, mprescriptsTag)
DEFINE_GLOBAL(QualifiedName, mrootTag)
DEFINE_GLOBAL(QualifiedName, mrowTag)
DEFINE_GLOBAL(QualifiedName, msTag)
DEFINE_GLOBAL(QualifiedName, mspaceTag)
DEFINE_GLOBAL(QualifiedName, msqrtTag)
DEFINE_GLOBAL(QualifiedName, msubTag)
DEFINE_GLOBAL(QualifiedName, msubsupTag)
DEFINE_GLOBAL(QualifiedName, msupTag)
DEFINE_GLOBAL(QualifiedName, mtableTag)
DEFINE_GLOBAL(QualifiedName, mtdTag)
DEFINE_GLOBAL(QualifiedName, mtextTag)
DEFINE_GLOBAL(QualifiedName, mtrTag)
DEFINE_GLOBAL(QualifiedName, munderTag)
DEFINE_GLOBAL(QualifiedName, munderoverTag)
DEFINE_GLOBAL(QualifiedName, noneTag)


WebCore::QualifiedName** getMathMLTags()
{
    static WebCore::QualifiedName* MathMLTags[] = {
        (WebCore::QualifiedName*)&annotation_xmlTag,
        (WebCore::QualifiedName*)&malignmarkTag,
        (WebCore::QualifiedName*)&mathTag,
        (WebCore::QualifiedName*)&mfencedTag,
        (WebCore::QualifiedName*)&mfracTag,
        (WebCore::QualifiedName*)&mglyphTag,
        (WebCore::QualifiedName*)&miTag,
        (WebCore::QualifiedName*)&mmultiscriptsTag,
        (WebCore::QualifiedName*)&mnTag,
        (WebCore::QualifiedName*)&moTag,
        (WebCore::QualifiedName*)&moverTag,
        (WebCore::QualifiedName*)&mprescriptsTag,
        (WebCore::QualifiedName*)&mrootTag,
        (WebCore::QualifiedName*)&mrowTag,
        (WebCore::QualifiedName*)&msTag,
        (WebCore::QualifiedName*)&mspaceTag,
        (WebCore::QualifiedName*)&msqrtTag,
        (WebCore::QualifiedName*)&msubTag,
        (WebCore::QualifiedName*)&msubsupTag,
        (WebCore::QualifiedName*)&msupTag,
        (WebCore::QualifiedName*)&mtableTag,
        (WebCore::QualifiedName*)&mtdTag,
        (WebCore::QualifiedName*)&mtextTag,
        (WebCore::QualifiedName*)&mtrTag,
        (WebCore::QualifiedName*)&munderTag,
        (WebCore::QualifiedName*)&munderoverTag,
        (WebCore::QualifiedName*)&noneTag,
    };
    return MathMLTags;
}

// Attributes
DEFINE_GLOBAL(QualifiedName, alttextAttr)
DEFINE_GLOBAL(QualifiedName, backgroundAttr)
DEFINE_GLOBAL(QualifiedName, closeAttr)
DEFINE_GLOBAL(QualifiedName, colorAttr)
DEFINE_GLOBAL(QualifiedName, columnspanAttr)
DEFINE_GLOBAL(QualifiedName, definitionURLAttr)
DEFINE_GLOBAL(QualifiedName, denomalignAttr)
DEFINE_GLOBAL(QualifiedName, depthAttr)
DEFINE_GLOBAL(QualifiedName, encodingAttr)
DEFINE_GLOBAL(QualifiedName, fontfamilyAttr)
DEFINE_GLOBAL(QualifiedName, fontsizeAttr)
DEFINE_GLOBAL(QualifiedName, fontstyleAttr)
DEFINE_GLOBAL(QualifiedName, fontweightAttr)
DEFINE_GLOBAL(QualifiedName, heightAttr)
DEFINE_GLOBAL(QualifiedName, linethicknessAttr)
DEFINE_GLOBAL(QualifiedName, mathbackgroundAttr)
DEFINE_GLOBAL(QualifiedName, mathcolorAttr)
DEFINE_GLOBAL(QualifiedName, mathsizeAttr)
DEFINE_GLOBAL(QualifiedName, mathvariantAttr)
DEFINE_GLOBAL(QualifiedName, numalignAttr)
DEFINE_GLOBAL(QualifiedName, openAttr)
DEFINE_GLOBAL(QualifiedName, rowspanAttr)
DEFINE_GLOBAL(QualifiedName, separatorsAttr)
DEFINE_GLOBAL(QualifiedName, stretchyAttr)
DEFINE_GLOBAL(QualifiedName, widthAttr)


WebCore::QualifiedName** getMathMLAttrs()
{
    static WebCore::QualifiedName* MathMLAttr[] = {
        (WebCore::QualifiedName*)&alttextAttr,
        (WebCore::QualifiedName*)&backgroundAttr,
        (WebCore::QualifiedName*)&closeAttr,
        (WebCore::QualifiedName*)&colorAttr,
        (WebCore::QualifiedName*)&columnspanAttr,
        (WebCore::QualifiedName*)&definitionURLAttr,
        (WebCore::QualifiedName*)&denomalignAttr,
        (WebCore::QualifiedName*)&depthAttr,
        (WebCore::QualifiedName*)&encodingAttr,
        (WebCore::QualifiedName*)&fontfamilyAttr,
        (WebCore::QualifiedName*)&fontsizeAttr,
        (WebCore::QualifiedName*)&fontstyleAttr,
        (WebCore::QualifiedName*)&fontweightAttr,
        (WebCore::QualifiedName*)&heightAttr,
        (WebCore::QualifiedName*)&linethicknessAttr,
        (WebCore::QualifiedName*)&mathbackgroundAttr,
        (WebCore::QualifiedName*)&mathcolorAttr,
        (WebCore::QualifiedName*)&mathsizeAttr,
        (WebCore::QualifiedName*)&mathvariantAttr,
        (WebCore::QualifiedName*)&numalignAttr,
        (WebCore::QualifiedName*)&openAttr,
        (WebCore::QualifiedName*)&rowspanAttr,
        (WebCore::QualifiedName*)&separatorsAttr,
        (WebCore::QualifiedName*)&stretchyAttr,
        (WebCore::QualifiedName*)&widthAttr,
    };
    return MathMLAttr;
}

void init()
{
    static bool initialized = false;
    if (initialized)
        return;
    initialized = true;

    // Use placement new to initialize the globals.

    AtomicString::init();
    AtomicString mathmlNS("http://www.w3.org/1998/Math/MathML", AtomicString::ConstructFromLiteral);

    // Namespace
    new (NotNull, (void*)&mathmlNamespaceURI) AtomicString(mathmlNS);

#ifndef NDEBUG
    mtdImpl->assertHashIsCorrect();
    mtextImpl->assertHashIsCorrect();
    msubImpl->assertHashIsCorrect();
    mfracImpl->assertHashIsCorrect();
    stretchyImpl->assertHashIsCorrect();
    fontsizeImpl->assertHashIsCorrect();
    moImpl->assertHashIsCorrect();
    mprescriptsImpl->assertHashIsCorrect();
    msqrtImpl->assertHashIsCorrect();
    mmultiscriptsImpl->assertHashIsCorrect();
    noneImpl->assertHashIsCorrect();
    alttextImpl->assertHashIsCorrect();
    miImpl->assertHashIsCorrect();
    mtableImpl->assertHashIsCorrect();
    msubsupImpl->assertHashIsCorrect();
    malignmarkImpl->assertHashIsCorrect();
    mtrImpl->assertHashIsCorrect();
    definitionURLImpl->assertHashIsCorrect();
    colorImpl->assertHashIsCorrect();
    rowspanImpl->assertHashIsCorrect();
    closeImpl->assertHashIsCorrect();
    mglyphImpl->assertHashIsCorrect();
    depthImpl->assertHashIsCorrect();
    fontstyleImpl->assertHashIsCorrect();
    annotation_xmlImpl->assertHashIsCorrect();
    mathImpl->assertHashIsCorrect();
    mathcolorImpl->assertHashIsCorrect();
    separatorsImpl->assertHashIsCorrect();
    mnImpl->assertHashIsCorrect();
    moverImpl->assertHashIsCorrect();
    mathsizeImpl->assertHashIsCorrect();
    munderoverImpl->assertHashIsCorrect();
    encodingImpl->assertHashIsCorrect();
    mathvariantImpl->assertHashIsCorrect();
    backgroundImpl->assertHashIsCorrect();
    mrootImpl->assertHashIsCorrect();
    openImpl->assertHashIsCorrect();
    heightImpl->assertHashIsCorrect();
    msupImpl->assertHashIsCorrect();
    mspaceImpl->assertHashIsCorrect();
    columnspanImpl->assertHashIsCorrect();
    denomalignImpl->assertHashIsCorrect();
    mathbackgroundImpl->assertHashIsCorrect();
    linethicknessImpl->assertHashIsCorrect();
    fontfamilyImpl->assertHashIsCorrect();
    widthImpl->assertHashIsCorrect();
    mrowImpl->assertHashIsCorrect();
    munderImpl->assertHashIsCorrect();
    mfencedImpl->assertHashIsCorrect();
    msImpl->assertHashIsCorrect();
    numalignImpl->assertHashIsCorrect();
    fontweightImpl->assertHashIsCorrect();
#endif // NDEBUG

    // Tags
    createQualifiedName((void*)&annotation_xmlTag, annotation_xmlImpl, mathmlNS);
    createQualifiedName((void*)&malignmarkTag, malignmarkImpl, mathmlNS);
    createQualifiedName((void*)&mathTag, mathImpl, mathmlNS);
    createQualifiedName((void*)&mfencedTag, mfencedImpl, mathmlNS);
    createQualifiedName((void*)&mfracTag, mfracImpl, mathmlNS);
    createQualifiedName((void*)&mglyphTag, mglyphImpl, mathmlNS);
    createQualifiedName((void*)&miTag, miImpl, mathmlNS);
    createQualifiedName((void*)&mmultiscriptsTag, mmultiscriptsImpl, mathmlNS);
    createQualifiedName((void*)&mnTag, mnImpl, mathmlNS);
    createQualifiedName((void*)&moTag, moImpl, mathmlNS);
    createQualifiedName((void*)&moverTag, moverImpl, mathmlNS);
    createQualifiedName((void*)&mprescriptsTag, mprescriptsImpl, mathmlNS);
    createQualifiedName((void*)&mrootTag, mrootImpl, mathmlNS);
    createQualifiedName((void*)&mrowTag, mrowImpl, mathmlNS);
    createQualifiedName((void*)&msTag, msImpl, mathmlNS);
    createQualifiedName((void*)&mspaceTag, mspaceImpl, mathmlNS);
    createQualifiedName((void*)&msqrtTag, msqrtImpl, mathmlNS);
    createQualifiedName((void*)&msubTag, msubImpl, mathmlNS);
    createQualifiedName((void*)&msubsupTag, msubsupImpl, mathmlNS);
    createQualifiedName((void*)&msupTag, msupImpl, mathmlNS);
    createQualifiedName((void*)&mtableTag, mtableImpl, mathmlNS);
    createQualifiedName((void*)&mtdTag, mtdImpl, mathmlNS);
    createQualifiedName((void*)&mtextTag, mtextImpl, mathmlNS);
    createQualifiedName((void*)&mtrTag, mtrImpl, mathmlNS);
    createQualifiedName((void*)&munderTag, munderImpl, mathmlNS);
    createQualifiedName((void*)&munderoverTag, munderoverImpl, mathmlNS);
    createQualifiedName((void*)&noneTag, noneImpl, mathmlNS);
    // Attributes
    createQualifiedName((void*)&alttextAttr, alttextImpl);
    createQualifiedName((void*)&backgroundAttr, backgroundImpl);
    createQualifiedName((void*)&closeAttr, closeImpl);
    createQualifiedName((void*)&colorAttr, colorImpl);
    createQualifiedName((void*)&columnspanAttr, columnspanImpl);
    createQualifiedName((void*)&definitionURLAttr, definitionURLImpl);
    createQualifiedName((void*)&denomalignAttr, denomalignImpl);
    createQualifiedName((void*)&depthAttr, depthImpl);
    createQualifiedName((void*)&encodingAttr, encodingImpl);
    createQualifiedName((void*)&fontfamilyAttr, fontfamilyImpl);
    createQualifiedName((void*)&fontsizeAttr, fontsizeImpl);
    createQualifiedName((void*)&fontstyleAttr, fontstyleImpl);
    createQualifiedName((void*)&fontweightAttr, fontweightImpl);
    createQualifiedName((void*)&heightAttr, heightImpl);
    createQualifiedName((void*)&linethicknessAttr, linethicknessImpl);
    createQualifiedName((void*)&mathbackgroundAttr, mathbackgroundImpl);
    createQualifiedName((void*)&mathcolorAttr, mathcolorImpl);
    createQualifiedName((void*)&mathsizeAttr, mathsizeImpl);
    createQualifiedName((void*)&mathvariantAttr, mathvariantImpl);
    createQualifiedName((void*)&numalignAttr, numalignImpl);
    createQualifiedName((void*)&openAttr, openImpl);
    createQualifiedName((void*)&rowspanAttr, rowspanImpl);
    createQualifiedName((void*)&separatorsAttr, separatorsImpl);
    createQualifiedName((void*)&stretchyAttr, stretchyImpl);
    createQualifiedName((void*)&widthAttr, widthImpl);
}

} }

