var gLonghandProperties = [
	{ name: "-moz-appearance", prop: "MozAppearance" },
	{ name: "-moz-outline-radius-topleft", prop: "MozOutlineRadiusTopleft" },
	{ name: "-moz-outline-radius-topright", prop: "MozOutlineRadiusTopright" },
	{ name: "-moz-outline-radius-bottomright", prop: "MozOutlineRadiusBottomright" },
	{ name: "-moz-outline-radius-bottomleft", prop: "MozOutlineRadiusBottomleft" },
	{ name: "-moz-tab-size", prop: "MozTabSize" },
	{ name: "animation-delay", prop: "animationDelay" },
	{ name: "animation-direction", prop: "animationDirection" },
	{ name: "animation-duration", prop: "animationDuration" },
	{ name: "animation-fill-mode", prop: "animationFillMode" },
	{ name: "animation-iteration-count", prop: "animationIterationCount" },
	{ name: "animation-name", prop: "animationName" },
	{ name: "animation-play-state", prop: "animationPlayState" },
	{ name: "animation-timing-function", prop: "animationTimingFunction" },
	{ name: "background-attachment", prop: "backgroundAttachment" },
	{ name: "background-clip", prop: "backgroundClip" },
	{ name: "background-color", prop: "backgroundColor" },
	{ name: "background-image", prop: "backgroundImage" },
	{ name: "-moz-background-inline-policy", prop: "MozBackgroundInlinePolicy" },
	{ name: "background-origin", prop: "backgroundOrigin" },
	{ name: "background-position", prop: "backgroundPosition" },
	{ name: "background-repeat", prop: "backgroundRepeat" },
	{ name: "background-size", prop: "backgroundSize" },
	{ name: "-moz-binding", prop: "MozBinding" },
	{ name: "border-bottom-color", prop: "borderBottomColor" },
	{ name: "-moz-border-bottom-colors", prop: "MozBorderBottomColors" },
	{ name: "border-bottom-style", prop: "borderBottomStyle" },
	{ name: "border-bottom-width", prop: "borderBottomWidth" },
	{ name: "border-collapse", prop: "borderCollapse" },
	{ name: "border-image-source", prop: "borderImageSource" },
	{ name: "border-image-slice", prop: "borderImageSlice" },
	{ name: "border-image-width", prop: "borderImageWidth" },
	{ name: "border-image-outset", prop: "borderImageOutset" },
	{ name: "border-image-repeat", prop: "borderImageRepeat" },
	{ name: "-moz-border-left-colors", prop: "MozBorderLeftColors" },
	{ name: "-moz-border-right-colors", prop: "MozBorderRightColors" },
	{ name: "border-spacing", prop: "borderSpacing" },
	{ name: "border-top-color", prop: "borderTopColor" },
	{ name: "-moz-border-top-colors", prop: "MozBorderTopColors" },
	{ name: "border-top-style", prop: "borderTopStyle" },
	{ name: "border-top-width", prop: "borderTopWidth" },
	{ name: "border-top-left-radius", prop: "borderTopLeftRadius" },
	{ name: "border-top-right-radius", prop: "borderTopRightRadius" },
	{ name: "border-bottom-right-radius", prop: "borderBottomRightRadius" },
	{ name: "border-bottom-left-radius", prop: "borderBottomLeftRadius" },
	{ name: "bottom", prop: "bottom" },
	{ name: "box-shadow", prop: "boxShadow" },
	{ name: "-moz-box-sizing", prop: "MozBoxSizing" },
	{ name: "caption-side", prop: "captionSide" },
	{ name: "clear", prop: "clear" },
	{ name: "clip", prop: "clip" },
	{ name: "color", prop: "color" },
	{ name: "-moz-column-count", prop: "MozColumnCount" },
	{ name: "-moz-column-fill", prop: "MozColumnFill" },
	{ name: "-moz-column-width", prop: "MozColumnWidth" },
	{ name: "-moz-column-gap", prop: "MozColumnGap" },
	{ name: "-moz-column-rule-color", prop: "MozColumnRuleColor" },
	{ name: "-moz-column-rule-style", prop: "MozColumnRuleStyle" },
	{ name: "-moz-column-rule-width", prop: "MozColumnRuleWidth" },
	{ name: "content", prop: "content" },
	{ name: "counter-increment", prop: "counterIncrement" },
	{ name: "counter-reset", prop: "counterReset" },
	{ name: "cursor", prop: "cursor" },
	{ name: "direction", prop: "direction" },
	{ name: "display", prop: "display" },
	{ name: "empty-cells", prop: "emptyCells" },
	{ name: "align-items", prop: "alignItems", pref: "layout.css.flexbox.enabled" },
	{ name: "align-self", prop: "alignSelf", pref: "layout.css.flexbox.enabled" },
	{ name: "flex-basis", prop: "flexBasis", pref: "layout.css.flexbox.enabled" },
	{ name: "flex-direction", prop: "flexDirection", pref: "layout.css.flexbox.enabled" },
	{ name: "flex-grow", prop: "flexGrow", pref: "layout.css.flexbox.enabled" },
	{ name: "flex-shrink", prop: "flexShrink", pref: "layout.css.flexbox.enabled" },
	{ name: "order", prop: "order", pref: "layout.css.flexbox.enabled" },
	{ name: "justify-content", prop: "justifyContent", pref: "layout.css.flexbox.enabled" },
	{ name: "float", prop: "cssFloat" },
	{ name: "-moz-float-edge", prop: "MozFloatEdge" },
	{ name: "font-family", prop: "fontFamily" },
	{ name: "-moz-font-feature-settings", prop: "MozFontFeatureSettings" },
	{ name: "font-kerning", prop: "fontKerning", pref: "layout.css.font-features.enabled" },
	{ name: "-moz-font-language-override", prop: "MozFontLanguageOverride" },
	{ name: "font-size", prop: "fontSize" },
	{ name: "font-size-adjust", prop: "fontSizeAdjust" },
	{ name: "-moz-osx-font-smoothing", prop: "MozOSXFontSmoothing", pref: "layout.css.osx-font-smoothing.enabled" },
	{ name: "font-stretch", prop: "fontStretch" },
	{ name: "font-style", prop: "fontStyle" },
	{ name: "font-synthesis", prop: "fontSynthesis", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant", prop: "fontVariant" },
	{ name: "font-variant-alternates", prop: "fontVariantAlternates", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant-caps", prop: "fontVariantCaps", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant-east-asian", prop: "fontVariantEastAsian", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant-ligatures", prop: "fontVariantLigatures", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant-numeric", prop: "fontVariantNumeric", pref: "layout.css.font-features.enabled" },
	{ name: "font-variant-position", prop: "fontVariantPosition", pref: "layout.css.font-features.enabled" },
	{ name: "font-weight", prop: "fontWeight" },
	{ name: "-moz-force-broken-image-icon", prop: "MozForceBrokenImageIcon" },
	{ name: "height", prop: "height" },
	{ name: "-moz-image-region", prop: "MozImageRegion" },
	{ name: "ime-mode", prop: "imeMode" },
	{ name: "left", prop: "left" },
	{ name: "letter-spacing", prop: "letterSpacing" },
	{ name: "line-height", prop: "lineHeight" },
	{ name: "list-style-image", prop: "listStyleImage" },
	{ name: "list-style-position", prop: "listStylePosition" },
	{ name: "list-style-type", prop: "listStyleType" },
	{ name: "margin-bottom", prop: "marginBottom" },
	{ name: "margin-top", prop: "marginTop" },
	{ name: "marker-offset", prop: "markerOffset" },
	{ name: "marks", prop: "marks" },
	{ name: "max-height", prop: "maxHeight" },
	{ name: "max-width", prop: "maxWidth" },
	{ name: "min-height", prop: "minHeight" },
	{ name: "min-width", prop: "minWidth" },
	{ name: "mix-blend-mode", prop: "mixBlendMode", pref: "layout.css.mix-blend-mode.enabled" },
	{ name: "opacity", prop: "opacity" },
	{ name: "-moz-orient", prop: "MozOrient" },
	{ name: "orphans", prop: "orphans" },
	{ name: "outline-color", prop: "outlineColor" },
	{ name: "outline-style", prop: "outlineStyle" },
	{ name: "outline-width", prop: "outlineWidth" },
	{ name: "outline-offset", prop: "outlineOffset" },
	{ name: "overflow-x", prop: "overflowX" },
	{ name: "overflow-y", prop: "overflowY" },
	{ name: "padding-bottom", prop: "paddingBottom" },
	{ name: "padding-top", prop: "paddingTop" },
	{ name: "page", prop: "page" },
	{ name: "page-break-after", prop: "pageBreakAfter" },
	{ name: "page-break-before", prop: "pageBreakBefore" },
	{ name: "page-break-inside", prop: "pageBreakInside" },
	{ name: "paint-order", prop: "paintOrder", pref: "svg.paint-order.enabled" },
	{ name: "pointer-events", prop: "pointerEvents" },
	{ name: "position", prop: "position" },
	{ name: "quotes", prop: "quotes" },
	{ name: "resize", prop: "resize" },
	{ name: "right", prop: "right" },
	{ name: "size", prop: "size" },
	{ name: "table-layout", prop: "tableLayout" },
	{ name: "text-align", prop: "textAlign" },
	{ name: "-moz-text-align-last", prop: "MozTextAlignLast" },
	{ name: "text-combine-horizontal", prop: "textCombineHorizontal", pref: "layout.css.vertical-text.enabled" },
	{ name: "-moz-text-decoration-color", prop: "MozTextDecorationColor" },
	{ name: "-moz-text-decoration-line", prop: "MozTextDecorationLine" },
	{ name: "-moz-text-decoration-style", prop: "MozTextDecorationStyle" },
	{ name: "text-indent", prop: "textIndent" },
	{ name: "text-orientation", prop: "textOrientation", pref: "layout.css.vertical-text.enabled" },
	{ name: "text-overflow", prop: "textOverflow" },
	{ name: "text-shadow", prop: "textShadow" },
	{ name: "-moz-text-size-adjust", prop: "MozTextSizeAdjust" },
	{ name: "text-transform", prop: "textTransform" },
	{ name: "transform", prop: "transform" },
	{ name: "transform-origin", prop: "transformOrigin" },
	{ name: "perspective-origin", prop: "perspectiveOrigin" },
	{ name: "perspective", prop: "perspective" },
	{ name: "transform-style", prop: "transformStyle" },
	{ name: "backface-visibility", prop: "backfaceVisibility" },
	{ name: "top", prop: "top" },
	{ name: "transition-delay", prop: "transitionDelay" },
	{ name: "transition-duration", prop: "transitionDuration" },
	{ name: "transition-property", prop: "transitionProperty" },
	{ name: "transition-timing-function", prop: "transitionTimingFunction" },
	{ name: "unicode-bidi", prop: "unicodeBidi" },
	{ name: "-moz-user-focus", prop: "MozUserFocus" },
	{ name: "-moz-user-input", prop: "MozUserInput" },
	{ name: "-moz-user-modify", prop: "MozUserModify" },
	{ name: "-moz-user-select", prop: "MozUserSelect" },
	{ name: "vertical-align", prop: "verticalAlign" },
	{ name: "visibility", prop: "visibility" },
	{ name: "white-space", prop: "whiteSpace" },
	{ name: "widows", prop: "widows" },
	{ name: "width", prop: "width" },
	{ name: "-moz-window-shadow", prop: "MozWindowShadow" },
	{ name: "word-break", prop: "wordBreak" },
	{ name: "word-spacing", prop: "wordSpacing" },
	{ name: "word-wrap", prop: "wordWrap" },
	{ name: "-moz-hyphens", prop: "MozHyphens" },
	{ name: "writing-mode", prop: "writingMode", pref: "layout.css.vertical-text.enabled" },
	{ name: "z-index", prop: "zIndex" },
	{ name: "-moz-box-align", prop: "MozBoxAlign" },
	{ name: "-moz-box-direction", prop: "MozBoxDirection" },
	{ name: "-moz-box-flex", prop: "MozBoxFlex" },
	{ name: "-moz-box-orient", prop: "MozBoxOrient" },
	{ name: "-moz-box-pack", prop: "MozBoxPack" },
	{ name: "-moz-box-ordinal-group", prop: "MozBoxOrdinalGroup" },
	{ name: "-moz-stack-sizing", prop: "MozStackSizing" },
	{ name: "clip-path", prop: "clipPath" },
	{ name: "clip-rule", prop: "clipRule" },
	{ name: "color-interpolation", prop: "colorInterpolation" },
	{ name: "color-interpolation-filters", prop: "colorInterpolationFilters" },
	{ name: "dominant-baseline", prop: "dominantBaseline" },
	{ name: "fill", prop: "fill" },
	{ name: "fill-opacity", prop: "fillOpacity" },
	{ name: "fill-rule", prop: "fillRule" },
	{ name: "filter", prop: "filter" },
	{ name: "flood-color", prop: "floodColor" },
	{ name: "flood-opacity", prop: "floodOpacity" },
	{ name: "image-rendering", prop: "imageRendering" },
	{ name: "lighting-color", prop: "lightingColor" },
	{ name: "marker-end", prop: "markerEnd" },
	{ name: "marker-mid", prop: "markerMid" },
	{ name: "marker-start", prop: "markerStart" },
	{ name: "mask", prop: "mask" },
	{ name: "mask-type", prop: "maskType", pref: "layout.css.masking.enabled" },
	{ name: "shape-rendering", prop: "shapeRendering" },
	{ name: "stop-color", prop: "stopColor" },
	{ name: "stop-opacity", prop: "stopOpacity" },
	{ name: "stroke", prop: "stroke" },
	{ name: "stroke-dasharray", prop: "strokeDasharray" },
	{ name: "stroke-dashoffset", prop: "strokeDashoffset" },
	{ name: "stroke-linecap", prop: "strokeLinecap" },
	{ name: "stroke-linejoin", prop: "strokeLinejoin" },
	{ name: "stroke-miterlimit", prop: "strokeMiterlimit" },
	{ name: "stroke-opacity", prop: "strokeOpacity" },
	{ name: "stroke-width", prop: "strokeWidth" },
	{ name: "text-anchor", prop: "textAnchor" },
	{ name: "text-rendering", prop: "textRendering" },
	{ name: "vector-effect", prop: "vectorEffect" }
];

var gShorthandProperties = [
	{ name: "-moz-outline-radius", prop: "MozOutlineRadius" },
	{ name: "animation", prop: "animation" },
	{ name: "background", prop: "background" },
	{ name: "border", prop: "border" },
	{ name: "border-bottom", prop: "borderBottom" },
	{ name: "border-color", prop: "borderColor" },
	{ name: "-moz-border-end", prop: "MozBorderEnd" },
	{ name: "-moz-border-end-color", prop: "MozBorderEndColor" },
	{ name: "-moz-border-end-style", prop: "MozBorderEndStyle" },
	{ name: "-moz-border-end-width", prop: "MozBorderEndWidth" },
	{ name: "border-image", prop: "borderImage" },
	{ name: "border-left", prop: "borderLeft" },
	{ name: "border-left-color", prop: "borderLeftColor" },
	{ name: "border-left-style", prop: "borderLeftStyle" },
	{ name: "border-left-width", prop: "borderLeftWidth" },
	{ name: "border-right", prop: "borderRight" },
	{ name: "border-right-color", prop: "borderRightColor" },
	{ name: "border-right-style", prop: "borderRightStyle" },
	{ name: "border-right-width", prop: "borderRightWidth" },
	{ name: "-moz-border-start", prop: "MozBorderStart" },
	{ name: "-moz-border-start-color", prop: "MozBorderStartColor" },
	{ name: "-moz-border-start-style", prop: "MozBorderStartStyle" },
	{ name: "-moz-border-start-width", prop: "MozBorderStartWidth" },
	{ name: "border-style", prop: "borderStyle" },
	{ name: "border-top", prop: "borderTop" },
	{ name: "border-width", prop: "borderWidth" },
	{ name: "border-radius", prop: "borderRadius" },
	{ name: "-moz-columns", prop: "MozColumns" },
	{ name: "-moz-column-rule", prop: "MozColumnRule" },
	{ name: "flex", prop: "flex", pref: "layout.css.flexbox.enabled" },
	{ name: "font", prop: "font" },
	{ name: "list-style", prop: "listStyle" },
	{ name: "margin", prop: "margin" },
	{ name: "-moz-margin-end", prop: "MozMarginEnd" },
	{ name: "margin-left", prop: "marginLeft" },
	{ name: "margin-right", prop: "marginRight" },
	{ name: "-moz-margin-start", prop: "MozMarginStart" },
	{ name: "outline", prop: "outline" },
	{ name: "overflow", prop: "overflow" },
	{ name: "padding", prop: "padding" },
	{ name: "-moz-padding-end", prop: "MozPaddingEnd" },
	{ name: "padding-left", prop: "paddingLeft" },
	{ name: "padding-right", prop: "paddingRight" },
	{ name: "-moz-padding-start", prop: "MozPaddingStart" },
	{ name: "text-decoration", prop: "textDecoration" },
	{ name: "transition", prop: "transition" },
	{ name: "marker", prop: "marker" },
	{ name: "-moz-transform", prop: "MozTransform", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-transform-origin", prop: "MozTransformOrigin", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-perspective-origin", prop: "MozPerspectiveOrigin", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-perspective", prop: "MozPerspective", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-transform-style", prop: "MozTransformStyle", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-backface-visibility", prop: "MozBackfaceVisibility", pref: "layout.css.prefixes.transforms" },
	{ name: "-moz-border-image", prop: "MozBorderImage", pref: "layout.css.prefixes.border-image" },
	{ name: "-moz-transition", prop: "MozTransition", pref: "layout.css.prefixes.transitions" },
	{ name: "-moz-transition-delay", prop: "MozTransitionDelay", pref: "layout.css.prefixes.transitions" },
	{ name: "-moz-transition-duration", prop: "MozTransitionDuration", pref: "layout.css.prefixes.transitions" },
	{ name: "-moz-transition-property", prop: "MozTransitionProperty", pref: "layout.css.prefixes.transitions" },
	{ name: "-moz-transition-timing-function", prop: "MozTransitionTimingFunction", pref: "layout.css.prefixes.transitions" },
	{ name: "-moz-animation", prop: "MozAnimation", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-delay", prop: "MozAnimationDelay", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-direction", prop: "MozAnimationDirection", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-duration", prop: "MozAnimationDuration", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-fill-mode", prop: "MozAnimationFillMode", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-iteration-count", prop: "MozAnimationIterationCount", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-name", prop: "MozAnimationName", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-play-state", prop: "MozAnimationPlayState", pref: "layout.css.prefixes.animations" },
	{ name: "-moz-animation-timing-function", prop: "MozAnimationTimingFunction", pref: "layout.css.prefixes.animations" },
	{ name: "font-feature-settings", prop: "fontFeatureSettings", pref: "layout.css.font-features.enabled" },
	{ name: "font-language-override", prop: "fontLanguageOverride", pref: "layout.css.font-features.enabled" }
];

var gShorthandPropertiesLikeLonghand = [
	{ name: "-moz-margin-end", prop: "MozMarginEnd"},
	{ name: "margin-left", prop: "marginLeft"},
	{ name: "margin-right", prop: "marginRight"},
	{ name: "-moz-margin-start", prop: "MozMarginStart"},
	{ name: "overflow", prop: "overflow"},
	{ name: "-moz-padding-end", prop: "MozPaddingEnd"},
	{ name: "padding-left", prop: "paddingLeft"},
	{ name: "padding-right", prop: "paddingRight"},
	{ name: "-moz-padding-start", prop: "MozPaddingStart"},
];
