var gLonghandProperties = [
	{ name: "align-content", prop: "alignContent" },
	{ name: "align-items", prop: "alignItems" },
	{ name: "align-self", prop: "alignSelf" },
	{ 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: "-moz-appearance", prop: "MozAppearance" },
	{ name: "backface-visibility", prop: "backfaceVisibility" },
	{ name: "background-attachment", prop: "backgroundAttachment" },
	{ name: "background-blend-mode", prop: "backgroundBlendMode", pref: "layout.css.background-blend-mode.enabled" },
	{ name: "background-clip", prop: "backgroundClip" },
	{ name: "background-color", prop: "backgroundColor" },
	{ name: "background-image", prop: "backgroundImage" },
	{ 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: "block-size", prop: "blockSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-end-color", prop: "borderBlockEndColor", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-end-style", prop: "borderBlockEndStyle", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-end-width", prop: "borderBlockEndWidth", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-start-color", prop: "borderBlockStartColor", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-start-style", prop: "borderBlockStartStyle", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-start-width", prop: "borderBlockStartWidth", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-bottom-color", prop: "borderBottomColor" },
	{ name: "-moz-border-bottom-colors", prop: "MozBorderBottomColors" },
	{ name: "border-bottom-left-radius", prop: "borderBottomLeftRadius" },
	{ name: "border-bottom-right-radius", prop: "borderBottomRightRadius" },
	{ name: "border-bottom-style", prop: "borderBottomStyle" },
	{ name: "border-bottom-width", prop: "borderBottomWidth" },
	{ name: "border-collapse", prop: "borderCollapse" },
	{ name: "border-image-outset", prop: "borderImageOutset" },
	{ name: "border-image-repeat", prop: "borderImageRepeat" },
	{ name: "border-image-slice", prop: "borderImageSlice" },
	{ name: "border-image-source", prop: "borderImageSource" },
	{ name: "border-image-width", prop: "borderImageWidth" },
	{ name: "border-inline-end-color", prop: "borderInlineEndColor" },
	{ name: "border-inline-end-style", prop: "borderInlineEndStyle" },
	{ name: "border-inline-end-width", prop: "borderInlineEndWidth" },
	{ name: "border-inline-start-color", prop: "borderInlineStartColor" },
	{ name: "border-inline-start-style", prop: "borderInlineStartStyle" },
	{ name: "border-inline-start-width", prop: "borderInlineStartWidth" },
	{ name: "border-left-color", prop: "borderLeftColor" },
	{ name: "-moz-border-left-colors", prop: "MozBorderLeftColors" },
	{ name: "border-left-style", prop: "borderLeftStyle" },
	{ name: "border-left-width", prop: "borderLeftWidth" },
	{ name: "border-right-color", prop: "borderRightColor" },
	{ name: "-moz-border-right-colors", prop: "MozBorderRightColors" },
	{ name: "border-right-style", prop: "borderRightStyle" },
	{ name: "border-right-width", prop: "borderRightWidth" },
	{ name: "border-spacing", prop: "borderSpacing" },
	{ name: "border-top-color", prop: "borderTopColor" },
	{ name: "-moz-border-top-colors", prop: "MozBorderTopColors" },
	{ name: "border-top-left-radius", prop: "borderTopLeftRadius" },
	{ name: "border-top-right-radius", prop: "borderTopRightRadius" },
	{ name: "border-top-style", prop: "borderTopStyle" },
	{ name: "border-top-width", prop: "borderTopWidth" },
	{ name: "bottom", prop: "bottom" },
	{ name: "-moz-box-align", prop: "MozBoxAlign" },
	{ name: "box-decoration-break", prop: "boxDecorationBreak", pref: "layout.css.box-decoration-break.enabled" },
	{ name: "-moz-box-direction", prop: "MozBoxDirection" },
	{ name: "-moz-box-flex", prop: "MozBoxFlex" },
	{ name: "-moz-box-ordinal-group", prop: "MozBoxOrdinalGroup" },
	{ name: "-moz-box-orient", prop: "MozBoxOrient" },
	{ name: "-moz-box-pack", prop: "MozBoxPack" },
	{ name: "box-shadow", prop: "boxShadow" },
	{ name: "box-sizing", prop: "boxSizing" },
	{ name: "caption-side", prop: "captionSide" },
	{ name: "clear", prop: "clear" },
	{ name: "clip", prop: "clip" },
	{ name: "clip-path", prop: "clipPath" },
	{ name: "clip-rule", prop: "clipRule" },
	{ name: "color", prop: "color" },
	{ name: "color-adjust", prop: "colorAdjust", pref: "layout.css.color-adjust.enabled" },
	{ name: "color-interpolation", prop: "colorInterpolation" },
	{ name: "color-interpolation-filters", prop: "colorInterpolationFilters" },
	{ name: "-moz-column-count", prop: "MozColumnCount" },
	{ name: "-moz-column-fill", prop: "MozColumnFill" },
	{ 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: "-moz-column-width", prop: "MozColumnWidth" },
	{ name: "contain", prop: "contain", pref: "layout.css.contain.enabled" },
	{ 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: "dominant-baseline", prop: "dominantBaseline" },
	{ name: "empty-cells", prop: "emptyCells" },
	{ name: "fill", prop: "fill" },
	{ name: "fill-opacity", prop: "fillOpacity" },
	{ name: "fill-rule", prop: "fillRule" },
	{ name: "filter", prop: "filter" },
	{ name: "flex-basis", prop: "flexBasis" },
	{ name: "flex-direction", prop: "flexDirection" },
	{ name: "flex-grow", prop: "flexGrow" },
	{ name: "flex-shrink", prop: "flexShrink" },
	{ name: "flex-wrap", prop: "flexWrap" },
	{ name: "float", prop: "cssFloat" },
	{ name: "-moz-float-edge", prop: "MozFloatEdge" },
	{ name: "flood-color", prop: "floodColor" },
	{ name: "flood-opacity", prop: "floodOpacity" },
	{ name: "font-family", prop: "fontFamily" },
	{ name: "font-feature-settings", prop: "fontFeatureSettings" },
	{ name: "font-kerning", prop: "fontKerning" },
	{ name: "font-language-override", prop: "fontLanguageOverride" },
	{ name: "font-size", prop: "fontSize" },
	{ name: "font-size-adjust", prop: "fontSizeAdjust" },
	{ name: "font-stretch", prop: "fontStretch" },
	{ name: "font-style", prop: "fontStyle" },
	{ name: "font-synthesis", prop: "fontSynthesis" },
	{ name: "font-variant-alternates", prop: "fontVariantAlternates" },
	{ name: "font-variant-caps", prop: "fontVariantCaps" },
	{ name: "font-variant-east-asian", prop: "fontVariantEastAsian" },
	{ name: "font-variant-ligatures", prop: "fontVariantLigatures" },
	{ name: "font-variant-numeric", prop: "fontVariantNumeric" },
	{ name: "font-variant-position", prop: "fontVariantPosition" },
	{ name: "font-weight", prop: "fontWeight" },
	{ name: "-moz-force-broken-image-icon", prop: "MozForceBrokenImageIcon" },
	{ name: "grid-auto-columns", prop: "gridAutoColumns", pref: "layout.css.grid.enabled" },
	{ name: "grid-auto-flow", prop: "gridAutoFlow", pref: "layout.css.grid.enabled" },
	{ name: "grid-auto-rows", prop: "gridAutoRows", pref: "layout.css.grid.enabled" },
	{ name: "grid-column-end", prop: "gridColumnEnd", pref: "layout.css.grid.enabled" },
	{ name: "grid-column-gap", prop: "gridColumnGap", pref: "layout.css.grid.enabled" },
	{ name: "grid-column-start", prop: "gridColumnStart", pref: "layout.css.grid.enabled" },
	{ name: "grid-row-end", prop: "gridRowEnd", pref: "layout.css.grid.enabled" },
	{ name: "grid-row-gap", prop: "gridRowGap", pref: "layout.css.grid.enabled" },
	{ name: "grid-row-start", prop: "gridRowStart", pref: "layout.css.grid.enabled" },
	{ name: "grid-template-areas", prop: "gridTemplateAreas", pref: "layout.css.grid.enabled" },
	{ name: "grid-template-columns", prop: "gridTemplateColumns", pref: "layout.css.grid.enabled" },
	{ name: "grid-template-rows", prop: "gridTemplateRows", pref: "layout.css.grid.enabled" },
	{ name: "height", prop: "height" },
	{ name: "hyphens", prop: "hyphens" },
	{ name: "image-orientation", prop: "imageOrientation", pref: "layout.css.image-orientation.enabled" },
	{ name: "-moz-image-region", prop: "MozImageRegion" },
	{ name: "image-rendering", prop: "imageRendering" },
	{ name: "ime-mode", prop: "imeMode" },
	{ name: "inline-size", prop: "inlineSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "isolation", prop: "isolation", pref: "layout.css.isolation.enabled" },
	{ name: "justify-content", prop: "justifyContent" },
	{ name: "justify-items", prop: "justifyItems" },
	{ name: "justify-self", prop: "justifySelf" },
	{ name: "left", prop: "left" },
	{ name: "letter-spacing", prop: "letterSpacing" },
	{ name: "lighting-color", prop: "lightingColor" },
	{ 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-block-end", prop: "marginBlockEnd", pref: "layout.css.vertical-text.enabled" },
	{ name: "margin-block-start", prop: "marginBlockStart", pref: "layout.css.vertical-text.enabled" },
	{ name: "margin-bottom", prop: "marginBottom" },
	{ name: "margin-inline-end", prop: "marginInlineEnd" },
	{ name: "margin-inline-start", prop: "marginInlineStart" },
	{ name: "margin-left", prop: "marginLeft" },
	{ name: "margin-right", prop: "marginRight" },
	{ name: "margin-top", prop: "marginTop" },
	{ name: "marker-end", prop: "markerEnd" },
	{ name: "marker-mid", prop: "markerMid" },
	{ name: "marker-offset", prop: "markerOffset" },
	{ name: "marker-start", prop: "markerStart" },
	{ name: "mask", prop: "mask" },
	{ name: "mask-type", prop: "maskType", pref: "layout.css.masking.enabled" },
	{ name: "max-block-size", prop: "maxBlockSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "max-height", prop: "maxHeight" },
	{ name: "max-inline-size", prop: "maxInlineSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "max-width", prop: "maxWidth" },
	{ name: "min-block-size", prop: "minBlockSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "min-height", prop: "minHeight" },
	{ name: "min-inline-size", prop: "minInlineSize", pref: "layout.css.vertical-text.enabled" },
	{ name: "min-width", prop: "minWidth" },
	{ name: "mix-blend-mode", prop: "mixBlendMode", pref: "layout.css.mix-blend-mode.enabled" },
	{ name: "object-fit", prop: "objectFit", pref: "layout.css.object-fit-and-position.enabled" },
	{ name: "object-position", prop: "objectPosition", pref: "layout.css.object-fit-and-position.enabled" },
	{ name: "offset-block-end", prop: "offsetBlockEnd", pref: "layout.css.vertical-text.enabled" },
	{ name: "offset-block-start", prop: "offsetBlockStart", pref: "layout.css.vertical-text.enabled" },
	{ name: "offset-inline-end", prop: "offsetInlineEnd", pref: "layout.css.vertical-text.enabled" },
	{ name: "offset-inline-start", prop: "offsetInlineStart", pref: "layout.css.vertical-text.enabled" },
	{ name: "opacity", prop: "opacity" },
	{ name: "order", prop: "order" },
	{ name: "-moz-orient", prop: "MozOrient" },
	{ name: "-moz-osx-font-smoothing", prop: "MozOsxFontSmoothing", pref: "layout.css.osx-font-smoothing.enabled" },
	{ name: "outline-color", prop: "outlineColor" },
	{ name: "outline-offset", prop: "outlineOffset" },
	{ name: "-moz-outline-radius-bottomleft", prop: "MozOutlineRadiusBottomleft" },
	{ name: "-moz-outline-radius-bottomright", prop: "MozOutlineRadiusBottomright" },
	{ name: "-moz-outline-radius-topleft", prop: "MozOutlineRadiusTopleft" },
	{ name: "-moz-outline-radius-topright", prop: "MozOutlineRadiusTopright" },
	{ name: "outline-style", prop: "outlineStyle" },
	{ name: "outline-width", prop: "outlineWidth" },
	{ name: "overflow-clip-box", prop: "overflowClipBox", pref: "layout.css.overflow-clip-box.enabled" },
	{ name: "overflow-x", prop: "overflowX" },
	{ name: "overflow-y", prop: "overflowY" },
	{ name: "padding-block-end", prop: "paddingBlockEnd", pref: "layout.css.vertical-text.enabled" },
	{ name: "padding-block-start", prop: "paddingBlockStart", pref: "layout.css.vertical-text.enabled" },
	{ name: "padding-bottom", prop: "paddingBottom" },
	{ name: "padding-inline-end", prop: "paddingInlineEnd" },
	{ name: "padding-inline-start", prop: "paddingInlineStart" },
	{ name: "padding-left", prop: "paddingLeft" },
	{ name: "padding-right", prop: "paddingRight" },
	{ name: "padding-top", prop: "paddingTop" },
	{ 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: "perspective", prop: "perspective" },
	{ name: "perspective-origin", prop: "perspectiveOrigin" },
	{ name: "pointer-events", prop: "pointerEvents" },
	{ name: "position", prop: "position" },
	{ name: "quotes", prop: "quotes" },
	{ name: "resize", prop: "resize" },
	{ name: "right", prop: "right" },
	{ name: "ruby-align", prop: "rubyAlign" },
	{ name: "ruby-position", prop: "rubyPosition" },
	{ name: "scroll-behavior", prop: "scrollBehavior", pref: "layout.css.scroll-behavior.property-enabled" },
	{ name: "scroll-snap-coordinate", prop: "scrollSnapCoordinate", pref: "layout.css.scroll-snap.enabled" },
	{ name: "scroll-snap-destination", prop: "scrollSnapDestination", pref: "layout.css.scroll-snap.enabled" },
	{ name: "scroll-snap-points-x", prop: "scrollSnapPointsX", pref: "layout.css.scroll-snap.enabled" },
	{ name: "scroll-snap-points-y", prop: "scrollSnapPointsY", pref: "layout.css.scroll-snap.enabled" },
	{ name: "scroll-snap-type-x", prop: "scrollSnapTypeX", pref: "layout.css.scroll-snap.enabled" },
	{ name: "scroll-snap-type-y", prop: "scrollSnapTypeY", pref: "layout.css.scroll-snap.enabled" },
	{ name: "shape-rendering", prop: "shapeRendering" },
	{ name: "-moz-stack-sizing", prop: "MozStackSizing" },
	{ 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: "-moz-tab-size", prop: "MozTabSize" },
	{ name: "table-layout", prop: "tableLayout" },
	{ name: "text-align", prop: "textAlign" },
	{ name: "-moz-text-align-last", prop: "MozTextAlignLast" },
	{ name: "text-anchor", prop: "textAnchor" },
	{ name: "text-combine-upright", prop: "textCombineUpright", pref: "layout.css.text-combine-upright.enabled" },
	{ name: "text-decoration-color", prop: "textDecorationColor" },
	{ name: "text-decoration-line", prop: "textDecorationLine" },
	{ name: "text-decoration-style", prop: "textDecorationStyle" },
	{ name: "text-emphasis-color", prop: "textEmphasisColor", pref: "layout.css.text-emphasis.enabled" },
	{ name: "text-emphasis-position", prop: "textEmphasisPosition", pref: "layout.css.text-emphasis.enabled" },
	{ name: "text-emphasis-style", prop: "textEmphasisStyle", pref: "layout.css.text-emphasis.enabled" },
	{ name: "-webkit-text-fill-color", prop: "webkitTextFillColor", pref: "layout.css.prefixes.webkit" },
	{ name: "text-indent", prop: "textIndent" },
	{ name: "text-orientation", prop: "textOrientation", pref: "layout.css.vertical-text.enabled" },
	{ name: "text-overflow", prop: "textOverflow" },
	{ name: "text-rendering", prop: "textRendering" },
	{ name: "text-shadow", prop: "textShadow" },
	{ name: "-moz-text-size-adjust", prop: "MozTextSizeAdjust" },
	{ name: "-webkit-text-stroke-color", prop: "webkitTextStrokeColor", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-text-stroke-width", prop: "webkitTextStrokeWidth", pref: "layout.css.prefixes.webkit" },
	{ name: "text-transform", prop: "textTransform" },
	{ name: "top", prop: "top" },
	{ name: "touch-action", prop: "touchAction", pref: "layout.css.touch_action.enabled" },
	{ name: "transform", prop: "transform" },
	{ name: "transform-box", prop: "transformBox", pref: "svg.transform-box.enabled" },
	{ name: "transform-origin", prop: "transformOrigin" },
	{ name: "transform-style", prop: "transformStyle" },
	{ 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: "vector-effect", prop: "vectorEffect" },
	{ name: "vertical-align", prop: "verticalAlign" },
	{ name: "visibility", prop: "visibility" },
	{ name: "white-space", prop: "whiteSpace" },
	{ name: "width", prop: "width" },
	{ name: "will-change", prop: "willChange" },
	{ name: "-moz-window-dragging", prop: "MozWindowDragging" },
	{ name: "word-break", prop: "wordBreak" },
	{ name: "word-spacing", prop: "wordSpacing" },
	{ name: "word-wrap", prop: "wordWrap" },
	{ name: "writing-mode", prop: "writingMode", pref: "layout.css.vertical-text.enabled" },
	{ name: "z-index", prop: "zIndex" }
];

var gShorthandProperties = [
	{ name: "all", prop: "all", pref: "layout.css.all-shorthand.enabled" },
	{ name: "animation", prop: "animation" },
	{ name: "background", prop: "background" },
	{ name: "border", prop: "border" },
	{ name: "border-block-end", prop: "borderBlockEnd", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-block-start", prop: "borderBlockStart", pref: "layout.css.vertical-text.enabled" },
	{ name: "border-bottom", prop: "borderBottom" },
	{ name: "border-color", prop: "borderColor" },
	{ name: "border-image", prop: "borderImage" },
	{ name: "border-inline-end", prop: "borderInlineEnd" },
	{ name: "border-inline-start", prop: "borderInlineStart" },
	{ name: "border-left", prop: "borderLeft" },
	{ name: "border-radius", prop: "borderRadius" },
	{ name: "border-right", prop: "borderRight" },
	{ name: "border-style", prop: "borderStyle" },
	{ name: "border-top", prop: "borderTop" },
	{ name: "border-width", prop: "borderWidth" },
	{ name: "-moz-column-rule", prop: "MozColumnRule" },
	{ name: "-moz-columns", prop: "MozColumns" },
	{ name: "flex", prop: "flex" },
	{ name: "flex-flow", prop: "flexFlow" },
	{ name: "font", prop: "font" },
	{ name: "font-variant", prop: "fontVariant" },
	{ name: "grid", prop: "grid", pref: "layout.css.grid.enabled" },
	{ name: "grid-area", prop: "gridArea", pref: "layout.css.grid.enabled" },
	{ name: "grid-column", prop: "gridColumn", pref: "layout.css.grid.enabled" },
	{ name: "grid-gap", prop: "gridGap", pref: "layout.css.grid.enabled" },
	{ name: "grid-row", prop: "gridRow", pref: "layout.css.grid.enabled" },
	{ name: "grid-template", prop: "gridTemplate", pref: "layout.css.grid.enabled" },
	{ name: "list-style", prop: "listStyle" },
	{ name: "margin", prop: "margin" },
	{ name: "marker", prop: "marker" },
	{ name: "outline", prop: "outline" },
	{ name: "-moz-outline-radius", prop: "MozOutlineRadius" },
	{ name: "overflow", prop: "overflow" },
	{ name: "padding", prop: "padding" },
	{ name: "scroll-snap-type", prop: "scrollSnapType", pref: "layout.css.scroll-snap.enabled" },
	{ name: "text-decoration", prop: "textDecoration" },
	{ name: "text-emphasis", prop: "textEmphasis", pref: "layout.css.text-emphasis.enabled" },
	{ name: "-webkit-text-stroke", prop: "webkitTextStroke", pref: "layout.css.prefixes.webkit" },
	{ name: "-moz-transform", prop: "MozTransform", pref: "layout.css.prefixes.transforms" },
	{ name: "transition", prop: "transition" },
	{ 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: "-moz-box-sizing", prop: "MozBoxSizing", pref: "layout.css.prefixes.box-sizing" },
	{ name: "-moz-font-feature-settings", prop: "MozFontFeatureSettings", pref: "layout.css.prefixes.font-features" },
	{ name: "-moz-font-language-override", prop: "MozFontLanguageOverride", pref: "layout.css.prefixes.font-features" },
	{ name: "-moz-padding-end", prop: "MozPaddingEnd" },
	{ name: "-moz-padding-start", prop: "MozPaddingStart" },
	{ name: "-moz-margin-end", prop: "MozMarginEnd" },
	{ name: "-moz-margin-start", prop: "MozMarginStart" },
	{ 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: "-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: "-moz-hyphens", prop: "MozHyphens" },
	{ name: "-webkit-animation", prop: "webkitAnimation", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-delay", prop: "webkitAnimationDelay", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-direction", prop: "webkitAnimationDirection", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-duration", prop: "webkitAnimationDuration", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-fill-mode", prop: "webkitAnimationFillMode", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-iteration-count", prop: "webkitAnimationIterationCount", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-name", prop: "webkitAnimationName", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-play-state", prop: "webkitAnimationPlayState", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-animation-timing-function", prop: "webkitAnimationTimingFunction", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-filter", prop: "webkitFilter", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-text-size-adjust", prop: "webkitTextSizeAdjust", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transform", prop: "webkitTransform", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transform-origin", prop: "webkitTransformOrigin", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transform-style", prop: "webkitTransformStyle", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-backface-visibility", prop: "webkitBackfaceVisibility", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-perspective", prop: "webkitPerspective", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-perspective-origin", prop: "webkitPerspectiveOrigin", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transition", prop: "webkitTransition", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transition-delay", prop: "webkitTransitionDelay", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transition-duration", prop: "webkitTransitionDuration", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transition-property", prop: "webkitTransitionProperty", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-transition-timing-function", prop: "webkitTransitionTimingFunction", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-radius", prop: "webkitBorderRadius", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-top-left-radius", prop: "webkitBorderTopLeftRadius", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-top-right-radius", prop: "webkitBorderTopRightRadius", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-bottom-left-radius", prop: "webkitBorderBottomLeftRadius", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-bottom-right-radius", prop: "webkitBorderBottomRightRadius", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-background-clip", prop: "webkitBackgroundClip", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-background-origin", prop: "webkitBackgroundOrigin", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-background-size", prop: "webkitBackgroundSize", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-border-image", prop: "webkitBorderImage", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-shadow", prop: "webkitBoxShadow", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-sizing", prop: "webkitBoxSizing", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-flex", prop: "webkitBoxFlex", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-ordinal-group", prop: "webkitBoxOrdinalGroup", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-orient", prop: "webkitBoxOrient", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-direction", prop: "webkitBoxDirection", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-align", prop: "webkitBoxAlign", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-box-pack", prop: "webkitBoxPack", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-direction", prop: "webkitFlexDirection", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-wrap", prop: "webkitFlexWrap", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-flow", prop: "webkitFlexFlow", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-order", prop: "webkitOrder", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex", prop: "webkitFlex", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-grow", prop: "webkitFlexGrow", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-shrink", prop: "webkitFlexShrink", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-flex-basis", prop: "webkitFlexBasis", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-justify-content", prop: "webkitJustifyContent", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-align-items", prop: "webkitAlignItems", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-align-self", prop: "webkitAlignSelf", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-align-content", prop: "webkitAlignContent", pref: "layout.css.prefixes.webkit" },
	{ name: "-webkit-user-select", prop: "webkitUserSelect", pref: "layout.css.prefixes.webkit" }
];

var gShorthandPropertiesLikeLonghand = [
	{ name: "overflow", prop: "overflow"},
];
