diff options
author | nsandonato | 2010-12-21 22:36:23 +0000 |
---|---|---|
committer | nsandonato | 2010-12-21 22:36:23 +0000 |
commit | ab2bbe3fa083b086115f37b12f3a49742e2a01e0 (patch) | |
tree | 9ea4271921548afdd55ca79cd7e9f3a1e636cb1e | |
parent | a402f40c976524b5cddc0deea2eb6e0ad7657b81 (diff) | |
download | webtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.tar.gz webtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.tar.xz webtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.zip |
[324731] Add support for CSS3 properties
23 files changed, 3991 insertions, 830 deletions
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml new file mode 100644 index 0000000000..d1914065ba --- /dev/null +++ b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml @@ -0,0 +1,2566 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + --> +<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >--> +<css-profile> + <stylesheet-def> + <description>%css3.stylesheet-def.description</description> + <charset-rule/> + <import-rule/> + <page-rule/> + <media-rule/> + <fontface-rule/> + <style-rule/> + </stylesheet-def> + + <charset-rule-def> + </charset-rule-def> + <import-rule-def> + </import-rule-def> + <media-rule-def> + </media-rule-def> + + <page-rule-def> + <pseudo-class name="left"/> + <pseudo-class name="right"/> + <pseudo-class name="first"/> + <property name="size"/> + <property name="marks"/> + <property name="page-break-after"/> + <property name="page-break-before"/> + <property name="page-break-inside"/> + <property name="orphans"/> + <property name="widows"/> + </page-rule-def> + + <fontface-rule-def> + <descriptor name="ascent"/> + <descriptor name="baseline"/> + <descriptor name="bbox"/> + <descriptor name="cap-height"/> + <descriptor name="centerline"/> + <descriptor name="definition-src"/> + <descriptor name="descent"/> + <descriptor name="font-family"/> + <descriptor name="font-size"/> + <descriptor name="font-stretch"/> + <descriptor name="font-style"/> + <descriptor name="font-variant"/> + <descriptor name="font-weight"/> + <descriptor name="mathline"/> + <descriptor name="panose-1"/> + <descriptor name="slope"/> + <descriptor name="slope"/> + <descriptor name="src"/> + <descriptor name="stemh"/> + <descriptor name="stemv"/> + <descriptor name="topline"/> + <descriptor name="unicode-range"/> + <descriptor name="units-per-em"/> + <descriptor name="widths"/> + <descriptor name="x-height"/> + </fontface-rule-def> + + <!-- Which properties can style rule include ? --> + + <style-rule-def> + <selector-expression name="descendant"/> + <selector-expression name="child"/> + <selector-expression name="adjacent"/> + <selector-expression name="universal"/> + <selector-expression name="attribute"/> + <pseudo-element name="first-line"/> + <pseudo-element name="first-letter"/> + <pseudo-element name="before"/> + <pseudo-element name="after"/> + <pseudo-element name="selection"/> + <pseudo-class name="first-child"/> + <pseudo-class name="link"/> + <pseudo-class name="visited"/> + <pseudo-class name="hover"/> + <pseudo-class name="active"/> + <pseudo-class name="focus"/> + <pseudo-class name="empty"/> + <pseudo-class name="enabled"/> + <pseudo-class name="disabled"/> + <pseudo-class name="checked"/> + <pseudo-class name="first-of-type"/> + <pseudo-class name="last-child"/> + <pseudo-class name="last-of-type"/> + <pseudo-class name="not()"/> + <pseudo-class name="nth-child()"/> + <pseudo-class name="nth-last-child()"/> + <pseudo-class name="nth-last-of-type()"/> + <pseudo-class name="nth-of-type()"/> + <pseudo-class name="only-child"/> + <pseudo-class name="only-of-type"/> + <pseudo-class name="root"/> + <pseudo-class name="target"/> + <property name="azimuth"/> + <property name="background"/> + <property name="background-attachment"/> + <property name="background-clip"/> + <property name="background-color"/> + <property name="background-image"/> + <property name="background-origin"/> + <property name="background-position"/> + <property name="background-repeat"/> + <property name="background-size"/> + <property name="border"/> + <property name="border-collapse"/> + <property name="border-color"/> + <property name="border-spacing"/> + <property name="border-style"/> + <property name="border-top"/> + <property name="border-right"/> + <property name="border-bottom"/> + <property name="border-left"/> + <property name="border-top-color"/> + <property name="border-right-color"/> + <property name="border-bottom-color"/> + <property name="border-left-color"/> + <property name="border-top-style"/> + <property name="border-right-style"/> + <property name="border-bottom-style"/> + <property name="border-left-style"/> + <property name="border-top-width"/> + <property name="border-right-width"/> + <property name="border-bottom-width"/> + <property name="border-left-width"/> + <property name="border-width"/> + <property name="border-top-left-radius"/> + <property name="border-top-right-radius"/> + <property name="border-bottom-left-radius"/> + <property name="border-bottom-right-radius"/> + <property name="border-radius"/> + <property name="bottom"/> + <property name="box-shadow"/> + <property name="box-sizing"/> + <property name="caption-side"/> + <property name="clear"/> + <property name="clip"/> + <property name="color"/> + <property name="content"/> + <property name="columns"/> + <property name="column-count"/> + <property name="column-width"/> + <property name="column-gap"/> + <property name="column-rule-color"/> + <property name="column-rule-style"/> + <property name="column-rule-width"/> + <property name="column-rule"/> + <property name="column-span"/> + <property name="column-fill"/> + <property name="counter-increment"/> + <property name="counter-reset"/> + <property name="cue"/> + <property name="cue-after"/> + <property name="cue-before"/> + <property name="cursor"/> + <property name="direction"/> + <property name="display"/> + <property name="elevation"/> + <property name="empty-cells"/> + <property name="float"/> + <property name="font"/> + <property name="font-family"/> + <property name="font-size"/> + <property name="font-size-adjust"/> + <property name="font-stretch"/> + <property name="font-style"/> + <property name="font-variant"/> + <property name="font-weight"/> + <property name="height"/> + <property name="left"/> + <property name="letter-spacing"/> + <property name="line-height"/> + <property name="list-style"/> + <property name="list-style-image"/> + <property name="list-style-position"/> + <property name="list-style-type"/> + <property name="margin"/> + <property name="margin-top"/> + <property name="margin-right"/> + <property name="margin-bottom"/> + <property name="margin-left"/> + <property name="marker-offset"/> + <property name="marks"/> + <property name="max-height"/> + <property name="max-width"/> + <property name="min-height"/> + <property name="min-width"/> + <property name="opacity"/> + <property name="orphans"/> + <property name="outline"/> + <property name="outline-color"/> + <property name="outline-style"/> + <property name="outline-width"/> + <property name="overflow"/> + <property name="padding"/> + <property name="padding-top"/> + <property name="padding-right"/> + <property name="padding-bottom"/> + <property name="padding-left"/> + <property name="page"/> + <property name="page-break-after"/> + <property name="page-break-before"/> + <property name="page-break-inside"/> + <property name="pause"/> + <property name="pause-after"/> + <property name="pause-before"/> + <property name="pitch"/> + <property name="pitch-range"/> + <property name="play-during"/> + <property name="position"/> + <property name="quotes"/> + <property name="resize"/> + <property name="richness"/> + <property name="right"/> + <property name="size"/> + <property name="speak"/> + <property name="speak-header"/> + <property name="speak-numeral"/> + <property name="speak-punctuation"/> + <property name="speech-rate"/> + <property name="stress"/> + <property name="table-layout"/> + <property name="text-align"/> + <property name="text-decoration"/> + <property name="text-indent"/> + <property name="text-overflow"/> + <property name="text-shadow"/> + <property name="text-transform"/> + <property name="top"/> + <property name="unicode-bidi"/> + <property name="vertical-align"/> + <property name="visibility"/> + <property name="voice-family"/> + <property name="volume"/> + <property name="white-space"/> + <property name="widows"/> + <property name="width"/> + <property name="word-spacing"/> + <property name="z-index"/> + </style-rule-def> + + <pseudo-class-def name="checked" version="3"> + <selector-value>checked</selector-value> + </pseudo-class-def> + <pseudo-class-def name="disabled" version="3"> + <selector-value>disabled</selector-value> + </pseudo-class-def> + <pseudo-class-def name="empty" version="3"> + <selector-value>empty</selector-value> + </pseudo-class-def> + <pseudo-class-def name="enabled" version="3"> + <selector-value>enabled</selector-value> + </pseudo-class-def> + <pseudo-class-def name="first-of-type" version="3"> + <selector-value>first-of-type</selector-value> + </pseudo-class-def> + <pseudo-class-def name="last-child" version="3"> + <selector-value>last-child</selector-value> + </pseudo-class-def> + <pseudo-class-def name="last-of-type" version="3"> + <selector-value>last-of-type</selector-value> + </pseudo-class-def> + <pseudo-class-def name="not()" version="3"> + <selector-value>not()</selector-value> + </pseudo-class-def> + <pseudo-class-def name="nth-child()" version="3"> + <selector-value>nth-child()</selector-value> + </pseudo-class-def> + <pseudo-class-def name="nth-last-child()" version="3"> + <selector-value>nth-last-child()</selector-value> + </pseudo-class-def> + <pseudo-class-def name="nth-last-of-type()" version="3"> + <selector-value>nth-last-of-type()</selector-value> + </pseudo-class-def> + <pseudo-class-def name="nth-of-type()" version="3"> + <selector-value>nth-of-type()</selector-value> + </pseudo-class-def> + <pseudo-class-def name="only-child" version="3"> + <selector-value>only-child</selector-value> + </pseudo-class-def> + <pseudo-class-def name="only-of-type" version="3"> + <selector-value>only-of-type</selector-value> + </pseudo-class-def> + <pseudo-class-def name="root" version="3"> + <selector-value>root</selector-value> + </pseudo-class-def> + <pseudo-class-def name="target" version="3"> + <selector-value>target</selector-value> + </pseudo-class-def> + <pseudo-class-def name="first-child"> + <selector-value>first-child</selector-value> + </pseudo-class-def> + <pseudo-class-def name="link"> + <selector-value>link</selector-value> + </pseudo-class-def> + <pseudo-class-def name="visited"> + <selector-value>visited</selector-value> + </pseudo-class-def> + <pseudo-class-def name="hover"> + <selector-value>hover</selector-value> + </pseudo-class-def> + <pseudo-class-def name="active"> + <selector-value>active</selector-value> + </pseudo-class-def> + <pseudo-class-def name="focus"> + <selector-value>focus</selector-value> + </pseudo-class-def> + <pseudo-class-def name="lang"> + <selector-value>lang</selector-value> + </pseudo-class-def> + <pseudo-class-def name="left"> + <selector-value>left</selector-value> + </pseudo-class-def> + <pseudo-class-def name="right"> + <selector-value>right</selector-value> + </pseudo-class-def> + <pseudo-class-def name="first"> + <selector-value>first</selector-value> + </pseudo-class-def> + + <pseudo-element-def name="first-line"> + <selector-value>first-line</selector-value> + </pseudo-element-def> + <pseudo-element-def name="first-letter"> + <selector-value>first-letter</selector-value> + </pseudo-element-def> + <pseudo-element-def name="before"> + <selector-value>before</selector-value> + </pseudo-element-def> + <pseudo-element-def name="after"> + <selector-value>after</selector-value> + </pseudo-element-def> + <pseudo-element-def name="selection" version="3"> + <selector-value>selection</selector-value> + </pseudo-element-def> + + <!-- property definition --> + + <property-def name="azimuth" + inherited="yes" mediagroup="aural" category="aural"> + <description>This provides spatial audio property for aural + presentation</description> + <number name="angle"/> + <keyword name="left-side"/> + <keyword name="far-left"/> + <keyword name="left"/> + <keyword name="center-left"/> + <keyword name="center"/> + <keyword name="center-right"/> + <keyword name="right"/> + <keyword name="far-right"/> + <keyword name="right-side"/> + <keyword name="behind"/> + <keyword name="leftwards"/> + <keyword name="rightwards"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background" + inherited="no" mediagroup="visual" category="colorandbackground"> + <property name="background-color"/> + <property name="background-image"/> + <property name="background-repeat"/> + <property name="background-attachment"/> + <property name="background-position"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-attachment" + inherited="no" mediagroup="visual" category="colorandbackground"> + <keyword name="scroll"/> + <keyword name="fixed"/> + <keyword name="local"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-clip" + inherited="no" mediagroup="visual" category="colorandbackground" version="3"> + <keyword name="border-box"/> + <keyword name="content-box"/> + <keyword name="padding-box"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-color" + inherited="no" mediagroup="visual" category="colorandbackground"> + <container name="color"/> + <keyword name="transparent"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-image" + inherited="no" mediagroup="visual" category="colorandbackground"> + <function name="uri"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-origin" + inherited="no" mediagroup="visual" category="colorandbackground" version="3"> + <keyword name="padding-box"/> + <keyword name="border-box"/> + <keyword name="content-box"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-position" + inherited="no" mediagroup="visual" category="colorandbackground"> + <number name="percentage"/> + <number name="length"/> + <keyword name="top"/> + <keyword name="center"/> + <keyword name="bottom"/> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-repeat" + inherited="no" mediagroup="visual" category="colorandbackground"> + <keyword name="repeat"/> + <keyword name="repeat-x"/> + <keyword name="repeat-y"/> + <keyword name="space"/> + <keyword name="round"/> + <keyword name="no-repeat"/> + <keyword name="inherit"/> + </property-def> + <property-def name="background-size" + inherited="no" mediagroup="visual" category="colorandbackground" version="3"> + <number name="percentage"/> + <number name="length"/> + <keyword name="contain"/> + <keyword name="cover"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border" + inherited="no" mediagroup="visual" category="box"> + <property name="border-width"/> + <property name="border-style"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-collapse" + inherited="yes" mediagroup="visual" category="tables"> + <keyword name="collapse"/> + <keyword name="separate"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-color" + inherited="no" mediagroup="visual" category="box"> + <container name="color"/> + <keyword name="transparent"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-spacing" + inherited="yes" mediagroup="visual" category="tables"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-style" + inherited="no" mediagroup="visual" category="box"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top" + inherited="no" mediagroup="visual" category="box"> + <property name="border-top-width"/> + <property name="border-style"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top-left-radius" + inherited="no" mediagroup="visual" category="box" version="3"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top-right-radius" + inherited="no" mediagroup="visual" category="box" version="3"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom-right-radius" + inherited="no" mediagroup="visual" category="box" version="3"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom-right-radius" + inherited="no" mediagroup="visual" category="box" version="3"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-radius" + inherited="no" mediagroup="visual" category="box" version="3"> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-right" + inherited="no" mediagroup="visual" category="box"> + <property name="border-right-width"/> + <property name="border-style"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom" + inherited="no" mediagroup="visual" category="box"> + <property name="border-bottom-width"/> + <property name="border-style"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-left" + inherited="no" mediagroup="visual" category="box"> + <property name="border-left-width"/> + <property name="border-style"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top-color" + inherited="no" mediagroup="visual" category="box"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-right-color" + inherited="no" mediagroup="visual" category="box"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom-color" + inherited="no" mediagroup="visual" category="box"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-left-color" + inherited="no" mediagroup="visual" category="box"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top-style" + inherited="no" mediagroup="visual" category="box"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-right-style" + inherited="no" mediagroup="visual" category="box"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom-style" + inherited="no" mediagroup="visual" category="box"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-left-style" + inherited="no" mediagroup="visual" category="box"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-top-width" + inherited="no" mediagroup="visual" category="box"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-right-width" + inherited="no" mediagroup="visual" category="box"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-bottom-width" + inherited="no" mediagroup="visual" category="box"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-left-width" + inherited="no" mediagroup="visual" category="box"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="border-width" + inherited="no" mediagroup="visual" category="box"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="bottom" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="box-shadow" + inherited="no" mediagroup="visual" category="visual" version="3"> + <number name="length"/> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="box-sizing" + inherited="no" mediagroup="visual" category="box" version="3"> + <keyword name="border-box"/> + <keyword name="content-box"/> + <keyword name="inherit"/> + </property-def> + <property-def name="caption-side" + inherited="yes" mediagroup="visual" category="tables"> + <keyword name="top"/> + <keyword name="bottom"/> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="inherit"/> + </property-def> + <property-def name="clear" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="none"/> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="both"/> + <keyword name="inherit"/> + </property-def> + <property-def name="clip" + inherited="no" mediagroup="visual" category="visual"> + <container name="shape"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="color" + inherited="yes" mediagroup="visual" category="colorandbackground"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="columns" + inherited="no" mediagroup="visual" category="visual" version="3"> + <property name="column-width"/> + <property name="column-count"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-width" + inherited="no" mediagroup="visual" category="visual" version="3"> + <number name="length"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-count" + inherited="no" mediagroup="visual" category="visual" version="3"> + <number name="integer"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-fill" + inherited="no" mediagroup="visual" category="visual" version="3"> + <keyword name="auto"/> + <keyword name="balance"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-gap" + inherited="no" mediagroup="visual" category="visual" version="3"> + <number name="length"/> + <keyword name="normal"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-rule" + inherited="no" mediagroup="visual" category="visual" version="3"> + <property name="column-rule-width"/> + <property name="column-rule-style"/> + <property name="column-rule-color"/> + </property-def> + <property-def name="column-rule-color" + inherited="no" mediagroup="visual" category="visual" version="3"> + <container name="color"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-rule-style" + inherited="no" mediagroup="visual" category="visual" version="3"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-rule-width" + inherited="no" mediagroup="visual" category="visual" version="3"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="column-span" + inherited="no" mediagroup="visual" category="visual" version="3"> + <keyword name="all"/> + <keyword name="1"/> + <keyword name="inherit"/> + </property-def> + <property-def name="content" + inherited="no" mediagroup="all" category="content"> + <string name="any"/> + <function name="uri"/> + <function name="counter"/> + <function name="attr"/> + <keyword name="open-quote"/> + <keyword name="close-quote"/> + <keyword name="none"/> + <keyword name="normal"/> + <keyword name="no-open-quote"/> + <keyword name="no-close-quote"/> + <keyword name="inherit"/> + </property-def> + <property-def name="counter-increment" + inherited="no" mediagroup="all" category="content"> + <string name="counter-identifier"/> + <number name="integer"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="counter-reset" + inherited="no" mediagroup="all" category="content"> + <string name="counter-identifier"/> + <number name="integer"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="cue" + inherited="no" mediagroup="aural" category="aural"> + <property name="cue-before"/> + <property name="cue-after"/> + <keyword name="inherit"/> + </property-def> + <property-def name="cue-after" + inherited="no" mediagroup="aural" category="aural"> + <function name="uri"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="cue-before" + inherited="no" mediagroup="aural" category="aural"> + <function name="uri"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="cursor" + inherited="yes" mediagroup="visual,interactive" category="ui"> + <function name="uri"/> + <keyword name="auto"/> + <keyword name="crosshair"/> + <keyword name="default"/> + <keyword name="pointer"/> + <keyword name="progress"/> + <keyword name="move"/> + <keyword name="e-resize"/> + <keyword name="ne-resize"/> + <keyword name="nw-resize"/> + <keyword name="n-resize"/> + <keyword name="se-resize"/> + <keyword name="sw-resize"/> + <keyword name="s-resize"/> + <keyword name="w-resize"/> + <keyword name="text"/> + <keyword name="wait"/> + <keyword name="help"/> + <keyword name="inherit"/> + <separator name="comma"/> + </property-def> + <property-def name="direction" + inherited="yes" mediagroup="visual" category="visual"> + <keyword name="ltr"/> + <keyword name="rtl"/> + <keyword name="inherit"/> + </property-def> + <property-def name="display" + inherited="no" mediagroup="all" category="visual"> + <keyword name="inline"/> + <keyword name="inline-block"/> + <keyword name="block"/> + <keyword name="list-item"/> + <keyword name="run-in"/> + <keyword name="compact"/> + <keyword name="marker"/> + <keyword name="table"/> + <keyword name="inline-table"/> + <keyword name="table-row-group"/> + <keyword name="table-header-group"/> + <keyword name="table-footer-group"/> + <keyword name="table-row"/> + <keyword name="table-column-group"/> + <keyword name="table-column"/> + <keyword name="table-cell"/> + <keyword name="table-caption"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="elevation" + inherited="yes" mediagroup="aural" category="aural"> + <number name="angle"/> + <keyword name="below"/> + <keyword name="level"/> + <keyword name="above"/> + <keyword name="higher"/> + <keyword name="lower"/> + <keyword name="inherit"/> + </property-def> + <property-def name="empty-cells" + inherited="yes" mediagroup="visual" category="tables"> + <keyword name="show"/> + <keyword name="hide"/> + <keyword name="inherit"/> + </property-def> + <property-def name="float" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font" + inherited="yes" mediagroup="visual" category="font"> + <property name="font-style"/> + <property name="font-variant"/> + <property name="font-weight"/> + <property name="font-size"/> + <property name="line-height"/> + <property name="font-family"/> + <keyword name="caption"/> + <keyword name="icon"/> + <keyword name="menu"/> + <keyword name="message-box"/> + <keyword name="small-caption"/> + <keyword name="status-bar"/> + <keyword name="inherit"/> + <separator name="slash"/> + </property-def> + <property-def name="font-family" + inherited="yes" mediagroup="visual" category="font"> + <string name="family-name"/> + <container name="generic-family"/> + <keyword name="inherit"/> + <separator name="comma"/> + </property-def> + <property-def name="font-size" + inherited="yes" mediagroup="visual" category="font"> + <container name="absolute-size"/> + <container name="relative-size"/> + <number name="length"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font-size-adjust" + inherited="yes" mediagroup="visual" category="font"> + <number name="number"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font-stretch" + inherited="yes" mediagroup="visual" category="font"> + <keyword name="normal"/> + <keyword name="wider"/> + <keyword name="narrower"/> + <keyword name="ultra-condensed"/> + <keyword name="extra-condensed"/> + <keyword name="condensed"/> + <keyword name="semi-condensed"/> + <keyword name="semi-expanded"/> + <keyword name="expanded"/> + <keyword name="extra-expanded"/> + <keyword name="ultra-expanded"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font-style" + inherited="yes" mediagroup="visual" category="font"> + <keyword name="normal"/> + <keyword name="italic"/> + <keyword name="oblique"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font-variant" + inherited="yes" mediagroup="visual" category="font"> + <keyword name="normal"/> + <keyword name="small-caps"/> + <keyword name="inherit"/> + </property-def> + <property-def name="font-weight" + inherited="yes" mediagroup="visual" category="font"> + <keyword name="normal"/> + <keyword name="bold"/> + <keyword name="bolder"/> + <keyword name="lighter"/> + <keyword name="100"/> + <keyword name="200"/> + <keyword name="300"/> + <keyword name="400"/> + <keyword name="500"/> + <keyword name="600"/> + <keyword name="700"/> + <keyword name="800"/> + <keyword name="900"/> + <keyword name="inherit"/> + </property-def> + <property-def name="height" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="left" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="letter-spacing" + inherited="yes" mediagroup="visual" category="text"> + <keyword name="normal"/> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="line-height" + inherited="yes" mediagroup="visual" category="visual"> + <keyword name="normal"/> + <number name="number"/> + <number name="length"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="list-style" + inherited="yes" mediagroup="visual" category="content"> + <property name="list-style-type"/> + <property name="list-style-position"/> + <property name="list-style-image"/> + <keyword name="inherit"/> + </property-def> + <property-def name="list-style-image" + inherited="yes" mediagroup="visual" category="content"> + <function name="uri"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="list-style-position" + inherited="yes" mediagroup="visual" category="content"> + <keyword name="inside"/> + <keyword name="outside"/> + <keyword name="inherit"/> + </property-def> + <property-def name="list-style-type" + inherited="yes" mediagroup="visual" category="content"> + <keyword name="disc"/> + <keyword name="circle"/> + <keyword name="square"/> + <keyword name="decimal"/> + <keyword name="decimal-leading-zero"/> + <keyword name="lower-roman"/> + <keyword name="upper-roman"/> + <keyword name="lower-greek"/> + <keyword name="lower-alpha"/> + <keyword name="lower-latin"/> + <keyword name="upper-alpha"/> + <keyword name="upper-latin"/> + <keyword name="hebrew"/> + <keyword name="armenian"/> + <keyword name="georgian"/> + <keyword name="cjk-ideographic"/> + <keyword name="hiragana"/> + <keyword name="katakana"/> + <keyword name="hiragana-iroha"/> + <keyword name="katakana-iroha"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="margin" + inherited="no" mediagroup="visual" category="box"> + <container name="margin-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="margin-top" + inherited="no" mediagroup="visual" category="box"> + <container name="margin-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="margin-right" + inherited="no" mediagroup="visual" category="box"> + <container name="margin-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="margin-bottom" + inherited="no" mediagroup="visual" category="box"> + <container name="margin-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="margin-left" + inherited="no" mediagroup="visual" category="box"> + <container name="margin-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="marker-offset" + inherited="no" mediagroup="visual" category="content"> + <number name="length"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="marks" + inherited="na" mediagroup="visual,paged" category="page"> + <keyword name="crop"/> + <keyword name="cross"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="max-height" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="max-width" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="min-height" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="min-width" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="opacity" + inherited="yes" mediagroup="visual" category="visual" version="3"> + <number name="number"/> + <keyword name="inherit"/> + </property-def> + <property-def name="orphans" + inherited="yes" mediagroup="visual,paged" category="page"> + <number name="integer"/> + <keyword name="inherit"/> + </property-def> + <property-def name="outline" + inherited="no" mediagroup="visual,interactive" category="ui"> + <property name="outline-color"/> + <property name="outline-style"/> + <property name="outline-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="outline-color" + inherited="no" mediagroup="visual,interactive" category="ui"> + <container name="color"/> + <keyword name="invert"/> + <keyword name="inherit"/> + </property-def> + <property-def name="outline-style" + inherited="no" mediagroup="visual,interactive" category="ui"> + <container name="border-style"/> + <keyword name="inherit"/> + </property-def> + <property-def name="outline-width" + inherited="no" mediagroup="visual,interactive" category="ui"> + <container name="border-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="overflow" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="visible"/> + <keyword name="hidden"/> + <keyword name="scroll"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="padding" + inherited="no" mediagroup="visual" category="box"> + <container name="padding-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="padding-top" + inherited="no" mediagroup="visual" category="box"> + <container name="padding-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="padding-right" + inherited="no" mediagroup="visual" category="box"> + <container name="padding-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="padding-bottom" + inherited="no" mediagroup="visual" category="box"> + <container name="padding-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="padding-left" + inherited="no" mediagroup="visual" category="box"> + <container name="padding-width"/> + <keyword name="inherit"/> + </property-def> + <property-def name="page" + inherited="yes" mediagroup="visual,paged" category="page"> + <string name="page-identifier"/> + <keyword name="auto"/> + </property-def> + <property-def name="page-break-after" + inherited="no" mediagroup="visual,paged" category="page"> + <keyword name="auto"/> + <keyword name="always"/> + <keyword name="avoid"/> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="inherit"/> + </property-def> + <property-def name="page-break-before" + inherited="no" mediagroup="visual,paged" category="page"> + <keyword name="auto"/> + <keyword name="always"/> + <keyword name="avoid"/> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="inherit"/> + </property-def> + <property-def name="page-break-inside" + inherited="yes" mediagroup="visual,paged" category="page"> + <keyword name="avoid"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="pause" + inherited="no" mediagroup="aural" category="aural"> + <number name="time"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="pause-after" + inherited="no" mediagroup="aural" category="aural"> + <number name="time"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="pause-before" + inherited="no" mediagroup="aural" category="aural"> + <number name="time"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="pitch" + inherited="yes" mediagroup="aural" category="aural"> + <number name="frequency"/> + <keyword name="x-low"/> + <keyword name="low"/> + <keyword name="medium"/> + <keyword name="high"/> + <keyword name="x-high"/> + <keyword name="inherit"/> + </property-def> + <property-def name="pitch-range" + inherited="yes" mediagroup="aural" category="aural"> + <number name="number"/> + <keyword name="inherit"/> + </property-def> + <property-def name="play-during" + inherited="no" mediagroup="aural" category="aural"> + <function name="uri"/> + <keyword name="mix"/> + <keyword name="repeat"/> + <keyword name="auto"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="position" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="static"/> + <keyword name="relative"/> + <keyword name="absolute"/> + <keyword name="fixed"/> + <keyword name="inherit"/> + </property-def> + <property-def name="quotes" + inherited="yes" mediagroup="visual" category="content"> + <string name="any"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="resize" + inherited="yes" mediagroup="visual" category="visual" version="3"> + <keyword name="both"/> + <keyword name="horizontal"/> + <keyword name="none"/> + <keyword name="vertical"/> + <keyword name="inherit"/> + </property-def> + <property-def name="richness" + inherited="yes" mediagroup="aural" category="aural"> + <number name="number"/> + <keyword name="inherit"/> + </property-def> + <property-def name="right" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="size" + inherited="na" mediagroup="visual,paged" category="page"> + <number name="length"/> + <keyword name="auto"/> + <keyword name="portrait"/> + <keyword name="landscape"/> + <keyword name="inherit"/> + </property-def> + <property-def name="speak" + inherited="yes" mediagroup="aural" category="aural"> + <keyword name="normal"/> + <keyword name="none"/> + <keyword name="spell-out"/> + <keyword name="inherit"/> + </property-def> + <property-def name="speak-header" + inherited="yes" mediagroup="aural" category="tables"> + <keyword name="once"/> + <keyword name="always"/> + <keyword name="inherit"/> + </property-def> + <property-def name="speak-numeral" + inherited="yes" mediagroup="aural" category="aural"> + <keyword name="digits"/> + <keyword name="continuous"/> + <keyword name="inherit"/> + </property-def> + <property-def name="speak-punctuation" + inherited="yes" mediagroup="aural" category="aural"> + <keyword name="code"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="speech-rate" + inherited="yes" mediagroup="aural" category="aural"> + <number name="number"/> + <keyword name="x-slow"/> + <keyword name="slow"/> + <keyword name="medium"/> + <keyword name="fast"/> + <keyword name="x-fast"/> + <keyword name="faster"/> + <keyword name="slower"/> + <keyword name="inherit"/> + </property-def> + <property-def name="stress" + inherited="yes" mediagroup="aural" category="aural"> + <number name="number"/> + <keyword name="inherit"/> + </property-def> + <property-def name="table-layout" + inherited="no" mediagroup="visual" category="tables"> + <keyword name="auto"/> + <keyword name="fixed"/> + <keyword name="inherit"/> + </property-def> + <property-def name="text-align" + inherited="yes" mediagroup="visual" category="text"> + <keyword name="left"/> + <keyword name="right"/> + <keyword name="center"/> + <keyword name="justify"/> + <string name="any"/> + <keyword name="inherit"/> + </property-def> + <property-def name="text-decoration" + inherited="no" mediagroup="visual" category="text"> + <keyword name="none"/> + <keyword name="underline"/> + <keyword name="overline"/> + <keyword name="line-through"/> + <keyword name="blink"/> + <keyword name="inherit"/> + </property-def> + <property-def name="text-indent" + inherited="yes" mediagroup="visual" category="text"> + <number name="length"/> + <number name="percentage"/> + <keyword name="inherit"/> + </property-def> + <property-def name="text-overflow" + inherited="no" mediagroup="visual" category="text" version="3"> + <keyword name="clip"/> + <keyword name="ellipsis"/> + <keyword name="inherit"/> + </property-def> + <property-def name="text-shadow" + inherited="no" mediagroup="visual" category="text"> + <keyword name="none"/> + <container name="color"/> + <number name="length"/> + <keyword name="inherit"/> + <separator name="comma"/> + </property-def> + <property-def name="text-transform" + inherited="yes" mediagroup="visual" category="text"> + <keyword name="capitalize"/> + <keyword name="uppercase"/> + <keyword name="lowercase"/> + <keyword name="none"/> + <keyword name="inherit"/> + </property-def> + <property-def name="top" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="unicode-bidi" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="normal"/> + <keyword name="embed"/> + <keyword name="bidi-override"/> + <keyword name="inherit"/> + </property-def> + <property-def name="vertical-align" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="baseline"/> + <keyword name="sub"/> + <keyword name="super"/> + <keyword name="top"/> + <keyword name="text-top"/> + <keyword name="middle"/> + <keyword name="bottom"/> + <keyword name="text-bottom"/> + <number name="percentage"/> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="visibility" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="visible"/> + <keyword name="hidden"/> + <keyword name="collapse"/> + <keyword name="inherit"/> + </property-def> + <property-def name="voice-family" + inherited="yes" mediagroup="aural" category="aural"> + <string name="specific-voice"/> + <container name="generic-voice"/> + <keyword name="inherit"/> + </property-def> + <property-def name="volume" + inherited="yes" mediagroup="aural" category="aural"> + <number name="number"/> + <number name="percentage"/> + <keyword name="silent"/> + <keyword name="x-soft"/> + <keyword name="soft"/> + <keyword name="medium"/> + <keyword name="loud"/> + <keyword name="x-loud"/> + <keyword name="inherit"/> + </property-def> + <property-def name="white-space" + inherited="yes" mediagroup="visual" category="text"> + <keyword name="normal"/> + <keyword name="pre"/> + <keyword name="pre-line"/> + <keyword name="pre-wrap"/> + <keyword name="nowrap"/> + <keyword name="inherit"/> + </property-def> + <property-def name="widows" + inherited="yes" mediagroup="visual,paged" category="page"> + <number name="integer"/> + <keyword name="inherit"/> + </property-def> + <property-def name="width" + inherited="no" mediagroup="visual" category="visual"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + <keyword name="inherit"/> + </property-def> + <property-def name="word-spacing" + inherited="yes" mediagroup="visual" category="text"> + <keyword name="normal"/> + <number name="length"/> + <keyword name="inherit"/> + </property-def> + <property-def name="z-index" + inherited="no" mediagroup="visual" category="visual"> + <keyword name="auto"/> + <number name="integer"/> + <keyword name="inherit"/> + </property-def> + + <!-- descriptor definition : These are for @font-face --> + + <descriptor-def name="ascent"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="baseline"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="bbox"> + <number name="number"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="cap-height"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="centerline"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="definition-src"> + <function name="uri"/> + </descriptor-def> + <descriptor-def name="descent"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="font-family"> + <string name="family-name"/> + <container name="generic-family"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="font-size"> + <keyword name="all"/> + <number name="length"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="font-stretch"> + <keyword name="all"/> + <keyword name="normal"/> + <keyword name="ultra-condensed"/> + <keyword name="extra-condensed"/> + <keyword name="condensed"/> + <keyword name="semi-condensed"/> + <keyword name="semi-expanded"/> + <keyword name="expanded"/> + <keyword name="extra-expanded"/> + <keyword name="ultra-expanded"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="font-style"> + <keyword name="all"/> + <keyword name="normal"/> + <keyword name="italic"/> + <keyword name="oblique"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="font-variant"> + <keyword name="normal"/> + <keyword name="small-caps"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="font-weight"> + <keyword name="all"/> + <keyword name="normal"/> + <keyword name="bold"/> + <keyword name="100"/> + <keyword name="200"/> + <keyword name="300"/> + <keyword name="400"/> + <keyword name="500"/> + <keyword name="600"/> + <keyword name="700"/> + <keyword name="800"/> + <keyword name="900"/> + <separator name="comma"/> + </descriptor-def> + <descriptor-def name="mathline"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="panose-1"> + <number name="integer"/> + </descriptor-def> + <descriptor-def name="slope"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="src"> + <function name="uri"/> + <function name="format"/> + <container name="font-face-name"/> + </descriptor-def> + <descriptor-def name="stemh"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="stemv"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="topline"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="unicode-range"> + <string name="urange"/> + </descriptor-def> + <descriptor-def name="units-per-em"> + <number name="number"/> + </descriptor-def> + <descriptor-def name="widths"> + <string name="urange"/> + <number name="length"/> + </descriptor-def> + <descriptor-def name="x-height"> + <number name="number"/> + </descriptor-def> + + <!-- container definition : Container is the lump of values. + It can be used like macros. --> + <container-def name="absolute-size"> + <keyword name="xx-small"/> + <keyword name="x-small"/> + <keyword name="small"/> + <keyword name="medium"/> + <keyword name="large"/> + <keyword name="x-large"/> + <keyword name="xx-large"/> + </container-def> + <container-def name="border-style"> + <keyword name="none"/> + <keyword name="hidden"/> + <keyword name="dotted"/> + <keyword name="dashed"/> + <keyword name="solid"/> + <keyword name="double"/> + <keyword name="groove"/> + <keyword name="ridge"/> + <keyword name="inset"/> + <keyword name="outset"/> + </container-def> + <container-def name="border-width"> + <keyword name="thin"/> + <keyword name="medium"/> + <keyword name="thick"/> + <number name="length"/> + </container-def> + <container-def name="color"> + <keyword name="aqua"/> + <keyword name="black"/> + <keyword name="blue"/> + <keyword name="fuchsia"/> + <keyword name="gray"/> + <keyword name="green"/> + <keyword name="lime"/> + <keyword name="maroon"/> + <keyword name="navy"/> + <keyword name="olive"/> + <keyword name="orange"/> + <keyword name="purple"/> + <keyword name="red"/> + <keyword name="silver"/> + <keyword name="teal"/> + <keyword name="white"/> + <keyword name="yellow"/> + <container name="system-color"/> + <function name="rgb"/> + <function name="rgba"/> + <number name="hash"/> + </container-def> + <container-def name="generic-family"> + <keyword name="serif"/> + <keyword name="sans-serif"/> + <keyword name="cursive"/> + <keyword name="fantasy"/> + <keyword name="monospace"/> + </container-def> + <container-def name="font-face-name"> + <function name="local"/> + </container-def> + <container-def name="generic-voice"> + <keyword name="male"/> + <keyword name="female"/> + <keyword name="child"/> + </container-def> + <container-def name="margin-width"> + <number name="length"/> + <number name="percentage"/> + <keyword name="auto"/> + </container-def> + <container-def name="padding-width"> + <number name="length"/> + <number name="percentage"/> + </container-def> + <container-def name="relative-size"> + <keyword name="smaller"/> + <keyword name="larger"/> + </container-def> + <container-def name="shape"> + <function name="rect"/> + </container-def> + <container-def name="system-color"> + <keyword name="ActiveBorder"/> + <keyword name="ActiveCaption"/> + <keyword name="AppWorkspace"/> + <keyword name="Background"/> + <keyword name="ButtonFace"/> + <keyword name="ButtonHighlight"/> + <keyword name="ButtonShadow"/> + <keyword name="ButtonText"/> + <keyword name="CaptionText"/> + <keyword name="GrayText"/> + <keyword name="Highlight"/> + <keyword name="HighlightText"/> + <keyword name="InactiveBorder"/> + <keyword name="InactiveCaption"/> + <keyword name="InactiveCaptionText"/> + <keyword name="InfoBackground"/> + <keyword name="InfoText"/> + <keyword name="Menu"/> + <keyword name="MenuText"/> + <keyword name="Scrollbar"/> + <keyword name="ThreeDDarkShadow"/> + <keyword name="ThreeDFace"/> + <keyword name="ThreeDHighlight"/> + <keyword name="ThreeDLightShadow"/> + <keyword name="ThreeDShadow"/> + <keyword name="Window"/> + <keyword name="WindowFrame"/> + <keyword name="WindowText"/> + </container-def> + + <!-- category definition : This is used to categorize properties + in Properties View. --> + <category-def name="aural"> + <caption>%css2.category-def.aural.caption</caption> + </category-def> + <category-def name="box"> + <caption>%css2.category-def.box.caption</caption> + </category-def> + <category-def name="colorandbackground"> + <caption>%css2.category-def.colorandbackground.caption</caption> + </category-def> + <category-def name="content"> + <caption>%css2.category-def.content.caption</caption> + </category-def> + <category-def name="font"> + <caption>%css2.category-def.font.caption</caption> + </category-def> + <category-def name="page"> + <caption>%css2.category-def.page.caption</caption> + </category-def> + <category-def name="tables"> + <caption>%css2.category-def.tables.caption</caption> + </category-def> + <category-def name="text"> + <caption>%css2.category-def.text.caption</caption> + </category-def> + <category-def name="ui"> + <caption>%css2.category-def.ui.caption</caption> + </category-def> + <category-def name="visual"> +<!-- <caption>%css2.category-def.visual.caption</caption>--> + <caption>%css2.category-def.visual.caption</caption> + </category-def> + + <!-- function definition --> + <function-def name="attr"> + <function-value>attr</function-value> + </function-def> + <function-def name="counter"> + <function-value>counter</function-value> + </function-def> + <function-def name="rect"> + <function-value>rect</function-value> + </function-def> + <function-def name="rgb"> + <function-value>rgb</function-value> + </function-def> + <function-def name="rgba" version="3"> + <function-value>rgba</function-value> + </function-def> + <function-def name="uri"> + <function-value>url</function-value> + </function-def> + <function-def name="format"> + <function-value>format</function-value> + </function-def> + <function-def name="local"> + <function-value>local</function-value> + </function-def> + + <!-- number definition : What unit types be acceptable for each + number type? --> + <number-def name="angle"> + <unit name="deg"/> + <unit name="grad"/> + <unit name="rad"/> + </number-def> + <number-def name="frequency"> + <unit name="hz"/> + <unit name="khz"/> + </number-def> + <number-def name="hash"> + <unit name="hash"/> + </number-def> + <number-def name="integer"> + </number-def> + <number-def name="length"> + <unit name="em"/> + <unit name="ex"/> + <unit name="px"/> + <unit name="in"/> + <unit name="cm"/> + <unit name="mm"/> + <unit name="pt"/> + <unit name="pc"/> + </number-def> + <number-def name="number"> + </number-def> + <number-def name="percentage"> + <unit name="percentage"/> + </number-def> + <number-def name="time"> + <unit name="ms"/> + <unit name="s"/> + </number-def> + + <unit-def name="cm"> + <unit-value>cm</unit-value> + </unit-def> + <unit-def name="deg"> + <unit-value>deg</unit-value> + </unit-def> + <unit-def name="em"> + <unit-value>em</unit-value> + </unit-def> + <unit-def name="ex"> + <unit-value>ex</unit-value> + </unit-def> + <unit-def name="grad"> + <unit-value>grad</unit-value> + </unit-def> + <unit-def name="hash"> + <unit-value>#</unit-value> + </unit-def> + <unit-def name="hz"> + <unit-value>Hz</unit-value> + </unit-def> + <unit-def name="in"> + <unit-value>in</unit-value> + </unit-def> + <unit-def name="khz"> + <unit-value>kHz</unit-value> + </unit-def> + <unit-def name="mm"> + <unit-value>mm</unit-value> + </unit-def> + <unit-def name="ms"> + <unit-value>ms</unit-value> + </unit-def> + <unit-def name="pc"> + <unit-value>pc</unit-value> + </unit-def> + <unit-def name="percentage"> + <unit-value>%</unit-value> + </unit-def> + <unit-def name="pt"> + <unit-value>pt</unit-value> + </unit-def> + <unit-def name="px"> + <unit-value>px</unit-value> + </unit-def> + <unit-def name="rad"> + <unit-value>rad</unit-value> + </unit-def> + <unit-def name="s"> + <unit-value>s</unit-value> + </unit-def> + + <!-- keywords : string constants (this is last part..) --> + <keyword-def name="1" version="3"> + <keyword-value>1</keyword-value> + </keyword-def> + <keyword-def name="100"> + <keyword-value>100</keyword-value> + </keyword-def> + <keyword-def name="200"> + <keyword-value>200</keyword-value> + </keyword-def> + <keyword-def name="300"> + <keyword-value>300</keyword-value> + </keyword-def> + <keyword-def name="400"> + <keyword-value>400</keyword-value> + </keyword-def> + <keyword-def name="500"> + <keyword-value>500</keyword-value> + </keyword-def> + <keyword-def name="600"> + <keyword-value>600</keyword-value> + </keyword-def> + <keyword-def name="700"> + <keyword-value>700</keyword-value> + </keyword-def> + <keyword-def name="800"> + <keyword-value>800</keyword-value> + </keyword-def> + <keyword-def name="900"> + <keyword-value>900</keyword-value> + </keyword-def> + <keyword-def name="above"> + <keyword-value>above</keyword-value> + </keyword-def> + <keyword-def name="absolute"> + <keyword-value>absolute</keyword-value> + </keyword-def> + <keyword-def name="ActiveBorder"> + <keyword-value>ActiveBorder</keyword-value> + </keyword-def> + <keyword-def name="ActiveCaption"> + <keyword-value>ActiveCaption</keyword-value> + </keyword-def> + <keyword-def name="all"> + <keyword-value>all</keyword-value> + </keyword-def> + <keyword-def name="always"> + <keyword-value>always</keyword-value> + </keyword-def> + <keyword-def name="AppWorkspace"> + <keyword-value>AppWorkspace</keyword-value> + </keyword-def> + <keyword-def name="aqua"> + <keyword-value>aqua</keyword-value> + </keyword-def> + <keyword-def name="armenian"> + <keyword-value>armenian</keyword-value> + </keyword-def> + <keyword-def name="auto"> + <keyword-value>auto</keyword-value> + </keyword-def> + <keyword-def name="avoid"> + <keyword-value>avoid</keyword-value> + </keyword-def> + <keyword-def name="balance" version="3"> + <keyword-value>balance</keyword-value> + </keyword-def> + <keyword-def name="Background"> + <keyword-value>Background</keyword-value> + </keyword-def> + <keyword-def name="baseline"> + <keyword-value>baseline</keyword-value> + </keyword-def> + <keyword-def name="behind"> + <keyword-value>behind</keyword-value> + </keyword-def> + <keyword-def name="below"> + <keyword-value>below</keyword-value> + </keyword-def> + <keyword-def name="bidi-override"> + <keyword-value>bidi-override</keyword-value> + </keyword-def> + <keyword-def name="black"> + <keyword-value>black</keyword-value> + </keyword-def> + <keyword-def name="blink"> + <keyword-value>blink</keyword-value> + </keyword-def> + <keyword-def name="block"> + <keyword-value>block</keyword-value> + </keyword-def> + <keyword-def name="blue"> + <keyword-value>blue</keyword-value> + </keyword-def> + <keyword-def name="bold"> + <keyword-value>bold</keyword-value> + </keyword-def> + <keyword-def name="bolder"> + <keyword-value>bolder</keyword-value> + </keyword-def> + <keyword-def name="border-box" version="3"> + <keyword-value>border-box</keyword-value> + </keyword-def> + <keyword-def name="both"> + <keyword-value>both</keyword-value> + </keyword-def> + <keyword-def name="bottom"> + <keyword-value>bottom</keyword-value> + </keyword-def> + <keyword-def name="ButtonFace"> + <keyword-value>ButtonFace</keyword-value> + </keyword-def> + <keyword-def name="ButtonHighlight"> + <keyword-value>ButtonHighlight</keyword-value> + </keyword-def> + <keyword-def name="ButtonShadow"> + <keyword-value>ButtonShadow</keyword-value> + </keyword-def> + <keyword-def name="ButtonText"> + <keyword-value>ButtonText</keyword-value> + </keyword-def> + <keyword-def name="capitalize"> + <keyword-value>capitalize</keyword-value> + </keyword-def> + <keyword-def name="caption"> + <keyword-value>caption</keyword-value> + </keyword-def> + <keyword-def name="CaptionText"> + <keyword-value>CaptionText</keyword-value> + </keyword-def> + <keyword-def name="center"> + <keyword-value>center</keyword-value> + </keyword-def> + <keyword-def name="center-left"> + <keyword-value>center-left</keyword-value> + </keyword-def> + <keyword-def name="center-right"> + <keyword-value>center-right</keyword-value> + </keyword-def> + <keyword-def name="child"> + <keyword-value>child</keyword-value> + </keyword-def> + <keyword-def name="circle"> + <keyword-value>circle</keyword-value> + </keyword-def> + <keyword-def name="cjk-ideographic"> + <keyword-value>cjk-ideographic</keyword-value> + </keyword-def> + <keyword-def name="clip" version="3"> + <keyword-value>clip</keyword-value> + </keyword-def> + <keyword-def name="close-quote"> + <keyword-value>close-quote</keyword-value> + </keyword-def> + <keyword-def name="code"> + <keyword-value>code</keyword-value> + </keyword-def> + <keyword-def name="collapse"> + <keyword-value>collapse</keyword-value> + </keyword-def> + <keyword-def name="compact"> + <keyword-value>compact</keyword-value> + </keyword-def> + <keyword-def name="condensed"> + <keyword-value>condensed</keyword-value> + </keyword-def> + <keyword-def name="contain" version="3"> + <keyword-value>contain</keyword-value> + </keyword-def> + <keyword-def name="content-box" version="3"> + <keyword-value>content-box</keyword-value> + </keyword-def> + <keyword-def name="continuous"> + <keyword-value>continuous</keyword-value> + </keyword-def> + <keyword-def name="cover" version="3"> + <keyword-value>cover</keyword-value> + </keyword-def> + <keyword-def name="crop"> + <keyword-value>crop</keyword-value> + </keyword-def> + <keyword-def name="cross"> + <keyword-value>cross</keyword-value> + </keyword-def> + <keyword-def name="crosshair"> + <keyword-value>crosshair</keyword-value> + </keyword-def> + <keyword-def name="cursive"> + <keyword-value>cursive</keyword-value> + </keyword-def> + <keyword-def name="dashed"> + <keyword-value>dashed</keyword-value> + </keyword-def> + <keyword-def name="decimal"> + <keyword-value>decimal</keyword-value> + </keyword-def> + <keyword-def name="decimal-leading-zero"> + <keyword-value>decimal-leading-zero</keyword-value> + </keyword-def> + <keyword-def name="default"> + <keyword-value>default</keyword-value> + </keyword-def> + <keyword-def name="digits"> + <keyword-value>digits</keyword-value> + </keyword-def> + <keyword-def name="disc"> + <keyword-value>disc</keyword-value> + </keyword-def> + <keyword-def name="dotted"> + <keyword-value>dotted</keyword-value> + </keyword-def> + <keyword-def name="double"> + <keyword-value>double</keyword-value> + </keyword-def> + <keyword-def name="e-resize"> + <keyword-value>e-resize</keyword-value> + </keyword-def> + <keyword-def name="ellipsis" version="3"> + <keyword-value>ellipsis</keyword-value> + </keyword-def> + <keyword-def name="embed"> + <keyword-value>embed</keyword-value> + </keyword-def> + <keyword-def name="expanded"> + <keyword-value>expanded</keyword-value> + </keyword-def> + <keyword-def name="extra-condensed"> + <keyword-value>extra-condensed</keyword-value> + </keyword-def> + <keyword-def name="extra-expanded"> + <keyword-value>extra-expanded</keyword-value> + </keyword-def> + <keyword-def name="fantasy"> + <keyword-value>fantasy</keyword-value> + </keyword-def> + <keyword-def name="far-left"> + <keyword-value>far-left</keyword-value> + </keyword-def> + <keyword-def name="far-right"> + <keyword-value>far-right</keyword-value> + </keyword-def> + <keyword-def name="fast"> + <keyword-value>fast</keyword-value> + </keyword-def> + <keyword-def name="faster"> + <keyword-value>faster</keyword-value> + </keyword-def> + <keyword-def name="female"> + <keyword-value>female</keyword-value> + </keyword-def> + <keyword-def name="fixed"> + <keyword-value>fixed</keyword-value> + </keyword-def> + <keyword-def name="fuchsia"> + <keyword-value>fuchsia</keyword-value> + </keyword-def> + <keyword-def name="georgian"> + <keyword-value>georgian</keyword-value> + </keyword-def> + <keyword-def name="gray"> + <keyword-value>gray</keyword-value> + </keyword-def> + <keyword-def name="GrayText"> + <keyword-value>GrayText</keyword-value> + </keyword-def> + <keyword-def name="green"> + <keyword-value>green</keyword-value> + </keyword-def> + <keyword-def name="groove"> + <keyword-value>groove</keyword-value> + </keyword-def> + <keyword-def name="hebrew"> + <keyword-value>hebrew</keyword-value> + </keyword-def> + <keyword-def name="help"> + <keyword-value>help</keyword-value> + </keyword-def> + <keyword-def name="hidden"> + <keyword-value>hidden</keyword-value> + </keyword-def> + <keyword-def name="hide"> + <keyword-value>hide</keyword-value> + </keyword-def> + <keyword-def name="high"> + <keyword-value>high</keyword-value> + </keyword-def> + <keyword-def name="Highlight"> + <keyword-value>Highlight</keyword-value> + </keyword-def> + <keyword-def name="HighlightText"> + <keyword-value>HighlightText</keyword-value> + </keyword-def> + <keyword-def name="higher"> + <keyword-value>higher</keyword-value> + </keyword-def> + <keyword-def name="hiragana"> + <keyword-value>hiragana</keyword-value> + </keyword-def> + <keyword-def name="hiragana-iroha"> + <keyword-value>hiragana-iroha</keyword-value> + </keyword-def> + <keyword-def name="horizontal" version="3"> + <keyword-value>horizontal</keyword-value> + </keyword-def> + <keyword-def name="icon"> + <keyword-value>icon</keyword-value> + </keyword-def> + <keyword-def name="InactiveBorder"> + <keyword-value>InactiveBorder</keyword-value> + </keyword-def> + <keyword-def name="InactiveCaption"> + <keyword-value>InactiveCaption</keyword-value> + </keyword-def> + <keyword-def name="InactiveCaptionText"> + <keyword-value>InactiveCaptionText</keyword-value> + </keyword-def> + <keyword-def name="InfoBackground"> + <keyword-value>InfoBackground</keyword-value> + </keyword-def> + <keyword-def name="InfoText"> + <keyword-value>InfoText</keyword-value> + </keyword-def> + <keyword-def name="inherit"> + <keyword-value>inherit</keyword-value> + </keyword-def> + <keyword-def name="inline"> + <keyword-value>inline</keyword-value> + </keyword-def> + <keyword-def name="inline-block"> + <keyword-value>inline-block</keyword-value> + </keyword-def> + <keyword-def name="inline-table"> + <keyword-value>inline-table</keyword-value> + </keyword-def> + <keyword-def name="inset"> + <keyword-value>inset</keyword-value> + </keyword-def> + <keyword-def name="inside"> + <keyword-value>inside</keyword-value> + </keyword-def> + <keyword-def name="invert"> + <keyword-value>invert</keyword-value> + </keyword-def> + <keyword-def name="italic"> + <keyword-value>italic</keyword-value> + </keyword-def> + <keyword-def name="justify"> + <keyword-value>justify</keyword-value> + </keyword-def> + <keyword-def name="katakana"> + <keyword-value>katakana</keyword-value> + </keyword-def> + <keyword-def name="katakana-iroha"> + <keyword-value>katakana-iroha</keyword-value> + </keyword-def> + <keyword-def name="landscape"> + <keyword-value>landscape</keyword-value> + </keyword-def> + <keyword-def name="large"> + <keyword-value>large</keyword-value> + </keyword-def> + <keyword-def name="larger"> + <keyword-value>larger</keyword-value> + </keyword-def> + <keyword-def name="left"> + <keyword-value>left</keyword-value> + </keyword-def> + <keyword-def name="left-side"> + <keyword-value>left-side</keyword-value> + </keyword-def> + <keyword-def name="leftwards"> + <keyword-value>leftwards</keyword-value> + </keyword-def> + <keyword-def name="level"> + <keyword-value>level</keyword-value> + </keyword-def> + <keyword-def name="lighter"> + <keyword-value>lighter</keyword-value> + </keyword-def> + <keyword-def name="lime"> + <keyword-value>lime</keyword-value> + </keyword-def> + <keyword-def name="line-through"> + <keyword-value>line-through</keyword-value> + </keyword-def> + <keyword-def name="list-item"> + <keyword-value>list-item</keyword-value> + </keyword-def> + <keyword-def name="local" version="3"> + <keyword-value>local</keyword-value> + </keyword-def> + <keyword-def name="loud"> + <keyword-value>loud</keyword-value> + </keyword-def> + <keyword-def name="low"> + <keyword-value>low</keyword-value> + </keyword-def> + <keyword-def name="lower"> + <keyword-value>lower</keyword-value> + </keyword-def> + <keyword-def name="lower-alpha"> + <keyword-value>lower-alpha</keyword-value> + </keyword-def> + <keyword-def name="lower-greek"> + <keyword-value>lower-greek</keyword-value> + </keyword-def> + <keyword-def name="lower-latin"> + <keyword-value>lower-latin</keyword-value> + </keyword-def> + <keyword-def name="lower-roman"> + <keyword-value>lower-roman</keyword-value> + </keyword-def> + <keyword-def name="lowercase"> + <keyword-value>lowercase</keyword-value> + </keyword-def> + <keyword-def name="ltr"> + <keyword-value>ltr</keyword-value> + </keyword-def> + <keyword-def name="male"> + <keyword-value>male</keyword-value> + </keyword-def> + <keyword-def name="marker"> + <keyword-value>marker</keyword-value> + </keyword-def> + <keyword-def name="maroon"> + <keyword-value>maroon</keyword-value> + </keyword-def> + <keyword-def name="medium"> + <keyword-value>medium</keyword-value> + </keyword-def> + <keyword-def name="Menu"> + <keyword-value>Menu</keyword-value> + </keyword-def> + <keyword-def name="MenuText"> + <keyword-value>MenuText</keyword-value> + </keyword-def> + <keyword-def name="message-box"> + <keyword-value>message-box</keyword-value> + </keyword-def> + <keyword-def name="middle"> + <keyword-value>middle</keyword-value> + </keyword-def> + <keyword-def name="mix"> + <keyword-value>mix</keyword-value> + </keyword-def> + <keyword-def name="monospace"> + <keyword-value>monospace</keyword-value> + </keyword-def> + <keyword-def name="move"> + <keyword-value>move</keyword-value> + </keyword-def> + <keyword-def name="n-resize"> + <keyword-value>n-resize</keyword-value> + </keyword-def> + <keyword-def name="narrower"> + <keyword-value>narrower</keyword-value> + </keyword-def> + <keyword-def name="navy"> + <keyword-value>navy</keyword-value> + </keyword-def> + <keyword-def name="ne-resize"> + <keyword-value>ne-resize</keyword-value> + </keyword-def> + <keyword-def name="no-close-quote"> + <keyword-value>no-close-quote</keyword-value> + </keyword-def> + <keyword-def name="no-open-quote"> + <keyword-value>no-open-quote</keyword-value> + </keyword-def> + <keyword-def name="no-repeat"> + <keyword-value>no-repeat</keyword-value> + </keyword-def> + <keyword-def name="none"> + <keyword-value>none</keyword-value> + </keyword-def> + <keyword-def name="normal"> + <keyword-value>normal</keyword-value> + </keyword-def> + <keyword-def name="nowrap"> + <keyword-value>nowrap</keyword-value> + </keyword-def> + <keyword-def name="nw-resize"> + <keyword-value>nw-resize</keyword-value> + </keyword-def> + <keyword-def name="oblique"> + <keyword-value>oblique</keyword-value> + </keyword-def> + <keyword-def name="olive"> + <keyword-value>olive</keyword-value> + </keyword-def> + <keyword-def name="once"> + <keyword-value>once</keyword-value> + </keyword-def> + <keyword-def name="open-quote"> + <keyword-value>open-quote</keyword-value> + </keyword-def> + <keyword-def name="orange"> + <keyword-value>orange</keyword-value> + </keyword-def> + <keyword-def name="outset"> + <keyword-value>outset</keyword-value> + </keyword-def> + <keyword-def name="outside"> + <keyword-value>outside</keyword-value> + </keyword-def> + <keyword-def name="overline"> + <keyword-value>overline</keyword-value> + </keyword-def> + <keyword-def name="padding-box" version="3"> + <keyword-value>padding-box</keyword-value> + </keyword-def> + <keyword-def name="pointer"> + <keyword-value>pointer</keyword-value> + </keyword-def> + <keyword-def name="portrait"> + <keyword-value>portrait</keyword-value> + </keyword-def> + <keyword-def name="pre"> + <keyword-value>pre</keyword-value> + </keyword-def> + <keyword-def name="pre-line"> + <keyword-value>pre-line</keyword-value> + </keyword-def> + <keyword-def name="pre-wrap"> + <keyword-value>pre-wrap</keyword-value> + </keyword-def> + <keyword-def name="progress"> + <keyword-value>progress</keyword-value> + </keyword-def> + <keyword-def name="purple"> + <keyword-value>purple</keyword-value> + </keyword-def> + <keyword-def name="red"> + <keyword-value>red</keyword-value> + </keyword-def> + <keyword-def name="relative"> + <keyword-value>relative</keyword-value> + </keyword-def> + <keyword-def name="repeat"> + <keyword-value>repeat</keyword-value> + </keyword-def> + <keyword-def name="repeat-x"> + <keyword-value>repeat-x</keyword-value> + </keyword-def> + <keyword-def name="repeat-y"> + <keyword-value>repeat-y</keyword-value> + </keyword-def> + <keyword-def name="ridge"> + <keyword-value>ridge</keyword-value> + </keyword-def> + <keyword-def name="right"> + <keyword-value>right</keyword-value> + </keyword-def> + <keyword-def name="right-side"> + <keyword-value>right-side</keyword-value> + </keyword-def> + <keyword-def name="rightwards"> + <keyword-value>rightwards</keyword-value> + </keyword-def> + <keyword-def name="round" version="3"> + <keyword-value>round</keyword-value> + </keyword-def> + <keyword-def name="rtl"> + <keyword-value>rtl</keyword-value> + </keyword-def> + <keyword-def name="run-in"> + <keyword-value>run-in</keyword-value> + </keyword-def> + <keyword-def name="s-resize"> + <keyword-value>s-resize</keyword-value> + </keyword-def> + <keyword-def name="sans-serif"> + <keyword-value>sans-serif</keyword-value> + </keyword-def> + <keyword-def name="scroll"> + <keyword-value>scroll</keyword-value> + </keyword-def> + <keyword-def name="Scrollbar"> + <keyword-value>Scrollbar</keyword-value> + </keyword-def> + <keyword-def name="se-resize"> + <keyword-value>se-resize</keyword-value> + </keyword-def> + <keyword-def name="semi-condensed"> + <keyword-value>semi-condensed</keyword-value> + </keyword-def> + <keyword-def name="semi-expanded"> + <keyword-value>semi-expanded</keyword-value> + </keyword-def> + <keyword-def name="separate"> + <keyword-value>separate</keyword-value> + </keyword-def> + <keyword-def name="serif"> + <keyword-value>serif</keyword-value> + </keyword-def> + <keyword-def name="show"> + <keyword-value>show</keyword-value> + </keyword-def> + <keyword-def name="silent"> + <keyword-value>silent</keyword-value> + </keyword-def> + <keyword-def name="silver"> + <keyword-value>silver</keyword-value> + </keyword-def> + <keyword-def name="slow"> + <keyword-value>slow</keyword-value> + </keyword-def> + <keyword-def name="slower"> + <keyword-value>slower</keyword-value> + </keyword-def> + <keyword-def name="small"> + <keyword-value>small</keyword-value> + </keyword-def> + <keyword-def name="small-caps"> + <keyword-value>small-caps</keyword-value> + </keyword-def> + <keyword-def name="small-caption"> + <keyword-value>small-caption</keyword-value> + </keyword-def> + <keyword-def name="smaller"> + <keyword-value>smaller</keyword-value> + </keyword-def> + <keyword-def name="soft"> + <keyword-value>soft</keyword-value> + </keyword-def> + <keyword-def name="solid"> + <keyword-value>solid</keyword-value> + </keyword-def> + <keyword-def name="space" version="3"> + <keyword-value>space</keyword-value> + </keyword-def> + <keyword-def name="spell-out"> + <keyword-value>spell-out</keyword-value> + </keyword-def> + <keyword-def name="square"> + <keyword-value>square</keyword-value> + </keyword-def> + <keyword-def name="static"> + <keyword-value>static</keyword-value> + </keyword-def> + <keyword-def name="status-bar"> + <keyword-value>status-bar</keyword-value> + </keyword-def> + <keyword-def name="sub"> + <keyword-value>sub</keyword-value> + </keyword-def> + <keyword-def name="super"> + <keyword-value>super</keyword-value> + </keyword-def> + <keyword-def name="sw-resize"> + <keyword-value>sw-resize</keyword-value> + </keyword-def> + <keyword-def name="table"> + <keyword-value>table</keyword-value> + </keyword-def> + <keyword-def name="table-caption"> + <keyword-value>table-caption</keyword-value> + </keyword-def> + <keyword-def name="table-cell"> + <keyword-value>table-cell</keyword-value> + </keyword-def> + <keyword-def name="table-column"> + <keyword-value>table-column</keyword-value> + </keyword-def> + <keyword-def name="table-column-group"> + <keyword-value>table-column-group</keyword-value> + </keyword-def> + <keyword-def name="table-footer-group"> + <keyword-value>table-footer-group</keyword-value> + </keyword-def> + <keyword-def name="table-header-group"> + <keyword-value>table-header-group</keyword-value> + </keyword-def> + <keyword-def name="table-row"> + <keyword-value>table-row</keyword-value> + </keyword-def> + <keyword-def name="table-row-group"> + <keyword-value>table-row-group</keyword-value> + </keyword-def> + <keyword-def name="teal"> + <keyword-value>teal</keyword-value> + </keyword-def> + <keyword-def name="text"> + <keyword-value>text</keyword-value> + </keyword-def> + <keyword-def name="text-top"> + <keyword-value>text-top</keyword-value> + </keyword-def> + <keyword-def name="text-bottom"> + <keyword-value>text-bottom</keyword-value> + </keyword-def> + <keyword-def name="thick"> + <keyword-value>thick</keyword-value> + </keyword-def> + <keyword-def name="thin"> + <keyword-value>thin</keyword-value> + </keyword-def> + <keyword-def name="ThreeDDarkShadow"> + <keyword-value>ThreeDDarkShadow</keyword-value> + </keyword-def> + <keyword-def name="ThreeDFace"> + <keyword-value>ThreeDFace</keyword-value> + </keyword-def> + <keyword-def name="ThreeDHighlight"> + <keyword-value>ThreeDHighlight</keyword-value> + </keyword-def> + <keyword-def name="ThreeDLightShadow"> + <keyword-value>ThreeDLightShadow</keyword-value> + </keyword-def> + <keyword-def name="ThreeDShadow"> + <keyword-value>ThreeDShadow</keyword-value> + </keyword-def> + <keyword-def name="top"> + <keyword-value>top</keyword-value> + </keyword-def> + <keyword-def name="transparent"> + <keyword-value>transparent</keyword-value> + </keyword-def> + <keyword-def name="ultra-condensed"> + <keyword-value>ultra-condensed</keyword-value> + </keyword-def> + <keyword-def name="ultra-expanded"> + <keyword-value>ultra-expanded</keyword-value> + </keyword-def> + <keyword-def name="underline"> + <keyword-value>underline</keyword-value> + </keyword-def> + <keyword-def name="upper-alpha"> + <keyword-value>upper-alpha</keyword-value> + </keyword-def> + <keyword-def name="upper-latin"> + <keyword-value>upper-latin</keyword-value> + </keyword-def> + <keyword-def name="upper-roman"> + <keyword-value>upper-roman</keyword-value> + </keyword-def> + <keyword-def name="uppercase"> + <keyword-value>uppercase</keyword-value> + </keyword-def> + <keyword-def name="vertical" version="3"> + <keyword-value>vertical</keyword-value> + </keyword-def> + <keyword-def name="visible"> + <keyword-value>visible</keyword-value> + </keyword-def> + <keyword-def name="w-resize"> + <keyword-value>w-resize</keyword-value> + </keyword-def> + <keyword-def name="wait"> + <keyword-value>wait</keyword-value> + </keyword-def> + <keyword-def name="white"> + <keyword-value>white</keyword-value> + </keyword-def> + <keyword-def name="wider"> + <keyword-value>wider</keyword-value> + </keyword-def> + <keyword-def name="Window"> + <keyword-value>Window</keyword-value> + </keyword-def> + <keyword-def name="WindowFrame"> + <keyword-value>WindowFrame</keyword-value> + </keyword-def> + <keyword-def name="WindowText"> + <keyword-value>WindowText</keyword-value> + </keyword-def> + <keyword-def name="x-fast"> + <keyword-value>x-fast</keyword-value> + </keyword-def> + <keyword-def name="x-high"> + <keyword-value>x-high</keyword-value> + </keyword-def> + <keyword-def name="x-large"> + <keyword-value>x-large</keyword-value> + </keyword-def> + <keyword-def name="x-loud"> + <keyword-value>x-loud</keyword-value> + </keyword-def> + <keyword-def name="x-low"> + <keyword-value>x-low</keyword-value> + </keyword-def> + <keyword-def name="x-slow"> + <keyword-value>x-slow</keyword-value> + </keyword-def> + <keyword-def name="x-small"> + <keyword-value>x-small</keyword-value> + </keyword-def> + <keyword-def name="x-soft"> + <keyword-value>x-soft</keyword-value> + </keyword-def> + <keyword-def name="xx-small"> + <keyword-value>xx-small</keyword-value> + </keyword-def> + <keyword-def name="xx-large"> + <keyword-value>xx-large</keyword-value> + </keyword-def> + <keyword-def name="yellow"> + <keyword-value>yellow</keyword-value> + </keyword-def> +</css-profile>
\ No newline at end of file diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties index dd7e399c94..323030bd0b 100644 --- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties +++ b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties @@ -27,6 +27,8 @@ css2.category-def.tables.caption=Tables css2.category-def.text.caption=Text css2.category-def.visual.caption=Visual css2.category-def.ui.caption=User interface +# cssprofile-css3.xml +css3.stylesheet-def.description=Cascading Style Sheets, level 3 # cssprofile-mobile1_0.xml mobile1_0.stylesheet-def.description=CSS Mobile Profile 1.0 # cssprofile-wap.xml diff --git a/bundles/org.eclipse.wst.css.core/plugin.properties b/bundles/org.eclipse.wst.css.core/plugin.properties index 993a482460..cc1c1cbb48 100644 --- a/bundles/org.eclipse.wst.css.core/plugin.properties +++ b/bundles/org.eclipse.wst.css.core/plugin.properties @@ -10,6 +10,7 @@ ############################################################################### providerName=Eclipse Web Tools Platform pluginName=Structured Source CSS Model +cssprofile_css3.name=CSS3: Cascading Style Sheets, level 3 cssprofile_css2.name=CSS2: Cascading Style Sheets, level 2 cssprofile_css1.name=CSS1: Cascading Style Sheets, level 1 cssprofile_mobile1_0.name=CSS Mobile Profile 1.0 diff --git a/bundles/org.eclipse.wst.css.core/plugin.xml b/bundles/org.eclipse.wst.css.core/plugin.xml index f764b51596..fc6ad46dbc 100644 --- a/bundles/org.eclipse.wst.css.core/plugin.xml +++ b/bundles/org.eclipse.wst.css.core/plugin.xml @@ -4,6 +4,11 @@ <extension point="org.eclipse.wst.sse.core.cssprofile"> <profile + name="%cssprofile_css3.name" + uri="cssprofile/cssprofile-css3.xml" + id="org.eclipse.wst.css.core.cssprofile.css3"> + </profile> + <profile name="%cssprofile_css2.name" default="true" uri="cssprofile/cssprofile-css2.xml" diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java index b8600def90..113e855904 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java @@ -17,6 +17,7 @@ package org.eclipse.wst.css.core.internal.contentmodel; */ public interface IValID { + public final static String V_1 = "1";//$NON-NLS-1$ public final static String V_100 = "100"; //$NON-NLS-1$ public final static String V_200 = "200"; //$NON-NLS-1$ public final static String V_300 = "300"; //$NON-NLS-1$ @@ -38,6 +39,7 @@ public interface IValID { public final static String V_AUTO = "auto"; //$NON-NLS-1$ public final static String V_AVOID = "avoid"; //$NON-NLS-1$ public final static String V_BACKGROUND = "Background"; //$NON-NLS-1$ + public final static String V_BALANCE = "balance";//$NON-NLS-1$ public final static String V_BASELINE = "baseline"; //$NON-NLS-1$ public final static String V_BEHIND = "behind"; //$NON-NLS-1$ public final static String V_BELOW = "below"; //$NON-NLS-1$ @@ -48,6 +50,7 @@ public interface IValID { public final static String V_BLUE = "blue"; //$NON-NLS-1$ public final static String V_BOLD = "bold"; //$NON-NLS-1$ public final static String V_BOLDER = "bolder"; //$NON-NLS-1$ + public final static String V_BORDER_BOX = "border-box"; //$NON-NLS-1$ public final static String V_BOTH = "both"; //$NON-NLS-1$ public final static String V_BOTTOM = "bottom"; //$NON-NLS-1$ public final static String V_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$ @@ -63,12 +66,16 @@ public interface IValID { public final static String V_CHILD = "child"; //$NON-NLS-1$ public final static String V_CIRCLE = "circle"; //$NON-NLS-1$ public final static String V_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$ + public final static String V_CLIP = "clip"; //$NON-NLS-1$ public final static String V_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$ public final static String V_CODE = "code"; //$NON-NLS-1$ public final static String V_CONDENSED = "condensed"; //$NON-NLS-1$ public final static String V_COLLAPSE = "collapse"; //$NON-NLS-1$ public final static String V_COMPACT = "compact"; //$NON-NLS-1$ + public final static String V_CONTAIN = "contain"; //$NON-NLS-1$ + public final static String V_CONTENT_BOX = "content-box"; //$NON-NLS-1$ public final static String V_CONTINUOUS = "continuous"; //$NON-NLS-1$ + public final static String V_COVER = "cover"; //$NON-NLS-1$ public final static String V_CROP = "crop"; //$NON-NLS-1$ public final static String V_CROSS = "cross"; //$NON-NLS-1$ public final static String V_CROSSHAIR = "crosshair"; //$NON-NLS-1$ @@ -82,6 +89,7 @@ public interface IValID { public final static String V_DOTTED = "dotted"; //$NON-NLS-1$ public final static String V_DOUBLE = "double"; //$NON-NLS-1$ public final static String V_E_RESIZE = "e-resize"; //$NON-NLS-1$ + public final static String V_ELLIPSIS = "ellipsis"; //$NON-NLS-1$ public final static String V_EMBED = "embed"; //$NON-NLS-1$ public final static String V_EXPANDED = "expanded"; //$NON-NLS-1$ public final static String V_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$ @@ -109,6 +117,7 @@ public interface IValID { public final static String V_HIGHER = "higher"; //$NON-NLS-1$ public final static String V_HIRAGANA = "hiragana"; //$NON-NLS-1$ public final static String V_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$ + public final static String V_HORIZONTAL = "horizontal"; //$NON-NLS-1$ public final static String V_ICON = "icon"; //$NON-NLS-1$ public final static String V_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$ public final static String V_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$ @@ -136,6 +145,7 @@ public interface IValID { public final static String V_LIME = "lime"; //$NON-NLS-1$ public final static String V_LINE_THROUGH = "line-through"; //$NON-NLS-1$ public final static String V_LIST_ITEM = "list-item"; //$NON-NLS-1$ + public final static String V_LOCAL = "local"; //$NON-NLS-1$ public final static String V_LOUD = "loud"; //$NON-NLS-1$ public final static String V_LOW = "low"; //$NON-NLS-1$ public final static String V_LOWER = "lower"; //$NON-NLS-1$ @@ -175,6 +185,7 @@ public interface IValID { public final static String V_OUTSET = "outset"; //$NON-NLS-1$ public final static String V_OUTSIDE = "outside"; //$NON-NLS-1$ public final static String V_OVERLINE = "overline"; //$NON-NLS-1$ + public final static String V_PADDING_BOX = "padding-box"; //$NON-NLS-1$ public final static String V_POINTER = "pointer"; //$NON-NLS-1$ public final static String V_PORTRAIT = "portrait"; //$NON-NLS-1$ public final static String V_PRE = "pre"; //$NON-NLS-1$ @@ -191,6 +202,7 @@ public interface IValID { public final static String V_RIGHT = "right"; //$NON-NLS-1$ public final static String V_RIGHT_SIDE = "right-side"; //$NON-NLS-1$ public final static String V_RIGHTWARDS = "rightwards"; //$NON-NLS-1$ + public final static String V_ROUND = "round"; //$NON-NLS-1$ public final static String V_RTL = "rtl"; //$NON-NLS-1$ public final static String V_RUN_IN = "run-in"; //$NON-NLS-1$ public final static String V_S_RESIZE = "s-resize"; //$NON-NLS-1$ @@ -213,6 +225,7 @@ public interface IValID { public final static String V_SMALLER = "smaller"; //$NON-NLS-1$ public final static String V_SOFT = "soft"; //$NON-NLS-1$ public final static String V_SOLID = "solid"; //$NON-NLS-1$ + public final static String V_SPACE = "space"; //$NON-NLS-1$ public final static String V_SPELL_OUT = "spell-out"; //$NON-NLS-1$ public final static String V_SQUARE = "square"; //$NON-NLS-1$ public final static String V_STATIC = "static"; //$NON-NLS-1$ @@ -249,6 +262,7 @@ public interface IValID { public final static String V_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$ public final static String V_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$ public final static String V_UPPERCASE = "uppercase"; //$NON-NLS-1$ + public final static String V_VERTICAL = "vertical";//$NON-NLS-1$ public final static String V_VISIBLE = "visible"; //$NON-NLS-1$ public final static String V_W_RESIZE = "w-resize"; //$NON-NLS-1$ public final static String V_WAIT = "wait"; //$NON-NLS-1$ diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java index d5b96c0a65..476ead2d36 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java @@ -126,6 +126,14 @@ public abstract class PropCMNode { prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT); prop.appendChild(IValID.V_SCROLL); prop.appendChild(IValID.V_FIXED); + prop.appendChild(IValID.V_LOCAL); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // background-clip + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_CLIP); + prop.appendChild(IValID.V_BORDER_BOX); + prop.appendChild(IValID.V_CONTENT_BOX); + prop.appendChild(IValID.V_PADDING_BOX); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); // background-color @@ -140,6 +148,13 @@ public abstract class PropCMNode { prop.appendChild(IValID.V_NONE); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // background-origin + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ORIGIN); + prop.appendChild(IValID.V_PADDING_BOX); + prop.appendChild(IValID.V_BORDER_BOX); + prop.appendChild(IValID.V_CONTENT_BOX); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // background-position ---- sub-properties horizontal prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X); prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); @@ -170,9 +185,19 @@ public abstract class PropCMNode { prop.appendChild(IValID.V_REPEAT); prop.appendChild(IValID.V_REPEAT_X); prop.appendChild(IValID.V_REPEAT_Y); + prop.appendChild(IValID.V_SPACE); + prop.appendChild(IValID.V_ROUND); prop.appendChild(IValID.V_NO_REPEAT); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // background-size + prop = PropCMSubProperty.getInstanceOf(PropCMProperty.P_BG_SIZE); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE)); + prop.appendChild(IValID.V_CONTAIN); + prop.appendChild(IValID.V_COVER); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // border prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER); prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH)); @@ -317,6 +342,34 @@ public abstract class PropCMNode { prop.setMaxValueCount(4); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // border-top-left-radius + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // border-top-right-radius + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // border-bottom-left-radius + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // border-bottom-right-radius + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RADIUS); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + prop.setMaxValueCount(4); + // bottom prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM); prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); @@ -324,6 +377,20 @@ public abstract class PropCMNode { prop.appendChild(IValID.V_AUTO); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // box-shadow + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SHADOW); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + // prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR)); + prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR)); + prop.setMaxValueCount(4); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // box-shadow + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SIZING); + prop.appendChild(IValID.V_BORDER_BOX); + prop.appendChild(IValID.V_CONTENT_BOX); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // caption-side prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE); prop.appendChild(IValID.V_TOP); @@ -379,6 +446,65 @@ public abstract class PropCMNode { prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR)); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // columns + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMNS); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-width + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendChild(IValID.V_AUTO); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-count + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER)); + prop.appendChild(IValID.V_AUTO); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-fill + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_FILL); + prop.appendChild(IValID.V_AUTO); + prop.appendChild(IValID.V_BALANCE); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-gap + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_GAP); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH)); + prop.appendChild(IValID.V_NORMAL); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-rule + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE)); + prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR)); + prop.setMaxValueCount(3); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-rule-color + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR); + prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-rule-style + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE); + prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-rule-width + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH); + prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + + // column-span + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_SPAN); + prop.appendChild(IValID.V_1); + prop.appendChild(IValID.V_ALL); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // content prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT); prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY)); @@ -731,6 +857,11 @@ public abstract class PropCMNode { prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE)); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // opacity + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OPACITY); + prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM)); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // orphans prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS); prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER)); @@ -896,6 +1027,14 @@ public abstract class PropCMNode { prop.setMaxValueCount(-1); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // resize + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RESIZE); + prop.appendChild(IValID.V_BOTH); + prop.appendChild(IValID.V_HORIZONTAL); + prop.appendChild(IValID.V_NONE); + prop.appendChild(IValID.V_VERTICAL); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // richness prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS); prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM)); @@ -989,6 +1128,12 @@ public abstract class PropCMNode { prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE)); prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // text-overflow + prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_OVERFLOW); + prop.appendChild(IValID.V_CLIP); + prop.appendChild(IValID.V_ELLIPSIS); + prop.appendMediaGroup(IMediaGroupID.M_VISUAL); + // text-shadow prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW); prop.appendChild(IValID.V_NONE); diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java index bbab38f642..54cd4fb173 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -33,10 +33,13 @@ public class PropCMProperty extends PropCMContainer { public final static String P_AZIMUTH = "azimuth";//$NON-NLS-1$ public final static String P_BG = "background";//$NON-NLS-1$ public final static String P_BG_ATTACHMENT = "background-attachment";//$NON-NLS-1$ + public final static String P_BG_CLIP = "background-clip"; //$NON-NLS-1$ public final static String P_BG_COLOR = "background-color";//$NON-NLS-1$ public final static String P_BG_IMAGE = "background-image";//$NON-NLS-1$ + public final static String P_BG_ORIGIN = "background-origin"; //$NON-NLS-1$ public final static String P_BG_POSITION = "background-position";//$NON-NLS-1$ public final static String P_BG_REPEAT = "background-repeat";//$NON-NLS-1$ + public final static String P_BG_SIZE = "background-size"; //$NON-NLS-1$ public final static String P_BORDER = "border";//$NON-NLS-1$ public final static String P_BORDER_COLLAPSE = "border-collapse";//$NON-NLS-1$ public final static String P_BORDER_COLOR = "border-color";//$NON-NLS-1$ @@ -59,11 +62,28 @@ public class PropCMProperty extends PropCMContainer { public final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width";//$NON-NLS-1$ public final static String P_BORDER_LEFT_WIDTH = "border-left-width";//$NON-NLS-1$ public final static String P_BORDER_WIDTH = "border-width";//$NON-NLS-1$ + public final static String P_BORDER_RADIUS = "border-radius"; //$NON-NLS-1$ + public final static String P_BORDER_TOP_LEFT_RADIUS = "border-top-left-radius"; //$NON-NLS-1$ + public final static String P_BORDER_TOP_RIGHT_RADIUS = "border-top-right-radius"; //$NON-NLS-1$ + public final static String P_BORDER_BOTTOM_LEFT_RADIUS = "border-bottom-left-radius"; //$NON-NLS-1$ + public final static String P_BORDER_BOTTOM_RIGHT_RADIUS = "border-bottom-right-radius"; //$NON-NLS-1$ public final static String P_BOTTOM = "bottom";//$NON-NLS-1$ + public final static String P_BOX_SHADOW = "box-shadow"; //$NON-NLS-1$ + public final static String P_BOX_SIZING = "box-sizing"; //$NON-NLS-1$ public final static String P_CAPTION_SIDE = "caption-side";//$NON-NLS-1$ public final static String P_CLEAR = "clear";//$NON-NLS-1$ public final static String P_CLIP = "clip";//$NON-NLS-1$ public final static String P_COLOR = "color";//$NON-NLS-1$ + public final static String P_COLUMNS = "columns";//$NON-NLS-1$ + public final static String P_COLUMN_COUNT = "column-count";//$NON-NLS-1$ + public final static String P_COLUMN_FILL = "column-fill";//$NON-NLS-1$ + public final static String P_COLUMN_GAP = "column-gap";//$NON-NLS-1$ + public final static String P_COLUMN_RULE = "column-rule";//$NON-NLS-1$ + public final static String P_COLUMN_RULE_COLOR = "column-rule-color";//$NON-NLS-1$ + public final static String P_COLUMN_RULE_STYLE = "column-rule-styler";//$NON-NLS-1$ + public final static String P_COLUMN_RULE_WIDTH = "column-rule-width";//$NON-NLS-1$ + public final static String P_COLUMN_SPAN = "column-span";//$NON-NLS-1$ + public final static String P_COLUMN_WIDTH = "column-width";//$NON-NLS-1$ public final static String P_CONTENT = "content";//$NON-NLS-1$ public final static String P_COUNTER_INCREMENT = "counter-increment";//$NON-NLS-1$ public final static String P_COUNTER_RESET = "counter-reset";//$NON-NLS-1$ @@ -103,6 +123,7 @@ public class PropCMProperty extends PropCMContainer { public final static String P_MAX_WIDTH = "max-width";//$NON-NLS-1$ public final static String P_MIN_HEIGHT = "min-height";//$NON-NLS-1$ public final static String P_MIN_WIDTH = "min-width";//$NON-NLS-1$ + public final static String P_OPACITY = "opacity"; //$NON-NLS-1$ public final static String P_ORPHANS = "orphans";//$NON-NLS-1$ public final static String P_OUTLINE = "outline";//$NON-NLS-1$ public final static String P_OUTLINE_COLOR = "outline-color";//$NON-NLS-1$ @@ -126,6 +147,7 @@ public class PropCMProperty extends PropCMContainer { public final static String P_PLAY_DURING = "play-during";//$NON-NLS-1$ public final static String P_POSITION = "position";//$NON-NLS-1$ public final static String P_QUOTES = "quotes";//$NON-NLS-1$ + public final static String P_RESIZE = "resize"; //$NON-NLS-1$ public final static String P_RICHNESS = "richness";//$NON-NLS-1$ public final static String P_RIGHT = "right";//$NON-NLS-1$ public final static String P_SIZE = "size";//$NON-NLS-1$ @@ -139,6 +161,7 @@ public class PropCMProperty extends PropCMContainer { public final static String P_TEXT_ALIGN = "text-align";//$NON-NLS-1$ public final static String P_TEXT_DECORATION = "text-decoration";//$NON-NLS-1$ public final static String P_TEXT_INDENT = "text-indent";//$NON-NLS-1$ + public final static String P_TEXT_OVERFLOW = "text-overflow"; //$NON-NLS-1$ public final static String P_TEXT_SHADOW = "text-shadow";//$NON-NLS-1$ public final static String P_TEXT_TRANSFORM = "text-transform";//$NON-NLS-1$ public final static String P_TOP = "top";//$NON-NLS-1$ diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java index eebe91731e..51adb83e45 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -28,6 +28,15 @@ public class CSSMMPseudoElementImpl extends CSSMMSelectorImpl { } void setSelectorString(String value) { - fValue = ":" + value; //$NON-NLS-1$ + String version = getAttribute("version"); //$NON-NLS-1$ + long v = 0; + if (version != null) { + try { + v = Long.parseLong(version); + } + catch (Exception e) {} + } + // Pseudo Elements added since CSS3 are prefixed by two colons + fValue = ((v >= 3) ? "::" : ":") + value; //$NON-NLS-1$ //$NON-NLS-2$ } } diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java index 82a6b33948..1f1710506a 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,6 +32,8 @@ import org.xml.sax.helpers.DefaultHandler; class ProfileHandler extends DefaultHandler { + private StringBuffer fCharacters = null; + public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle, boolean logging) { super(); fMetaModel = metamodel; @@ -150,19 +152,12 @@ class ProfileHandler extends DefaultHandler { } public void endElement(String uri, String localName, String qName) throws SAXException { - fNodeStack.pop(); - } - - public void characters(char[] ch, int start, int length) throws SAXException { + TagNode tagNode = (TagNode) fNodeStack.peek(); + CSSMMNodeImpl node = tagNode.node; String tagName = tagNode.tag; - if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) { - StringBuffer buf = new StringBuffer(length); - for (int i = 0; i < length; i++) { - buf.append(ch[start + i]); - } - String value = getResourceString(buf.toString().trim()); - CSSMMNodeImpl node = tagNode.node; + if (fCharacters != null && (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION))) { + String value = getResourceString(fCharacters.toString().trim()); if (node != null) { if (node.getType() == CSSMMNode.TYPE_KEYWORD && tagName.equals(ProfileKeywords.KEYWORD_VALUE)) { ((CSSMMKeywordImpl) node).setKeywordString(value); @@ -187,6 +182,20 @@ class ProfileHandler extends DefaultHandler { } } } + fNodeStack.pop(); + fCharacters = null; + } + + public void characters(char[] ch, int start, int length) throws SAXException { + + TagNode tagNode = (TagNode) fNodeStack.peek(); + String tagName = tagNode.tag; + if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) { + if (fCharacters == null) { + fCharacters = new StringBuffer(length); + } + fCharacters.append(ch, start, length); + } } private boolean isDefinition(String tagName) { diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java index a9b7e60546..1d6823456f 100644 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java +++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java @@ -1,7 +1,7 @@ -/* The following code was generated by JFlex 1.4.2 on 8/13/10 2:23 PM */ +/* The following code was generated by JFlex 1.4.2 on 12/21/10 5:05 PM */ /******************************************************************************* - * Copyright (c) 2004, 2009 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -27,8 +27,8 @@ import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.4.2 - * on 8/13/10 2:23 PM from the specification file - * <tt>D:/dev/workspaces/helios/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt> + * on 12/21/10 5:05 PM from the specification file + * <tt>D:/dev/workspaces/indigo/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt> */ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { @@ -78,14 +78,14 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11"+ - "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\15\1\55"+ - "\1\10\1\14\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27"+ + "\1\21\1\16\1\73\1\16\1\5\1\25\1\13\1\35\1\15\1\55"+ + "\1\10\1\14\1\34\12\1\1\62\1\50\1\30\1\70\1\32\1\27"+ "\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51"+ - "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47"+ - "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7"+ - "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52"+ - "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60"+ - "\1\70\1\33\1\70\1\0\uff80\2"; + "\2\66\1\24\1\52\1\65\1\54\1\53\1\66\1\23\1\44\1\47"+ + "\1\22\5\66\1\67\1\3\1\72\1\16\1\2\1\16\1\42\1\7"+ + "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\66\1\24\1\52"+ + "\1\65\1\54\1\53\1\66\1\23\1\44\1\47\1\22\5\66\1\60"+ + "\1\71\1\33\1\71\1\0\uff80\2"; /** * Translates characters to character classes @@ -115,25 +115,24 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { "\1\22\1\25\1\0\1\25\2\0\1\25\1\0\1\26"+ "\1\42\1\32\1\0\1\32\1\0\1\45\2\0\1\45"+ "\1\0\1\46\1\51\1\32\1\0\1\2\1\35\1\36"+ - "\1\52\1\53\10\0\1\6\5\0\1\11\1\13\1\16"+ + "\1\52\1\53\5\0\2\6\5\0\1\11\1\13\1\16"+ "\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+ "\1\51\1\0\1\44\1\0\1\2\1\35\1\36\3\0"+ - "\1\54\2\0\1\6\1\0\1\6\10\0\1\55\1\11"+ - "\1\13\1\16\1\22\1\25\2\0\1\26\1\42\2\32"+ - "\2\0\1\46\2\51\5\0\1\56\1\0\1\2\1\35"+ - "\1\36\2\0\1\57\2\0\1\6\6\0\1\55\2\0"+ - "\1\11\1\13\1\16\1\22\1\25\2\0\1\26\1\42"+ - "\2\32\2\0\1\46\2\51\2\0\1\56\3\0\1\2"+ - "\1\35\1\36\1\0\1\60\2\0\1\6\13\0\1\11"+ - "\1\13\1\16\1\22\1\25\2\0\1\26\1\42\2\32"+ - "\2\0\1\46\2\51\10\0\1\35\1\36\1\61\2\0"+ - "\1\6\6\0\1\55\1\0\1\55\2\0\1\42\1\32"+ - "\2\0\1\46\2\51\2\0\1\56\1\0\1\56\6\0"+ - "\1\32\1\51\4\0\1\62\4\0\1\51\3\0\1\63"+ - "\12\0"; + "\1\54\1\0\1\6\10\0\1\55\1\11\1\13\1\16"+ + "\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+ + "\2\51\5\0\1\56\1\0\1\2\1\35\1\36\2\0"+ + "\1\57\1\0\1\6\6\0\1\55\2\0\1\11\1\13"+ + "\1\16\1\22\1\25\2\0\1\26\1\42\2\32\2\0"+ + "\1\46\2\51\2\0\1\56\3\0\1\2\1\35\1\36"+ + "\1\0\1\60\1\0\1\6\13\0\1\11\1\13\1\16"+ + "\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+ + "\2\51\10\0\1\35\1\36\1\61\1\0\1\6\6\0"+ + "\1\55\1\0\1\55\2\0\1\42\1\32\2\0\1\46"+ + "\2\51\2\0\1\56\1\0\1\56\5\0\1\32\1\51"+ + "\4\0\1\62\3\0\1\51\3\0\1\63\12\0"; private static int [] zzUnpackAction() { - int [] result = new int[436]; + int [] result = new int[426]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -158,64 +157,63 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\73\0\166\0\261\0\354\0\u0127\0\u0162\0\u019d"+ - "\0\u01d8\0\u0213\0\u024e\0\u0289\0\u02c4\0\u02ff\0\u033a\0\u0375"+ - "\0\u03b0\0\u03eb\0\u0426\0\u0461\0\u049c\0\u04d7\0\u0512\0\u054d"+ - "\0\u0588\0\u05c3\0\u05fe\0\u0461\0\u0639\0\u0461\0\u0674\0\u06af"+ - "\0\u0461\0\u06ea\0\u0725\0\u0760\0\u0461\0\u079b\0\u07d6\0\u0811"+ - "\0\u084c\0\u0887\0\u08c2\0\u0461\0\u08fd\0\u0938\0\u0973\0\u0461"+ - "\0\u0461\0\u09ae\0\u09e9\0\u0a24\0\u0461\0\u0a5f\0\u0a9a\0\u0461"+ - "\0\u0461\0\u0ad5\0\u0b10\0\u0b4b\0\u0461\0\u0b86\0\u0461\0\u0bc1"+ - "\0\u0bfc\0\u0c37\0\u0c72\0\u0cad\0\u0ce8\0\u0d23\0\u0d5e\0\u0d99"+ - "\0\u0461\0\u0461\0\u0dd4\0\u0e0f\0\u0e4a\0\u0e85\0\u0ec0\0\u0efb"+ - "\0\u0461\0\u0f36\0\u0f71\0\u0fac\0\u0fe7\0\u1022\0\u0639\0\u0461"+ - "\0\u105d\0\u04d7\0\u1098\0\u10d3\0\u0588\0\u110e\0\u05c3\0\u1149"+ - "\0\u1184\0\u11bf\0\u11fa\0\u1235\0\u1270\0\u12ab\0\u12e6\0\u1321"+ - "\0\u135c\0\u1397\0\u06ea\0\u13d2\0\u0461\0\u0760\0\u140d\0\u079b"+ - "\0\u1448\0\u0461\0\u07d6\0\u1483\0\u14be\0\u0887\0\u14f9\0\u0938"+ - "\0\u1534\0\u09e9\0\u156f\0\u15aa\0\u0461\0\u0b10\0\u15e5\0\u0bfc"+ - "\0\u1620\0\u0c37\0\u165b\0\u0461\0\u0cad\0\u1696\0\u0d23\0\u16d1"+ - "\0\u170c\0\u1747\0\u1782\0\u17bd\0\u0f36\0\u0461\0\u0e4a\0\u17f8"+ - "\0\u0461\0\u1833\0\u0e85\0\u186e\0\u0461\0\u0efb\0\u18a9\0\u18e4"+ - "\0\u0fac\0\u191f\0\u195a\0\u1995\0\u1022\0\u19d0\0\u0461\0\u1a0b"+ - "\0\u0461\0\u1a46\0\u1a81\0\u1abc\0\u1af7\0\u1b32\0\u1b6d\0\u1ba8"+ - "\0\u1be3\0\u1c1e\0\u1c59\0\u1c94\0\u1ccf\0\u06ea\0\u1d0a\0\u1d45"+ - "\0\u0760\0\u1d80\0\u1dbb\0\u079b\0\u1df6\0\u1e31\0\u07d6\0\u1e6c"+ - "\0\u1ea7\0\u1ee2\0\u1f1d\0\u1f58\0\u1f93\0\u1fce\0\u2009\0\u0c37"+ - "\0\u2044\0\u207f\0\u0cad\0\u20ba\0\u20f5\0\u2130\0\u216b\0\u21a6"+ - "\0\u21e1\0\u221c\0\u0e85\0\u2257\0\u2292\0\u0efb\0\u22cd\0\u2308"+ - "\0\u2343\0\u237e\0\u23b9\0\u23f4\0\u242f\0\u246a\0\u0461\0\u0461"+ - "\0\u24a5\0\u24e0\0\u251b\0\u2556\0\u2591\0\u25cc\0\u2607\0\u2642"+ - "\0\u267d\0\u26b8\0\u26f3\0\u272e\0\u2769\0\u27a4\0\u27df\0\u281a"+ - "\0\u2855\0\u2890\0\u28cb\0\u2906\0\u2941\0\u297c\0\u29b7\0\u29f2"+ - "\0\u2a2d\0\u2a68\0\u2aa3\0\u2ade\0\u2b19\0\u2b54\0\u2b8f\0\u2bca"+ - "\0\u2c05\0\u2c40\0\u2c7b\0\u2cb6\0\u2cf1\0\u2d2c\0\u0461\0\u2d67"+ - "\0\u2da2\0\u0461\0\u2ddd\0\u2e18\0\u2e53\0\u2e8e\0\u2ec9\0\u2f04"+ - "\0\u2f3f\0\u2f7a\0\u2fb5\0\u2ff0\0\u0461\0\u302b\0\u3066\0\u30a1"+ - "\0\u30dc\0\u3117\0\u3152\0\u318d\0\u31c8\0\u3203\0\u323e\0\u3279"+ - "\0\u32b4\0\u32ef\0\u332a\0\u3365\0\u33a0\0\u33db\0\u3416\0\u2b8f"+ - "\0\u3451\0\u348c\0\u0461\0\u34c7\0\u3502\0\u353d\0\u3578\0\u35b3"+ - "\0\u35ee\0\u0461\0\u3629\0\u3664\0\u369f\0\u36da\0\u3715\0\u3750"+ - "\0\u378b\0\u37c6\0\u3801\0\u2f3f\0\u383c\0\u3877\0\u38b2\0\u38ed"+ - "\0\u3928\0\u3963\0\u399e\0\u39d9\0\u3a14\0\u3a4f\0\u3a8a\0\u3ac5"+ - "\0\u3b00\0\u3b3b\0\u3b76\0\u3bb1\0\u3bec\0\u3c27\0\u3c62\0\u3c9d"+ - "\0\u33db\0\u3cd8\0\u3d13\0\u3d4e\0\u3d89\0\u3dc4\0\u3dff\0\u3e3a"+ - "\0\u0461\0\u3e75\0\u3eb0\0\u3eeb\0\u3f26\0\u3f61\0\u3f9c\0\u3fd7"+ - "\0\u4012\0\u404d\0\u4088\0\u40c3\0\u40fe\0\u4139\0\u4174\0\u41af"+ - "\0\u41ea\0\u4225\0\u4260\0\u429b\0\u42d6\0\u4311\0\u434c\0\u4387"+ - "\0\u43c2\0\u43fd\0\u4438\0\u4473\0\u44ae\0\u44e9\0\u4524\0\u455f"+ - "\0\u459a\0\u45d5\0\u4610\0\u464b\0\u4686\0\u46c1\0\u46fc\0\u4737"+ - "\0\u4772\0\u0461\0\u47ad\0\u47e8\0\u4823\0\u485e\0\u4899\0\u48d4"+ - "\0\u490f\0\u494a\0\u4985\0\u2fb5\0\u49c0\0\u2ff0\0\u49fb\0\u4a36"+ - "\0\u4a71\0\u4aac\0\u4ae7\0\u4b22\0\u4b5d\0\u4b98\0\u4bd3\0\u4c0e"+ - "\0\u4c49\0\u3451\0\u4c84\0\u348c\0\u4cbf\0\u4cfa\0\u4d35\0\u4d70"+ - "\0\u4dab\0\u4de6\0\u4e21\0\u4e5c\0\u4e97\0\u4ed2\0\u4f0d\0\u4f48"+ - "\0\u0461\0\u4f83\0\u4fbe\0\u4ff9\0\u5034\0\u0461\0\u506f\0\u50aa"+ - "\0\u50e5\0\u0461\0\u5120\0\u515b\0\u5196\0\u51d1\0\u520c\0\u5247"+ - "\0\u5282\0\u52bd\0\u52f8\0\u5333"; + "\0\0\0\74\0\170\0\264\0\360\0\u012c\0\u0168\0\u01a4"+ + "\0\u01e0\0\u021c\0\u0258\0\u0294\0\u02d0\0\u030c\0\u0348\0\u0384"+ + "\0\u03c0\0\u03fc\0\u0438\0\u0474\0\u04b0\0\u04ec\0\u0528\0\u0564"+ + "\0\u05a0\0\u05dc\0\u0618\0\u0474\0\u0654\0\u0474\0\u0690\0\u06cc"+ + "\0\u0474\0\u0708\0\u0744\0\u0780\0\u0474\0\u07bc\0\u07f8\0\u0834"+ + "\0\u0870\0\u08ac\0\u08e8\0\u0474\0\u0924\0\u0960\0\u099c\0\u0474"+ + "\0\u0474\0\u09d8\0\u0a14\0\u0a50\0\u0474\0\u0a8c\0\u0ac8\0\u0474"+ + "\0\u0474\0\u0b04\0\u0b40\0\u0b7c\0\u0474\0\u0bb8\0\u0474\0\u0bf4"+ + "\0\u0c30\0\u0c6c\0\u0ca8\0\u0ce4\0\u0d20\0\u0d5c\0\u0d98\0\u0dd4"+ + "\0\u0474\0\u0474\0\u0e10\0\u0e4c\0\u0e88\0\u0ec4\0\u0f00\0\u0f3c"+ + "\0\u0474\0\u0f78\0\u0fb4\0\u0ff0\0\u102c\0\u1068\0\u0654\0\u0474"+ + "\0\u10a4\0\u04ec\0\u10e0\0\u111c\0\u05a0\0\u1158\0\u05dc\0\u1194"+ + "\0\u11d0\0\u120c\0\u1248\0\u1284\0\u12c0\0\u12fc\0\u1338\0\u1374"+ + "\0\u13b0\0\u13ec\0\u0708\0\u1428\0\u0474\0\u0780\0\u1464\0\u07bc"+ + "\0\u14a0\0\u0474\0\u07f8\0\u14dc\0\u1518\0\u08ac\0\u1554\0\u0960"+ + "\0\u1590\0\u0a14\0\u15cc\0\u1608\0\u0474\0\u0b40\0\u1644\0\u0c30"+ + "\0\u1680\0\u0c6c\0\u16bc\0\u0474\0\u0ce4\0\u16f8\0\u0d5c\0\u1734"+ + "\0\u1770\0\u17ac\0\u17e8\0\u1824\0\u0f78\0\u0474\0\u0e88\0\u1860"+ + "\0\u0474\0\u189c\0\u0ec4\0\u18d8\0\u0474\0\u0f3c\0\u1914\0\u1950"+ + "\0\u0ff0\0\u198c\0\u19c8\0\u1a04\0\u1068\0\u1a40\0\u0474\0\u1a7c"+ + "\0\u0474\0\u1ab8\0\u1af4\0\u1b30\0\u1b6c\0\u1ba8\0\u1be4\0\u1c20"+ + "\0\u1c5c\0\u1c98\0\u1cd4\0\u1d10\0\u1d4c\0\u0708\0\u1d88\0\u1dc4"+ + "\0\u0780\0\u1e00\0\u1e3c\0\u07bc\0\u1e78\0\u1eb4\0\u07f8\0\u1ef0"+ + "\0\u1f2c\0\u1f68\0\u1fa4\0\u1fe0\0\u201c\0\u2058\0\u2094\0\u0c6c"+ + "\0\u20d0\0\u210c\0\u0ce4\0\u2148\0\u2184\0\u21c0\0\u21fc\0\u2238"+ + "\0\u2274\0\u22b0\0\u0ec4\0\u22ec\0\u2328\0\u0f3c\0\u2364\0\u23a0"+ + "\0\u23dc\0\u2418\0\u2454\0\u2490\0\u24cc\0\u2508\0\u0474\0\u0474"+ + "\0\u2544\0\u2580\0\u25bc\0\u25f8\0\u2634\0\u0474\0\u2670\0\u26ac"+ + "\0\u26e8\0\u2724\0\u2760\0\u279c\0\u27d8\0\u2814\0\u2850\0\u288c"+ + "\0\u28c8\0\u2904\0\u2940\0\u297c\0\u29b8\0\u29f4\0\u2a30\0\u2a6c"+ + "\0\u2aa8\0\u2ae4\0\u2b20\0\u2b5c\0\u2b98\0\u2bd4\0\u2c10\0\u2c4c"+ + "\0\u2c88\0\u2cc4\0\u2d00\0\u2d3c\0\u0474\0\u2d78\0\u2db4\0\u2df0"+ + "\0\u2e2c\0\u2e68\0\u2ea4\0\u2ee0\0\u2f1c\0\u2f58\0\u2f94\0\u0474"+ + "\0\u2fd0\0\u300c\0\u3048\0\u3084\0\u30c0\0\u30fc\0\u3138\0\u3174"+ + "\0\u31b0\0\u31ec\0\u3228\0\u3264\0\u32a0\0\u32dc\0\u3318\0\u3354"+ + "\0\u3390\0\u33cc\0\u2b98\0\u3408\0\u3444\0\u0474\0\u3480\0\u34bc"+ + "\0\u34f8\0\u3534\0\u3570\0\u35ac\0\u0474\0\u35e8\0\u3624\0\u3660"+ + "\0\u369c\0\u36d8\0\u3714\0\u3750\0\u378c\0\u2ee0\0\u37c8\0\u3804"+ + "\0\u3840\0\u387c\0\u38b8\0\u38f4\0\u3930\0\u396c\0\u39a8\0\u39e4"+ + "\0\u3a20\0\u3a5c\0\u3a98\0\u3ad4\0\u3b10\0\u3b4c\0\u3b88\0\u3bc4"+ + "\0\u3c00\0\u3c3c\0\u3390\0\u3c78\0\u3cb4\0\u3cf0\0\u3d2c\0\u3d68"+ + "\0\u3da4\0\u3de0\0\u0474\0\u3e1c\0\u3e58\0\u3e94\0\u3ed0\0\u3f0c"+ + "\0\u3f48\0\u3f84\0\u3fc0\0\u3ffc\0\u4038\0\u4074\0\u40b0\0\u40ec"+ + "\0\u4128\0\u4164\0\u41a0\0\u41dc\0\u4218\0\u4254\0\u4290\0\u42cc"+ + "\0\u4308\0\u4344\0\u4380\0\u43bc\0\u43f8\0\u4434\0\u4470\0\u44ac"+ + "\0\u44e8\0\u4524\0\u4560\0\u459c\0\u45d8\0\u4614\0\u4650\0\u468c"+ + "\0\u46c8\0\u4704\0\u0474\0\u4740\0\u477c\0\u47b8\0\u47f4\0\u4830"+ + "\0\u486c\0\u48a8\0\u48e4\0\u2f58\0\u4920\0\u2f94\0\u495c\0\u4998"+ + "\0\u49d4\0\u4a10\0\u4a4c\0\u4a88\0\u4ac4\0\u4b00\0\u4b3c\0\u4b78"+ + "\0\u4bb4\0\u3408\0\u4bf0\0\u3444\0\u4c2c\0\u4c68\0\u4ca4\0\u4ce0"+ + "\0\u4d1c\0\u4d58\0\u4d94\0\u4dd0\0\u4e0c\0\u4e48\0\u4e84\0\u0474"+ + "\0\u4ec0\0\u4efc\0\u4f38\0\u0474\0\u4f74\0\u4fb0\0\u4fec\0\u0474"+ + "\0\u5028\0\u5064\0\u50a0\0\u50dc\0\u5118\0\u5154\0\u5190\0\u51cc"+ + "\0\u5208\0\u5244"; private static int [] zzUnpackRowMap() { - int [] result = new int[436]; + int [] result = new int[426]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -242,884 +240,849 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { "\1\24\1\27\1\24\1\31\2\24\2\27\1\32\3\25"+ "\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36"+ "\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25"+ - "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24"+ + "\1\40\4\25\1\41\10\24\1\27\1\42\1\27\1\24"+ "\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24"+ - "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27"+ + "\1\34\1\35\1\24\1\37\41\24\1\27\1\24\1\27"+ "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24"+ + "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\27\24"+ "\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24"+ "\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35"+ - "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27"+ + "\1\24\1\37\11\24\1\45\25\24\1\51\1\52\1\27"+ "\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27"+ "\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34"+ "\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51"+ - "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27"+ + "\1\24\1\51\1\24\4\51\11\24\1\27\1\24\1\27"+ "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24"+ - "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55"+ + "\1\54\20\24\1\55\1\56\1\27\1\24\1\27\1\55"+ "\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24"+ "\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37"+ "\11\55\1\24\4\55\1\24\2\55\1\60\1\55\1\24"+ - "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+ + "\4\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+ "\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35"+ - "\1\24\1\37\16\24\1\61\2\24\1\60\14\24\1\62"+ + "\1\24\1\37\16\24\1\61\2\24\1\60\15\24\1\62"+ "\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27"+ "\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33"+ "\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62"+ - "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27"+ + "\1\24\2\62\1\65\1\62\1\66\4\62\11\24\1\27"+ "\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27"+ "\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24"+ - "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24"+ + "\1\65\17\24\1\67\1\24\1\67\1\24\1\43\1\24"+ "\1\67\1\24\1\31\1\70\1\24\2\67\1\32\6\24"+ "\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24"+ - "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24"+ + "\1\71\2\24\1\65\1\24\1\40\4\24\1\41\6\24"+ "\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24"+ "\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24"+ "\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24"+ - "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24"+ + "\4\72\1\24\2\72\1\24\1\72\1\24\4\72\11\24"+ "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+ "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+ - "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+ + "\31\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+ "\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27"+ "\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34"+ "\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100"+ - "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27"+ + "\1\24\1\100\1\24\4\100\11\24\1\27\1\24\1\27"+ "\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+ - "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24"+ + "\2\24\1\34\1\35\1\24\1\37\33\24\1\77\3\24"+ "\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24"+ "\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24"+ "\1\33\2\24\1\34\1\35\1\110\1\37\11\105\1\111"+ - "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24"+ + "\4\105\1\24\2\105\1\24\1\105\1\24\4\105\11\24"+ "\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+ "\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+ - "\11\24\1\111\11\24\1\112\11\24\1\113\1\114\1\115"+ + "\11\24\1\111\11\24\1\112\12\24\1\113\1\114\1\115"+ "\1\27\1\116\1\27\1\114\1\117\1\120\1\27\1\121"+ "\1\122\1\123\1\24\2\27\1\124\1\125\2\114\1\24"+ "\1\114\1\24\1\33\1\126\1\24\1\34\1\127\1\24"+ "\1\37\11\114\1\111\4\114\1\130\2\114\1\24\1\114"+ - "\1\24\3\114\6\24\1\113\1\114\1\115\1\131\1\116"+ + "\1\24\4\114\6\24\1\113\1\114\1\115\1\131\1\116"+ "\1\131\1\114\1\117\1\120\1\131\1\121\1\122\1\123"+ "\1\24\2\131\1\124\1\125\2\114\1\24\1\114\1\24"+ "\1\33\1\126\1\24\1\34\1\127\1\24\1\37\11\114"+ - "\1\111\4\114\1\130\2\114\1\24\1\114\1\24\3\114"+ - "\5\24\74\0\2\25\1\132\3\0\2\25\11\0\3\25"+ + "\1\111\4\114\1\130\2\114\1\24\1\114\1\24\4\114"+ + "\5\24\75\0\2\25\1\132\3\0\2\25\11\0\3\25"+ "\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25"+ - "\1\0\1\25\1\0\3\25\6\0\1\133\2\25\1\0"+ + "\1\0\1\25\1\0\4\25\6\0\1\133\2\25\1\0"+ "\2\25\1\133\2\25\1\0\4\25\2\0\16\25\1\133"+ "\2\25\1\133\2\25\1\133\10\25\1\133\4\25\1\133"+ - "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+ - "\2\27\54\0\1\25\1\132\3\0\1\25\1\134\11\0"+ + "\10\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+ + "\2\27\55\0\1\25\1\132\3\0\1\25\1\134\11\0"+ "\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+ - "\2\25\1\0\1\25\1\0\3\25\6\0\2\135\1\136"+ + "\2\25\1\0\1\25\1\0\4\25\6\0\2\135\1\136"+ "\3\0\2\135\11\0\3\135\1\0\1\135\10\0\11\135"+ - "\1\0\4\135\1\0\2\135\1\0\1\135\1\0\3\135"+ + "\1\0\4\135\1\0\2\135\1\0\1\135\1\0\4\135"+ "\6\0\2\137\1\140\3\0\2\137\11\0\3\137\1\0"+ "\1\137\10\0\11\137\1\0\4\137\1\0\2\137\1\0"+ - "\1\137\1\0\3\137\36\0\1\141\76\0\1\142\74\0"+ - "\2\143\10\0\1\144\1\145\1\146\7\0\2\147\10\0"+ + "\1\137\1\0\4\137\36\0\1\141\77\0\1\142\75\0"+ + "\2\143\10\0\1\144\1\145\1\146\7\0\2\147\11\0"+ "\1\150\1\151\3\0\1\150\1\152\11\0\3\150\1\0"+ "\1\150\10\0\11\150\1\0\4\150\1\0\2\150\1\0"+ - "\1\150\1\0\3\150\6\0\2\153\1\154\1\0\1\155"+ - "\11\153\2\0\52\153\10\0\1\134\63\0\2\156\1\157"+ - "\1\0\4\156\1\155\5\156\2\0\52\156\1\0\2\160"+ - "\1\161\1\0\1\162\11\160\2\0\52\160\1\0\2\163"+ - "\1\164\1\0\4\163\1\162\5\163\2\0\52\163\23\0"+ - "\1\165\50\0\2\51\1\166\3\0\2\51\11\0\3\51"+ + "\1\150\1\0\4\150\6\0\2\153\1\154\1\0\1\155"+ + "\11\153\2\0\53\153\10\0\1\134\64\0\2\156\1\157"+ + "\1\0\4\156\1\155\5\156\2\0\53\156\1\0\2\160"+ + "\1\161\1\0\1\162\11\160\2\0\53\160\1\0\2\163"+ + "\1\164\1\0\4\163\1\162\5\163\2\0\53\163\23\0"+ + "\1\165\51\0\2\51\1\166\3\0\2\51\11\0\3\51"+ "\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51"+ - "\1\0\1\51\1\0\3\51\6\0\1\167\2\51\1\0"+ + "\1\0\1\51\1\0\4\51\6\0\1\167\2\51\1\0"+ "\2\51\1\167\2\51\1\0\4\51\2\0\16\51\1\167"+ "\2\51\1\167\2\51\1\167\10\51\1\167\4\51\1\167"+ - "\7\51\2\0\1\51\1\166\3\0\1\51\1\134\11\0"+ + "\10\51\2\0\1\51\1\166\3\0\1\51\1\134\11\0"+ "\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0"+ - "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\170"+ + "\2\51\1\0\1\51\1\0\4\51\6\0\2\55\1\170"+ "\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55"+ - "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55"+ + "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\4\55"+ "\6\0\1\171\2\55\1\0\2\55\1\171\2\55\1\0"+ "\4\55\2\0\16\55\1\171\2\55\1\171\2\55\1\171"+ - "\10\55\1\171\4\55\1\171\7\55\2\0\1\55\1\170"+ + "\10\55\1\171\4\55\1\171\10\55\2\0\1\55\1\170"+ "\3\0\1\55\1\134\11\0\3\55\1\0\1\55\10\0"+ "\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0"+ - "\3\55\6\0\2\62\1\172\3\0\2\62\11\0\3\62"+ + "\4\55\6\0\2\62\1\172\3\0\2\62\11\0\3\62"+ "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+ - "\1\0\1\62\1\0\3\62\6\0\1\173\2\62\1\0"+ + "\1\0\1\62\1\0\4\62\6\0\1\173\2\62\1\0"+ "\2\62\1\173\2\62\1\0\4\62\2\0\16\62\1\173"+ "\2\62\1\173\2\62\1\173\10\62\1\173\4\62\1\173"+ - "\7\62\2\0\1\62\1\172\3\0\1\62\1\134\11\0"+ + "\10\62\2\0\1\62\1\172\3\0\1\62\1\134\11\0"+ "\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0"+ - "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\172"+ + "\2\62\1\0\1\62\1\0\4\62\7\0\1\62\1\172"+ "\3\0\1\62\1\174\11\0\3\62\1\0\1\62\10\0"+ "\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+ - "\3\62\5\0\4\175\1\67\1\175\1\67\3\175\1\67"+ + "\4\62\5\0\4\175\1\67\1\175\1\67\3\175\1\67"+ "\2\175\1\0\1\175\2\67\11\175\1\0\1\175\1\0"+ - "\20\175\1\0\2\175\1\0\12\175\1\0\2\72\1\176"+ + "\20\175\1\0\2\175\1\0\13\175\1\0\2\72\1\176"+ "\3\0\2\72\11\0\3\72\1\0\1\72\10\0\11\72"+ - "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\3\72"+ + "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\4\72"+ "\6\0\1\177\2\72\1\0\2\72\1\177\2\72\1\0"+ "\4\72\2\0\16\72\1\177\2\72\1\177\2\72\1\177"+ - "\10\72\1\177\4\72\1\177\7\72\2\0\1\72\1\176"+ + "\10\72\1\177\4\72\1\177\10\72\2\0\1\72\1\176"+ "\3\0\1\72\1\134\11\0\3\72\1\0\1\72\10\0"+ "\11\72\1\0\4\72\1\0\2\72\1\0\1\72\1\0"+ - "\3\72\74\0\1\75\4\0\2\100\1\200\3\0\2\100"+ + "\4\72\75\0\1\75\4\0\2\100\1\200\3\0\2\100"+ "\11\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100"+ - "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\201"+ + "\1\0\2\100\1\0\1\100\1\0\4\100\6\0\1\201"+ "\2\100\1\0\2\100\1\201\2\100\1\0\4\100\2\0"+ "\16\100\1\201\2\100\1\201\2\100\1\201\10\100\1\201"+ - "\4\100\1\201\7\100\1\0\2\202\1\203\1\0\1\204"+ - "\11\202\2\0\52\202\2\0\1\100\1\200\3\0\1\100"+ + "\4\100\1\201\10\100\1\0\2\202\1\203\1\0\1\204"+ + "\11\202\2\0\53\202\2\0\1\100\1\200\3\0\1\100"+ "\1\134\11\0\3\100\1\0\1\100\10\0\11\100\1\0"+ - "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0"+ - "\2\205\1\206\1\0\4\205\1\204\5\205\2\0\52\205"+ + "\4\100\1\0\2\100\1\0\1\100\1\0\4\100\6\0"+ + "\2\205\1\206\1\0\4\205\1\204\5\205\2\0\53\205"+ "\1\0\2\105\1\207\3\0\2\105\11\0\3\105\1\0"+ "\1\105\10\0\11\105\1\0\4\105\1\0\2\105\1\0"+ - "\1\105\1\0\3\105\6\0\1\210\2\105\1\0\2\105"+ + "\1\105\1\0\4\105\6\0\1\210\2\105\1\0\2\105"+ "\1\210\2\105\1\0\4\105\2\0\16\105\1\210\2\105"+ - "\1\210\2\105\1\210\10\105\1\210\4\105\1\210\7\105"+ + "\1\210\2\105\1\210\10\105\1\210\4\105\1\210\10\105"+ "\2\0\1\105\1\207\3\0\1\105\1\134\11\0\3\105"+ "\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105"+ - "\1\0\1\105\1\0\3\105\7\0\1\105\1\207\3\0"+ + "\1\0\1\105\1\0\4\105\7\0\1\105\1\207\3\0"+ "\1\105\1\211\11\0\3\105\1\0\1\105\10\0\11\105"+ - "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105"+ + "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\4\105"+ "\6\0\1\113\1\212\1\213\3\0\1\212\1\214\3\0"+ "\1\215\5\0\3\212\1\0\1\212\10\0\11\212\1\0"+ - "\4\212\1\0\2\212\1\0\1\212\1\0\3\212\4\0"+ + "\4\212\1\0\2\212\1\0\1\212\1\0\4\212\4\0"+ "\1\216\1\0\2\114\1\217\3\0\2\114\3\0\1\220"+ "\5\0\3\114\1\221\1\114\10\0\11\114\1\0\4\114"+ - "\1\0\2\114\1\0\1\114\1\0\3\114\6\0\1\222"+ + "\1\0\2\114\1\0\1\114\1\0\4\114\6\0\1\222"+ "\2\114\1\0\2\114\1\222\2\114\1\0\4\114\2\0"+ "\16\114\1\222\2\114\1\222\2\114\1\222\10\114\1\222"+ - "\4\114\1\222\7\114\1\0\2\223\1\224\1\0\1\225"+ - "\11\223\2\0\52\223\1\0\1\113\1\114\1\217\3\0"+ + "\4\114\1\222\10\114\1\0\2\223\1\224\1\0\1\225"+ + "\11\223\2\0\53\223\1\0\1\113\1\114\1\217\3\0"+ "\1\114\1\134\3\0\1\215\5\0\3\114\1\0\1\114"+ "\10\0\11\114\1\0\4\114\1\0\2\114\1\0\1\114"+ - "\1\0\3\114\6\0\2\226\1\227\1\0\4\226\1\225"+ - "\5\226\2\0\52\226\1\0\1\230\72\0\1\113\12\0"+ - "\1\215\57\0\2\231\1\232\3\0\2\231\11\0\3\231"+ + "\1\0\4\114\6\0\2\226\1\227\1\0\4\226\1\225"+ + "\5\226\2\0\53\226\1\0\1\230\73\0\1\113\12\0"+ + "\1\215\60\0\2\231\1\232\3\0\2\231\11\0\3\231"+ "\1\0\1\231\10\0\11\231\1\0\4\231\1\0\2\231"+ - "\1\0\1\231\1\0\3\231\6\0\2\114\1\217\3\0"+ + "\1\0\1\231\1\0\4\231\6\0\2\114\1\217\3\0"+ "\2\114\3\0\1\220\1\233\4\0\1\114\1\234\1\114"+ "\1\221\1\114\10\0\11\114\1\0\4\114\1\0\2\114"+ - "\1\0\1\114\1\0\3\114\11\0\1\235\1\0\1\235"+ - "\3\0\1\235\4\0\2\235\30\0\1\236\21\0\4\237"+ + "\1\0\1\114\1\0\4\114\11\0\1\235\1\0\1\235"+ + "\3\0\1\235\4\0\2\235\30\0\1\236\22\0\4\237"+ "\1\131\1\237\1\131\3\237\1\131\4\237\2\131\12\237"+ - "\1\0\14\237\1\0\22\237\1\0\1\240\1\25\1\132"+ + "\1\0\14\237\1\0\23\237\1\0\1\240\1\25\1\132"+ "\1\25\1\0\1\25\1\240\1\25\1\0\1\25\4\0"+ "\2\25\1\0\3\25\1\0\1\25\10\0\1\240\2\25"+ "\1\240\2\25\1\240\2\25\1\0\4\25\1\0\1\240"+ - "\1\25\1\0\1\25\1\0\1\240\2\25\37\0\1\241"+ - "\41\0\1\242\2\135\1\0\2\135\1\242\2\135\1\0"+ + "\1\25\1\0\1\25\1\0\1\240\3\25\37\0\1\241"+ + "\42\0\1\242\2\135\1\0\2\135\1\242\2\135\1\0"+ "\4\135\2\0\16\135\1\242\2\135\1\242\2\135\1\242"+ - "\10\135\1\242\4\135\1\242\7\135\1\0\1\243\2\137"+ + "\10\135\1\242\4\135\1\242\10\135\1\0\1\243\2\137"+ "\1\0\2\137\1\243\2\137\1\0\4\137\2\0\16\137"+ "\1\243\2\137\1\243\2\137\1\243\10\137\1\243\4\137"+ - "\1\243\7\137\10\0\1\244\62\0\35\142\1\245\35\142"+ - "\41\0\1\246\103\0\1\247\65\0\2\250\66\0\2\251"+ - "\103\0\1\252\17\0\2\150\1\151\3\0\2\150\11\0"+ + "\1\243\10\137\10\0\1\244\63\0\35\142\1\245\36\142"+ + "\41\0\1\246\104\0\1\247\66\0\2\250\67\0\2\251"+ + "\104\0\1\252\20\0\2\150\1\151\3\0\2\150\11\0"+ "\3\150\1\253\1\150\10\0\11\150\1\0\4\150\1\0"+ - "\2\150\1\0\1\150\1\0\3\150\6\0\1\254\2\150"+ + "\2\150\1\0\1\150\1\0\4\150\6\0\1\254\2\150"+ "\1\0\2\150\1\254\2\150\1\0\4\150\2\0\16\150"+ "\1\254\2\150\1\254\2\150\1\254\10\150\1\254\4\150"+ - "\1\254\7\150\2\0\1\150\1\151\3\0\1\150\12\0"+ + "\1\254\10\150\2\0\1\150\1\151\3\0\1\150\12\0"+ "\3\150\1\0\1\150\10\0\11\150\1\0\4\150\1\0"+ - "\2\150\1\0\1\150\1\0\3\150\6\0\1\255\1\153"+ + "\2\150\1\0\1\150\1\0\4\150\6\0\1\255\1\153"+ "\1\154\1\153\1\256\1\153\1\255\10\153\1\257\16\153"+ "\1\255\2\153\1\255\2\153\1\255\10\153\1\255\4\153"+ - "\1\255\7\153\1\0\1\260\1\156\1\157\3\156\1\260"+ + "\1\255\10\153\1\0\1\260\1\156\1\157\3\156\1\260"+ "\1\156\1\261\6\156\1\262\16\156\1\260\2\156\1\260"+ - "\2\156\1\260\10\156\1\260\4\156\1\260\7\156\1\0"+ + "\2\156\1\260\10\156\1\260\4\156\1\260\10\156\1\0"+ "\1\263\1\160\1\161\1\160\1\264\1\160\1\263\10\160"+ "\1\265\16\160\1\263\2\160\1\263\2\160\1\263\10\160"+ - "\1\263\4\160\1\263\7\160\1\0\1\266\1\163\1\164"+ + "\1\263\4\160\1\263\10\160\1\0\1\266\1\163\1\164"+ "\3\163\1\266\1\163\1\267\6\163\1\270\16\163\1\266"+ "\2\163\1\266\2\163\1\266\10\163\1\266\4\163\1\266"+ - "\7\163\24\0\1\271\47\0\1\272\1\51\1\166\1\51"+ + "\10\163\24\0\1\271\50\0\1\272\1\51\1\166\1\51"+ "\1\0\1\51\1\272\1\51\1\0\1\51\4\0\2\51"+ "\1\0\3\51\1\0\1\51\10\0\1\272\2\51\1\272"+ "\2\51\1\272\2\51\1\0\4\51\1\0\1\272\1\51"+ - "\1\0\1\51\1\0\1\272\2\51\6\0\1\273\1\55"+ + "\1\0\1\51\1\0\1\272\3\51\6\0\1\273\1\55"+ "\1\170\1\55\1\0\1\55\1\273\1\55\1\0\1\55"+ "\4\0\2\55\1\0\3\55\1\0\1\55\10\0\1\273"+ "\2\55\1\273\2\55\1\273\2\55\1\0\4\55\1\0"+ - "\1\273\1\55\1\0\1\55\1\0\1\273\2\55\6\0"+ + "\1\273\1\55\1\0\1\55\1\0\1\273\3\55\6\0"+ "\1\274\1\62\1\172\1\62\1\0\1\62\1\274\1\62"+ "\1\0\1\62\4\0\2\62\1\0\3\62\1\0\1\62"+ "\10\0\1\274\2\62\1\274\2\62\1\274\2\62\1\0"+ "\4\62\1\0\1\274\1\62\1\0\1\62\1\0\1\274"+ - "\2\62\7\0\1\62\1\172\3\0\1\62\12\0\3\62"+ + "\3\62\7\0\1\62\1\172\3\0\1\62\12\0\3\62"+ "\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+ - "\1\0\1\62\1\0\3\62\6\0\1\275\1\72\1\176"+ + "\1\0\1\62\1\0\4\62\6\0\1\275\1\72\1\176"+ "\1\72\1\0\1\72\1\275\1\72\1\0\1\72\4\0"+ "\2\72\1\0\3\72\1\0\1\72\10\0\1\275\2\72"+ "\1\275\2\72\1\275\2\72\1\0\4\72\1\0\1\275"+ - "\1\72\1\0\1\72\1\0\1\275\2\72\6\0\1\276"+ + "\1\72\1\0\1\72\1\0\1\275\3\72\6\0\1\276"+ "\1\100\1\200\1\100\1\0\1\100\1\276\1\100\1\0"+ "\1\100\4\0\2\100\1\0\3\100\1\0\1\100\10\0"+ "\1\276\2\100\1\276\2\100\1\276\2\100\1\0\4\100"+ - "\1\0\1\276\1\100\1\0\1\100\1\0\1\276\2\100"+ + "\1\0\1\276\1\100\1\0\1\100\1\0\1\276\3\100"+ "\6\0\1\277\1\202\1\203\1\202\1\300\1\202\1\277"+ "\10\202\1\301\16\202\1\277\2\202\1\277\2\202\1\277"+ - "\10\202\1\277\4\202\1\277\7\202\1\0\1\302\1\205"+ + "\10\202\1\277\4\202\1\277\10\202\1\0\1\302\1\205"+ "\1\206\3\205\1\302\1\205\1\303\6\205\1\304\16\205"+ "\1\302\2\205\1\302\2\205\1\302\10\205\1\302\4\205"+ - "\1\302\7\205\1\0\1\305\1\105\1\207\1\105\1\0"+ + "\1\302\10\205\1\0\1\305\1\105\1\207\1\105\1\0"+ "\1\105\1\305\1\105\1\0\1\105\4\0\2\105\1\0"+ "\3\105\1\0\1\105\10\0\1\305\2\105\1\305\2\105"+ "\1\305\2\105\1\0\4\105\1\0\1\305\1\105\1\0"+ - "\1\105\1\0\1\305\2\105\7\0\1\105\1\207\3\0"+ + "\1\105\1\0\1\305\3\105\7\0\1\105\1\207\3\0"+ "\1\105\12\0\3\105\1\0\1\105\10\0\11\105\1\0"+ - "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0"+ + "\4\105\1\0\2\105\1\0\1\105\1\0\4\105\6\0"+ "\2\212\1\213\3\0\2\212\11\0\3\212\1\0\1\212"+ "\10\0\11\212\1\0\4\212\1\0\2\212\1\0\1\212"+ - "\1\0\3\212\6\0\1\306\2\212\1\0\2\212\1\306"+ + "\1\0\4\212\6\0\1\306\2\212\1\0\2\212\1\306"+ "\2\212\1\0\4\212\2\0\16\212\1\306\2\212\1\306"+ - "\2\212\1\306\10\212\1\306\4\212\1\306\7\212\2\0"+ + "\2\212\1\306\10\212\1\306\4\212\1\306\10\212\2\0"+ "\1\212\1\213\3\0\1\212\12\0\3\212\1\0\1\212"+ "\10\0\11\212\1\0\4\212\1\0\2\212\1\0\1\212"+ - "\1\0\3\212\6\0\2\307\1\310\3\0\2\307\11\0"+ + "\1\0\4\212\6\0\2\307\1\310\3\0\2\307\11\0"+ "\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+ - "\2\307\1\0\1\307\1\0\3\307\6\0\1\311\1\114"+ + "\2\307\1\0\1\307\1\0\4\307\6\0\1\311\1\114"+ "\1\217\1\114\1\0\1\114\1\311\1\114\1\0\1\114"+ "\1\0\1\220\2\0\2\114\1\0\3\114\1\221\1\114"+ "\10\0\1\311\2\114\1\311\2\114\1\311\2\114\1\0"+ "\4\114\1\0\1\311\1\114\1\0\1\114\1\0\1\311"+ - "\2\114\6\0\1\312\1\223\1\224\1\223\1\313\1\223"+ + "\3\114\6\0\1\312\1\223\1\224\1\223\1\313\1\223"+ "\1\312\10\223\1\314\16\223\1\312\2\223\1\312\2\223"+ - "\1\312\10\223\1\312\4\223\1\312\7\223\1\0\1\315"+ + "\1\312\10\223\1\312\4\223\1\312\10\223\1\0\1\315"+ "\1\226\1\227\3\226\1\315\1\226\1\316\6\226\1\317"+ "\16\226\1\315\2\226\1\315\2\226\1\315\10\226\1\315"+ - "\4\226\1\315\7\226\1\0\1\230\1\212\1\213\3\0"+ + "\4\226\1\315\10\226\1\0\1\230\1\212\1\213\3\0"+ "\1\212\1\214\11\0\3\212\1\0\1\212\10\0\11\212"+ - "\1\0\4\212\1\0\2\212\1\0\1\212\1\0\3\212"+ + "\1\0\4\212\1\0\2\212\1\0\1\212\1\0\4\212"+ "\4\0\1\216\1\0\1\320\2\231\1\0\2\231\1\320"+ "\2\231\1\0\4\231\2\0\16\231\1\320\2\231\1\320"+ - "\2\231\1\320\10\231\1\320\4\231\1\320\7\231\1\0"+ + "\2\231\1\320\10\231\1\320\4\231\1\320\10\231\1\0"+ "\1\321\5\0\1\321\16\0\2\321\7\0\2\321\1\0"+ - "\2\321\1\0\2\321\7\0\2\321\3\0\2\321\7\0"+ + "\2\321\1\0\2\321\7\0\2\321\3\0\2\321\10\0"+ "\2\114\1\217\3\0\2\114\3\0\1\220\5\0\2\114"+ "\1\322\1\221\1\114\10\0\11\114\1\0\4\114\1\0"+ - "\2\114\1\0\1\114\1\0\3\114\57\0\1\323\21\0"+ + "\2\114\1\0\1\114\1\0\4\114\57\0\1\323\22\0"+ "\1\324\1\25\1\132\1\25\1\0\1\25\1\324\1\25"+ "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+ "\10\0\1\324\2\25\1\324\2\25\1\324\2\25\1\0"+ "\4\25\1\0\1\324\1\25\1\0\1\25\1\0\1\324"+ - "\2\25\6\0\1\325\1\135\1\136\1\135\1\0\1\135"+ + "\3\25\6\0\1\325\1\135\1\136\1\135\1\0\1\135"+ "\1\325\1\135\1\0\1\135\4\0\2\135\1\0\3\135"+ "\1\0\1\135\10\0\1\325\2\135\1\325\2\135\1\325"+ "\2\135\1\0\4\135\1\0\1\325\1\135\1\0\1\135"+ - "\1\0\1\325\2\135\6\0\1\326\1\137\1\140\1\137"+ + "\1\0\1\325\3\135\6\0\1\326\1\137\1\140\1\137"+ "\1\0\1\137\1\326\1\137\1\0\1\137\4\0\2\137"+ "\1\0\3\137\1\0\1\137\10\0\1\326\2\137\1\326"+ "\2\137\1\326\2\137\1\0\4\137\1\0\1\326\1\137"+ - "\1\0\1\137\1\0\1\326\2\137\15\0\1\327\62\0"+ - "\34\142\1\330\1\245\35\142\42\0\2\331\102\0\1\332"+ - "\75\0\2\333\74\0\1\334\76\0\1\335\7\0\1\336"+ - "\1\337\1\253\1\0\1\253\1\336\1\340\1\0\1\253"+ - "\4\0\2\253\1\0\3\336\1\0\1\336\10\0\11\336"+ - "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+ - "\6\0\1\341\1\150\1\151\1\150\1\0\1\150\1\341"+ - "\1\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+ - "\1\150\10\0\1\341\2\150\1\341\2\150\1\341\2\150"+ - "\1\0\4\150\1\0\1\341\1\150\1\0\1\150\1\0"+ - "\1\341\2\150\6\0\1\342\1\153\1\154\1\153\1\155"+ - "\1\153\1\342\27\153\1\342\2\153\1\342\2\153\1\342"+ - "\10\153\1\342\4\153\1\342\7\153\1\0\2\153\1\154"+ - "\1\0\1\155\12\153\1\0\52\153\1\0\1\343\1\156"+ - "\1\157\3\156\1\343\1\156\1\155\25\156\1\343\2\156"+ - "\1\343\2\156\1\343\10\156\1\343\4\156\1\343\7\156"+ - "\1\0\2\156\1\157\1\0\4\156\1\155\6\156\1\0"+ - "\52\156\1\0\1\344\1\160\1\161\1\160\1\162\1\160"+ - "\1\344\27\160\1\344\2\160\1\344\2\160\1\344\10\160"+ - "\1\344\4\160\1\344\7\160\1\0\2\160\1\161\1\0"+ - "\1\162\12\160\1\0\52\160\1\0\1\345\1\163\1\164"+ - "\3\163\1\345\1\163\1\162\25\163\1\345\2\163\1\345"+ - "\2\163\1\345\10\163\1\345\4\163\1\345\7\163\1\0"+ - "\2\163\1\164\1\0\4\163\1\162\6\163\1\0\52\163"+ - "\25\0\1\346\46\0\1\347\1\51\1\166\1\51\1\0"+ - "\1\51\1\347\1\51\1\0\1\51\4\0\2\51\1\0"+ - "\3\51\1\0\1\51\10\0\1\347\2\51\1\347\2\51"+ - "\1\347\2\51\1\0\4\51\1\0\1\347\1\51\1\0"+ - "\1\51\1\0\1\347\2\51\6\0\1\350\1\55\1\170"+ - "\1\55\1\0\1\55\1\350\1\55\1\0\1\55\4\0"+ - "\2\55\1\0\3\55\1\0\1\55\10\0\1\350\2\55"+ - "\1\350\2\55\1\350\2\55\1\0\4\55\1\0\1\350"+ - "\1\55\1\0\1\55\1\0\1\350\2\55\6\0\1\351"+ - "\1\62\1\172\1\62\1\0\1\62\1\351\1\62\1\0"+ - "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0"+ - "\1\351\2\62\1\351\2\62\1\351\2\62\1\0\4\62"+ - "\1\0\1\351\1\62\1\0\1\62\1\0\1\351\2\62"+ - "\6\0\1\352\1\72\1\176\1\72\1\0\1\72\1\352"+ - "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+ - "\1\72\10\0\1\352\2\72\1\352\2\72\1\352\2\72"+ - "\1\0\4\72\1\0\1\352\1\72\1\0\1\72\1\0"+ - "\1\352\2\72\6\0\1\353\1\100\1\200\1\100\1\0"+ - "\1\100\1\353\1\100\1\0\1\100\4\0\2\100\1\0"+ - "\3\100\1\0\1\100\10\0\1\353\2\100\1\353\2\100"+ - "\1\353\2\100\1\0\4\100\1\0\1\353\1\100\1\0"+ - "\1\100\1\0\1\353\2\100\6\0\1\354\1\202\1\203"+ - "\1\202\1\204\1\202\1\354\27\202\1\354\2\202\1\354"+ - "\2\202\1\354\10\202\1\354\4\202\1\354\7\202\1\0"+ - "\2\202\1\203\1\0\1\204\12\202\1\0\52\202\1\0"+ - "\1\355\1\205\1\206\3\205\1\355\1\205\1\204\25\205"+ - "\1\355\2\205\1\355\2\205\1\355\10\205\1\355\4\205"+ - "\1\355\7\205\1\0\2\205\1\206\1\0\4\205\1\204"+ - "\6\205\1\0\52\205\1\0\1\356\1\105\1\207\1\105"+ - "\1\0\1\105\1\356\1\105\1\0\1\105\4\0\2\105"+ - "\1\0\3\105\1\0\1\105\10\0\1\356\2\105\1\356"+ - "\2\105\1\356\2\105\1\0\4\105\1\0\1\356\1\105"+ - "\1\0\1\105\1\0\1\356\2\105\6\0\1\357\1\212"+ - "\1\213\1\212\1\0\1\212\1\357\1\212\1\0\1\212"+ - "\4\0\2\212\1\0\3\212\1\0\1\212\10\0\1\357"+ - "\2\212\1\357\2\212\1\357\2\212\1\0\4\212\1\0"+ - "\1\357\1\212\1\0\1\212\1\0\1\357\2\212\6\0"+ - "\2\307\1\310\3\0\2\307\3\0\1\220\5\0\3\307"+ - "\1\0\1\307\10\0\11\307\1\0\4\307\1\0\2\307"+ - "\1\0\1\307\1\0\3\307\6\0\1\360\2\307\1\0"+ - "\2\307\1\360\2\307\1\0\4\307\2\0\16\307\1\360"+ - "\2\307\1\360\2\307\1\360\10\307\1\360\4\307\1\360"+ - "\7\307\1\0\1\361\1\114\1\217\1\114\1\0\1\114"+ - "\1\361\1\114\1\0\1\114\1\0\1\220\2\0\2\114"+ - "\1\0\3\114\1\221\1\114\10\0\1\361\2\114\1\361"+ - "\2\114\1\361\2\114\1\0\4\114\1\0\1\361\1\114"+ - "\1\0\1\114\1\0\1\361\2\114\6\0\1\362\1\223"+ - "\1\224\1\223\1\225\1\223\1\362\27\223\1\362\2\223"+ - "\1\362\2\223\1\362\10\223\1\362\4\223\1\362\7\223"+ - "\1\0\2\223\1\224\1\0\1\225\12\223\1\0\52\223"+ - "\1\0\1\363\1\226\1\227\3\226\1\363\1\226\1\225"+ - "\25\226\1\363\2\226\1\363\2\226\1\363\10\226\1\363"+ - "\4\226\1\363\7\226\1\0\2\226\1\227\1\0\4\226"+ - "\1\225\6\226\1\0\52\226\1\0\1\364\1\231\1\232"+ - "\1\231\1\0\1\231\1\364\1\231\1\0\1\231\4\0"+ - "\2\231\1\0\3\231\1\0\1\231\10\0\1\364\2\231"+ - "\1\364\2\231\1\364\2\231\1\0\4\231\1\0\1\364"+ - "\1\231\1\0\1\231\1\0\1\364\2\231\6\0\1\365"+ - "\5\0\1\365\1\366\15\0\2\365\7\0\2\365\1\0"+ - "\2\365\1\0\2\365\7\0\2\365\3\0\2\365\7\0"+ - "\2\114\1\217\3\0\2\114\3\0\1\220\5\0\3\114"+ - "\1\367\1\114\10\0\11\114\1\0\4\114\1\0\2\114"+ - "\1\0\1\114\1\0\3\114\60\0\1\370\20\0\1\371"+ - "\1\25\1\132\1\25\1\0\1\25\1\371\1\25\1\0"+ - "\1\25\4\0\2\25\1\0\3\25\1\0\1\25\10\0"+ - "\1\371\2\25\1\371\2\25\1\371\2\25\1\0\4\25"+ - "\1\0\1\371\1\25\1\0\1\25\1\0\1\371\2\25"+ - "\6\0\1\372\1\135\1\136\1\135\1\0\1\135\1\372"+ - "\1\135\1\0\1\135\4\0\2\135\1\0\3\135\1\0"+ - "\1\135\10\0\1\372\2\135\1\372\2\135\1\372\2\135"+ - "\1\0\4\135\1\0\1\372\1\135\1\0\1\135\1\0"+ - "\1\372\2\135\6\0\1\373\1\137\1\140\1\137\1\0"+ - "\1\137\1\373\1\137\1\0\1\137\4\0\2\137\1\0"+ - "\3\137\1\0\1\137\10\0\1\373\2\137\1\373\2\137"+ - "\1\373\2\137\1\0\4\137\1\0\1\373\1\137\1\0"+ - "\1\137\1\0\1\373\2\137\30\0\1\374\123\0\1\375"+ - "\67\0\1\376\66\0\2\377\73\0\1\u0100\24\0\2\336"+ - "\1\337\1\u0101\1\0\1\u0101\2\336\1\0\1\u0101\1\u0102"+ - "\3\0\2\u0101\1\0\3\336\1\0\1\336\10\0\11\336"+ - "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+ - "\6\0\1\u0103\2\336\1\0\2\336\1\u0103\2\336\1\0"+ - "\4\336\2\0\16\336\1\u0103\2\336\1\u0103\2\336\1\u0103"+ - "\10\336\1\u0103\4\336\1\u0103\7\336\2\0\1\336\1\337"+ - "\3\0\1\336\12\0\3\336\1\0\1\336\10\0\11\336"+ - "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+ - "\6\0\1\u0104\1\150\1\151\1\150\1\0\1\150\1\u0104"+ + "\1\0\1\137\1\0\1\326\3\137\15\0\1\327\63\0"+ + "\34\142\1\330\1\245\36\142\42\0\2\331\103\0\1\332"+ + "\76\0\2\333\75\0\1\334\77\0\1\335\7\0\1\253"+ + "\2\0\1\253\1\0\3\253\1\0\1\253\1\336\1\0"+ + "\1\253\1\0\2\253\1\0\3\253\1\0\1\253\10\0"+ + "\11\253\1\0\4\253\1\0\2\253\1\0\1\253\1\0"+ + "\4\253\6\0\1\337\1\150\1\151\1\150\1\0\1\150"+ + "\1\337\1\150\1\0\1\150\4\0\2\150\1\0\3\150"+ + "\1\253\1\150\10\0\1\337\2\150\1\337\2\150\1\337"+ + "\2\150\1\0\4\150\1\0\1\337\1\150\1\0\1\150"+ + "\1\0\1\337\3\150\6\0\1\340\1\153\1\154\1\153"+ + "\1\155\1\153\1\340\27\153\1\340\2\153\1\340\2\153"+ + "\1\340\10\153\1\340\4\153\1\340\10\153\1\0\2\153"+ + "\1\154\1\0\1\155\12\153\1\0\53\153\1\0\1\341"+ + "\1\156\1\157\3\156\1\341\1\156\1\155\25\156\1\341"+ + "\2\156\1\341\2\156\1\341\10\156\1\341\4\156\1\341"+ + "\10\156\1\0\2\156\1\157\1\0\4\156\1\155\6\156"+ + "\1\0\53\156\1\0\1\342\1\160\1\161\1\160\1\162"+ + "\1\160\1\342\27\160\1\342\2\160\1\342\2\160\1\342"+ + "\10\160\1\342\4\160\1\342\10\160\1\0\2\160\1\161"+ + "\1\0\1\162\12\160\1\0\53\160\1\0\1\343\1\163"+ + "\1\164\3\163\1\343\1\163\1\162\25\163\1\343\2\163"+ + "\1\343\2\163\1\343\10\163\1\343\4\163\1\343\10\163"+ + "\1\0\2\163\1\164\1\0\4\163\1\162\6\163\1\0"+ + "\53\163\25\0\1\344\47\0\1\345\1\51\1\166\1\51"+ + "\1\0\1\51\1\345\1\51\1\0\1\51\4\0\2\51"+ + "\1\0\3\51\1\0\1\51\10\0\1\345\2\51\1\345"+ + "\2\51\1\345\2\51\1\0\4\51\1\0\1\345\1\51"+ + "\1\0\1\51\1\0\1\345\3\51\6\0\1\346\1\55"+ + "\1\170\1\55\1\0\1\55\1\346\1\55\1\0\1\55"+ + "\4\0\2\55\1\0\3\55\1\0\1\55\10\0\1\346"+ + "\2\55\1\346\2\55\1\346\2\55\1\0\4\55\1\0"+ + "\1\346\1\55\1\0\1\55\1\0\1\346\3\55\6\0"+ + "\1\347\1\62\1\172\1\62\1\0\1\62\1\347\1\62"+ + "\1\0\1\62\4\0\2\62\1\0\3\62\1\0\1\62"+ + "\10\0\1\347\2\62\1\347\2\62\1\347\2\62\1\0"+ + "\4\62\1\0\1\347\1\62\1\0\1\62\1\0\1\347"+ + "\3\62\6\0\1\350\1\72\1\176\1\72\1\0\1\72"+ + "\1\350\1\72\1\0\1\72\4\0\2\72\1\0\3\72"+ + "\1\0\1\72\10\0\1\350\2\72\1\350\2\72\1\350"+ + "\2\72\1\0\4\72\1\0\1\350\1\72\1\0\1\72"+ + "\1\0\1\350\3\72\6\0\1\351\1\100\1\200\1\100"+ + "\1\0\1\100\1\351\1\100\1\0\1\100\4\0\2\100"+ + "\1\0\3\100\1\0\1\100\10\0\1\351\2\100\1\351"+ + "\2\100\1\351\2\100\1\0\4\100\1\0\1\351\1\100"+ + "\1\0\1\100\1\0\1\351\3\100\6\0\1\352\1\202"+ + "\1\203\1\202\1\204\1\202\1\352\27\202\1\352\2\202"+ + "\1\352\2\202\1\352\10\202\1\352\4\202\1\352\10\202"+ + "\1\0\2\202\1\203\1\0\1\204\12\202\1\0\53\202"+ + "\1\0\1\353\1\205\1\206\3\205\1\353\1\205\1\204"+ + "\25\205\1\353\2\205\1\353\2\205\1\353\10\205\1\353"+ + "\4\205\1\353\10\205\1\0\2\205\1\206\1\0\4\205"+ + "\1\204\6\205\1\0\53\205\1\0\1\354\1\105\1\207"+ + "\1\105\1\0\1\105\1\354\1\105\1\0\1\105\4\0"+ + "\2\105\1\0\3\105\1\0\1\105\10\0\1\354\2\105"+ + "\1\354\2\105\1\354\2\105\1\0\4\105\1\0\1\354"+ + "\1\105\1\0\1\105\1\0\1\354\3\105\6\0\1\355"+ + "\1\212\1\213\1\212\1\0\1\212\1\355\1\212\1\0"+ + "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+ + "\1\355\2\212\1\355\2\212\1\355\2\212\1\0\4\212"+ + "\1\0\1\355\1\212\1\0\1\212\1\0\1\355\3\212"+ + "\6\0\2\307\1\310\3\0\2\307\3\0\1\220\5\0"+ + "\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+ + "\2\307\1\0\1\307\1\0\4\307\6\0\1\356\2\307"+ + "\1\0\2\307\1\356\2\307\1\0\4\307\2\0\16\307"+ + "\1\356\2\307\1\356\2\307\1\356\10\307\1\356\4\307"+ + "\1\356\10\307\1\0\1\357\1\114\1\217\1\114\1\0"+ + "\1\114\1\357\1\114\1\0\1\114\1\0\1\220\2\0"+ + "\2\114\1\0\3\114\1\221\1\114\10\0\1\357\2\114"+ + "\1\357\2\114\1\357\2\114\1\0\4\114\1\0\1\357"+ + "\1\114\1\0\1\114\1\0\1\357\3\114\6\0\1\360"+ + "\1\223\1\224\1\223\1\225\1\223\1\360\27\223\1\360"+ + "\2\223\1\360\2\223\1\360\10\223\1\360\4\223\1\360"+ + "\10\223\1\0\2\223\1\224\1\0\1\225\12\223\1\0"+ + "\53\223\1\0\1\361\1\226\1\227\3\226\1\361\1\226"+ + "\1\225\25\226\1\361\2\226\1\361\2\226\1\361\10\226"+ + "\1\361\4\226\1\361\10\226\1\0\2\226\1\227\1\0"+ + "\4\226\1\225\6\226\1\0\53\226\1\0\1\362\1\231"+ + "\1\232\1\231\1\0\1\231\1\362\1\231\1\0\1\231"+ + "\4\0\2\231\1\0\3\231\1\0\1\231\10\0\1\362"+ + "\2\231\1\362\2\231\1\362\2\231\1\0\4\231\1\0"+ + "\1\362\1\231\1\0\1\231\1\0\1\362\3\231\6\0"+ + "\1\363\5\0\1\363\1\364\15\0\2\363\7\0\2\363"+ + "\1\0\2\363\1\0\2\363\7\0\2\363\3\0\2\363"+ + "\10\0\2\114\1\217\3\0\2\114\3\0\1\220\5\0"+ + "\3\114\1\365\1\114\10\0\11\114\1\0\4\114\1\0"+ + "\2\114\1\0\1\114\1\0\4\114\60\0\1\366\21\0"+ + "\1\367\1\25\1\132\1\25\1\0\1\25\1\367\1\25"+ + "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+ + "\10\0\1\367\2\25\1\367\2\25\1\367\2\25\1\0"+ + "\4\25\1\0\1\367\1\25\1\0\1\25\1\0\1\367"+ + "\3\25\6\0\1\370\1\135\1\136\1\135\1\0\1\135"+ + "\1\370\1\135\1\0\1\135\4\0\2\135\1\0\3\135"+ + "\1\0\1\135\10\0\1\370\2\135\1\370\2\135\1\370"+ + "\2\135\1\0\4\135\1\0\1\370\1\135\1\0\1\135"+ + "\1\0\1\370\3\135\6\0\1\371\1\137\1\140\1\137"+ + "\1\0\1\137\1\371\1\137\1\0\1\137\4\0\2\137"+ + "\1\0\3\137\1\0\1\137\10\0\1\371\2\137\1\371"+ + "\2\137\1\371\2\137\1\0\4\137\1\0\1\371\1\137"+ + "\1\0\1\137\1\0\1\371\3\137\30\0\1\372\124\0"+ + "\1\373\70\0\1\374\67\0\2\375\74\0\1\376\25\0"+ + "\1\377\1\150\1\151\1\150\1\0\1\150\1\377\1\150"+ + "\1\0\1\150\4\0\2\150\1\0\3\150\1\253\1\150"+ + "\10\0\1\377\2\150\1\377\2\150\1\377\2\150\1\0"+ + "\4\150\1\0\1\377\1\150\1\0\1\150\1\0\1\377"+ + "\3\150\6\0\1\u0100\1\153\1\154\1\153\1\155\1\153"+ + "\1\u0100\27\153\1\u0100\2\153\1\u0100\2\153\1\u0100\10\153"+ + "\1\u0100\4\153\1\u0100\10\153\1\0\1\u0101\1\156\1\157"+ + "\3\156\1\u0101\1\156\1\155\25\156\1\u0101\2\156\1\u0101"+ + "\2\156\1\u0101\10\156\1\u0101\4\156\1\u0101\10\156\1\0"+ + "\1\u0102\1\160\1\161\1\160\1\162\1\160\1\u0102\27\160"+ + "\1\u0102\2\160\1\u0102\2\160\1\u0102\10\160\1\u0102\4\160"+ + "\1\u0102\10\160\1\0\1\u0103\1\163\1\164\3\163\1\u0103"+ + "\1\163\1\162\25\163\1\u0103\2\163\1\u0103\2\163\1\u0103"+ + "\10\163\1\u0103\4\163\1\u0103\10\163\1\0\2\u0104\1\u0105"+ + "\1\344\1\u0106\1\344\2\u0104\1\u0107\1\344\1\u0108\3\u0104"+ + "\2\344\4\u0104\1\0\46\u0104\1\0\1\u0109\1\51\1\166"+ + "\1\51\1\0\1\51\1\u0109\1\51\1\0\1\51\4\0"+ + "\2\51\1\0\3\51\1\0\1\51\10\0\1\u0109\2\51"+ + "\1\u0109\2\51\1\u0109\2\51\1\0\4\51\1\0\1\u0109"+ + "\1\51\1\0\1\51\1\0\1\u0109\3\51\6\0\1\u010a"+ + "\1\55\1\170\1\55\1\0\1\55\1\u010a\1\55\1\0"+ + "\1\55\4\0\2\55\1\0\3\55\1\0\1\55\10\0"+ + "\1\u010a\2\55\1\u010a\2\55\1\u010a\2\55\1\0\4\55"+ + "\1\0\1\u010a\1\55\1\0\1\55\1\0\1\u010a\3\55"+ + "\6\0\1\u010b\1\62\1\172\1\62\1\0\1\62\1\u010b"+ + "\1\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+ + "\1\62\10\0\1\u010b\2\62\1\u010b\2\62\1\u010b\2\62"+ + "\1\0\4\62\1\0\1\u010b\1\62\1\0\1\62\1\0"+ + "\1\u010b\3\62\6\0\1\u010c\1\72\1\176\1\72\1\0"+ + "\1\72\1\u010c\1\72\1\0\1\72\4\0\2\72\1\0"+ + "\3\72\1\0\1\72\10\0\1\u010c\2\72\1\u010c\2\72"+ + "\1\u010c\2\72\1\0\4\72\1\0\1\u010c\1\72\1\0"+ + "\1\72\1\0\1\u010c\3\72\6\0\1\u010d\1\100\1\200"+ + "\1\100\1\0\1\100\1\u010d\1\100\1\0\1\100\4\0"+ + "\2\100\1\0\3\100\1\0\1\100\10\0\1\u010d\2\100"+ + "\1\u010d\2\100\1\u010d\2\100\1\0\4\100\1\0\1\u010d"+ + "\1\100\1\0\1\100\1\0\1\u010d\3\100\6\0\1\u010e"+ + "\1\202\1\203\1\202\1\204\1\202\1\u010e\27\202\1\u010e"+ + "\2\202\1\u010e\2\202\1\u010e\10\202\1\u010e\4\202\1\u010e"+ + "\10\202\1\0\1\u010f\1\205\1\206\3\205\1\u010f\1\205"+ + "\1\204\25\205\1\u010f\2\205\1\u010f\2\205\1\u010f\10\205"+ + "\1\u010f\4\205\1\u010f\10\205\1\0\1\u0110\1\105\1\207"+ + "\1\105\1\0\1\105\1\u0110\1\105\1\0\1\105\4\0"+ + "\2\105\1\0\3\105\1\0\1\105\10\0\1\u0110\2\105"+ + "\1\u0110\2\105\1\u0110\2\105\1\0\4\105\1\0\1\u0110"+ + "\1\105\1\0\1\105\1\0\1\u0110\3\105\6\0\1\u0111"+ + "\1\212\1\213\1\212\1\0\1\212\1\u0111\1\212\1\0"+ + "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+ + "\1\u0111\2\212\1\u0111\2\212\1\u0111\2\212\1\0\4\212"+ + "\1\0\1\u0111\1\212\1\0\1\212\1\0\1\u0111\3\212"+ + "\6\0\1\u0112\1\307\1\310\1\307\1\0\1\307\1\u0112"+ + "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+ + "\3\307\1\0\1\307\10\0\1\u0112\2\307\1\u0112\2\307"+ + "\1\u0112\2\307\1\0\4\307\1\0\1\u0112\1\307\1\0"+ + "\1\307\1\0\1\u0112\3\307\6\0\1\u0113\1\114\1\217"+ + "\1\114\1\0\1\114\1\u0113\1\114\1\0\1\114\1\0"+ + "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+ + "\1\u0113\2\114\1\u0113\2\114\1\u0113\2\114\1\0\4\114"+ + "\1\0\1\u0113\1\114\1\0\1\114\1\0\1\u0113\3\114"+ + "\6\0\1\u0114\1\223\1\224\1\223\1\225\1\223\1\u0114"+ + "\27\223\1\u0114\2\223\1\u0114\2\223\1\u0114\10\223\1\u0114"+ + "\4\223\1\u0114\10\223\1\0\1\u0115\1\226\1\227\3\226"+ + "\1\u0115\1\226\1\225\25\226\1\u0115\2\226\1\u0115\2\226"+ + "\1\u0115\10\226\1\u0115\4\226\1\u0115\10\226\1\0\1\u0116"+ + "\1\231\1\232\1\231\1\0\1\231\1\u0116\1\231\1\0"+ + "\1\231\4\0\2\231\1\0\3\231\1\0\1\231\10\0"+ + "\1\u0116\2\231\1\u0116\2\231\1\u0116\2\231\1\0\4\231"+ + "\1\0\1\u0116\1\231\1\0\1\231\1\0\1\u0116\3\231"+ + "\6\0\1\u0117\5\0\1\u0117\1\364\15\0\2\u0117\7\0"+ + "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0"+ + "\2\u0117\10\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0"+ + "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0"+ + "\2\u0118\10\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119"+ + "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\46\u0119"+ + "\54\0\1\u011f\20\0\1\u0120\1\25\1\132\1\25\1\0"+ + "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0"+ + "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25"+ + "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0"+ + "\1\25\1\0\1\u0120\3\25\6\0\1\u0121\1\135\1\136"+ + "\1\135\1\0\1\135\1\u0121\1\135\1\0\1\135\4\0"+ + "\2\135\1\0\3\135\1\0\1\135\10\0\1\u0121\2\135"+ + "\1\u0121\2\135\1\u0121\2\135\1\0\4\135\1\0\1\u0121"+ + "\1\135\1\0\1\135\1\0\1\u0121\3\135\6\0\1\u0122"+ + "\1\137\1\140\1\137\1\0\1\137\1\u0122\1\137\1\0"+ + "\1\137\4\0\2\137\1\0\3\137\1\0\1\137\10\0"+ + "\1\u0122\2\137\1\u0122\2\137\1\u0122\2\137\1\0\4\137"+ + "\1\0\1\u0122\1\137\1\0\1\137\1\0\1\u0122\3\137"+ + "\51\0\1\u0123\52\0\1\u0124\112\0\2\u0125\40\0\1\u0126"+ + "\64\0\1\u0127\1\150\1\151\1\150\1\0\1\150\1\u0127"+ "\1\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+ - "\1\150\10\0\1\u0104\2\150\1\u0104\2\150\1\u0104\2\150"+ - "\1\0\4\150\1\0\1\u0104\1\150\1\0\1\150\1\0"+ - "\1\u0104\2\150\6\0\1\u0105\1\153\1\154\1\153\1\155"+ - "\1\153\1\u0105\27\153\1\u0105\2\153\1\u0105\2\153\1\u0105"+ - "\10\153\1\u0105\4\153\1\u0105\7\153\1\0\1\u0106\1\156"+ - "\1\157\3\156\1\u0106\1\156\1\155\25\156\1\u0106\2\156"+ - "\1\u0106\2\156\1\u0106\10\156\1\u0106\4\156\1\u0106\7\156"+ - "\1\0\1\u0107\1\160\1\161\1\160\1\162\1\160\1\u0107"+ - "\27\160\1\u0107\2\160\1\u0107\2\160\1\u0107\10\160\1\u0107"+ - "\4\160\1\u0107\7\160\1\0\1\u0108\1\163\1\164\3\163"+ - "\1\u0108\1\163\1\162\25\163\1\u0108\2\163\1\u0108\2\163"+ - "\1\u0108\10\163\1\u0108\4\163\1\u0108\7\163\1\0\2\u0109"+ - "\1\u010a\1\346\1\u010b\1\346\2\u0109\1\u010c\1\346\1\u010d"+ - "\3\u0109\2\346\4\u0109\1\0\45\u0109\1\0\1\u010e\1\51"+ - "\1\166\1\51\1\0\1\51\1\u010e\1\51\1\0\1\51"+ - "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\u010e"+ - "\2\51\1\u010e\2\51\1\u010e\2\51\1\0\4\51\1\0"+ - "\1\u010e\1\51\1\0\1\51\1\0\1\u010e\2\51\6\0"+ - "\1\u010f\1\55\1\170\1\55\1\0\1\55\1\u010f\1\55"+ - "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55"+ - "\10\0\1\u010f\2\55\1\u010f\2\55\1\u010f\2\55\1\0"+ - "\4\55\1\0\1\u010f\1\55\1\0\1\55\1\0\1\u010f"+ - "\2\55\6\0\1\u0110\1\62\1\172\1\62\1\0\1\62"+ - "\1\u0110\1\62\1\0\1\62\4\0\2\62\1\0\3\62"+ - "\1\0\1\62\10\0\1\u0110\2\62\1\u0110\2\62\1\u0110"+ - "\2\62\1\0\4\62\1\0\1\u0110\1\62\1\0\1\62"+ - "\1\0\1\u0110\2\62\6\0\1\u0111\1\72\1\176\1\72"+ - "\1\0\1\72\1\u0111\1\72\1\0\1\72\4\0\2\72"+ - "\1\0\3\72\1\0\1\72\10\0\1\u0111\2\72\1\u0111"+ - "\2\72\1\u0111\2\72\1\0\4\72\1\0\1\u0111\1\72"+ - "\1\0\1\72\1\0\1\u0111\2\72\6\0\1\u0112\1\100"+ - "\1\200\1\100\1\0\1\100\1\u0112\1\100\1\0\1\100"+ - "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\u0112"+ - "\2\100\1\u0112\2\100\1\u0112\2\100\1\0\4\100\1\0"+ - "\1\u0112\1\100\1\0\1\100\1\0\1\u0112\2\100\6\0"+ - "\1\u0113\1\202\1\203\1\202\1\204\1\202\1\u0113\27\202"+ - "\1\u0113\2\202\1\u0113\2\202\1\u0113\10\202\1\u0113\4\202"+ - "\1\u0113\7\202\1\0\1\u0114\1\205\1\206\3\205\1\u0114"+ - "\1\205\1\204\25\205\1\u0114\2\205\1\u0114\2\205\1\u0114"+ - "\10\205\1\u0114\4\205\1\u0114\7\205\1\0\1\u0115\1\105"+ - "\1\207\1\105\1\0\1\105\1\u0115\1\105\1\0\1\105"+ - "\4\0\2\105\1\0\3\105\1\0\1\105\10\0\1\u0115"+ - "\2\105\1\u0115\2\105\1\u0115\2\105\1\0\4\105\1\0"+ - "\1\u0115\1\105\1\0\1\105\1\0\1\u0115\2\105\6\0"+ - "\1\u0116\1\212\1\213\1\212\1\0\1\212\1\u0116\1\212"+ - "\1\0\1\212\4\0\2\212\1\0\3\212\1\0\1\212"+ - "\10\0\1\u0116\2\212\1\u0116\2\212\1\u0116\2\212\1\0"+ - "\4\212\1\0\1\u0116\1\212\1\0\1\212\1\0\1\u0116"+ - "\2\212\6\0\1\u0117\1\307\1\310\1\307\1\0\1\307"+ - "\1\u0117\1\307\1\0\1\307\1\0\1\220\2\0\2\307"+ - "\1\0\3\307\1\0\1\307\10\0\1\u0117\2\307\1\u0117"+ - "\2\307\1\u0117\2\307\1\0\4\307\1\0\1\u0117\1\307"+ - "\1\0\1\307\1\0\1\u0117\2\307\6\0\1\u0118\1\114"+ - "\1\217\1\114\1\0\1\114\1\u0118\1\114\1\0\1\114"+ - "\1\0\1\220\2\0\2\114\1\0\3\114\1\221\1\114"+ - "\10\0\1\u0118\2\114\1\u0118\2\114\1\u0118\2\114\1\0"+ - "\4\114\1\0\1\u0118\1\114\1\0\1\114\1\0\1\u0118"+ - "\2\114\6\0\1\u0119\1\223\1\224\1\223\1\225\1\223"+ - "\1\u0119\27\223\1\u0119\2\223\1\u0119\2\223\1\u0119\10\223"+ - "\1\u0119\4\223\1\u0119\7\223\1\0\1\u011a\1\226\1\227"+ - "\3\226\1\u011a\1\226\1\225\25\226\1\u011a\2\226\1\u011a"+ - "\2\226\1\u011a\10\226\1\u011a\4\226\1\u011a\7\226\1\0"+ - "\1\u011b\1\231\1\232\1\231\1\0\1\231\1\u011b\1\231"+ - "\1\0\1\231\4\0\2\231\1\0\3\231\1\0\1\231"+ - "\10\0\1\u011b\2\231\1\u011b\2\231\1\u011b\2\231\1\0"+ - "\4\231\1\0\1\u011b\1\231\1\0\1\231\1\0\1\u011b"+ - "\2\231\6\0\1\u011c\5\0\1\u011c\1\366\15\0\2\u011c"+ - "\7\0\2\u011c\1\0\2\u011c\1\0\2\u011c\7\0\2\u011c"+ - "\3\0\2\u011c\7\0\1\u011d\5\0\1\u011d\16\0\2\u011d"+ - "\7\0\2\u011d\1\0\2\u011d\1\0\2\u011d\7\0\2\u011d"+ - "\3\0\2\u011d\7\0\2\u011e\1\u011f\1\u0120\1\u0121\1\u0120"+ - "\2\u011e\1\u0122\1\u0120\1\u0123\3\u011e\2\u0120\4\u011e\1\0"+ - "\45\u011e\54\0\1\u0124\17\0\1\u0125\1\25\1\132\1\25"+ - "\1\0\1\25\1\u0125\1\25\1\0\1\25\4\0\2\25"+ - "\1\0\3\25\1\0\1\25\10\0\1\u0125\2\25\1\u0125"+ - "\2\25\1\u0125\2\25\1\0\4\25\1\0\1\u0125\1\25"+ - "\1\0\1\25\1\0\1\u0125\2\25\6\0\1\u0126\1\135"+ - "\1\136\1\135\1\0\1\135\1\u0126\1\135\1\0\1\135"+ - "\4\0\2\135\1\0\3\135\1\0\1\135\10\0\1\u0126"+ - "\2\135\1\u0126\2\135\1\u0126\2\135\1\0\4\135\1\0"+ - "\1\u0126\1\135\1\0\1\135\1\0\1\u0126\2\135\6\0"+ - "\1\u0127\1\137\1\140\1\137\1\0\1\137\1\u0127\1\137"+ - "\1\0\1\137\4\0\2\137\1\0\3\137\1\0\1\137"+ - "\10\0\1\u0127\2\137\1\u0127\2\137\1\u0127\2\137\1\0"+ - "\4\137\1\0\1\u0127\1\137\1\0\1\137\1\0\1\u0127"+ - "\2\137\51\0\1\u0128\51\0\1\u0129\111\0\2\u012a\37\0"+ - "\1\u012b\66\0\1\u0101\1\0\1\u0101\3\0\1\u0101\1\u0102"+ - "\3\0\2\u0101\53\0\1\u012c\1\336\1\337\1\336\1\0"+ - "\1\336\1\u012c\1\336\1\0\1\336\1\u0102\3\0\2\336"+ - "\1\0\3\336\1\0\1\336\10\0\1\u012c\2\336\1\u012c"+ - "\2\336\1\u012c\2\336\1\0\4\336\1\0\1\u012c\1\336"+ - "\1\0\1\336\1\0\1\u012c\2\336\6\0\1\u012d\1\150"+ - "\1\151\1\150\1\0\1\150\1\u012d\1\150\1\0\1\150"+ - "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u012d"+ - "\2\150\1\u012d\2\150\1\u012d\2\150\1\0\4\150\1\0"+ - "\1\u012d\1\150\1\0\1\150\1\0\1\u012d\2\150\6\0"+ - "\1\u012e\1\153\1\154\1\153\1\155\1\153\1\u012e\27\153"+ - "\1\u012e\2\153\1\u012e\2\153\1\u012e\10\153\1\u012e\4\153"+ - "\1\u012e\7\153\1\0\1\u012f\1\156\1\157\3\156\1\u012f"+ - "\1\156\1\155\25\156\1\u012f\2\156\1\u012f\2\156\1\u012f"+ - "\10\156\1\u012f\4\156\1\u012f\7\156\1\0\1\u0130\1\160"+ - "\1\161\1\160\1\162\1\160\1\u0130\27\160\1\u0130\2\160"+ - "\1\u0130\2\160\1\u0130\10\160\1\u0130\4\160\1\u0130\7\160"+ - "\1\0\1\u0131\1\163\1\164\3\163\1\u0131\1\163\1\162"+ - "\25\163\1\u0131\2\163\1\u0131\2\163\1\u0131\10\163\1\u0131"+ - "\4\163\1\u0131\7\163\1\0\2\u0109\1\u010a\1\u0132\1\0"+ - "\3\u0109\1\0\1\u0132\1\u010d\3\u0109\2\u0132\4\u0109\1\0"+ - "\45\u0109\1\0\1\u0133\1\u0109\1\u010a\1\u0132\2\u0109\1\u0133"+ - "\2\u0109\1\u0132\1\u0134\3\u0109\2\u0132\16\u0109\1\u0133\2\u0109"+ - "\1\u0133\2\u0109\1\u0133\10\u0109\1\u0133\4\u0109\1\u0133\7\u0109"+ - "\1\0\2\u010b\1\u0135\1\0\1\u0132\11\u010b\2\0\52\u010b"+ - "\1\0\2\u010c\1\u0136\1\0\4\u010c\1\u0132\5\u010c\2\0"+ - "\52\u010c\1\0\1\u0137\1\51\1\166\1\51\1\0\1\51"+ - "\1\u0137\1\51\1\0\1\51\4\0\2\51\1\0\3\51"+ - "\1\0\1\51\10\0\1\u0137\2\51\1\u0137\2\51\1\u0137"+ - "\2\51\1\0\4\51\1\0\1\u0137\1\51\1\0\1\51"+ - "\1\0\1\u0137\2\51\6\0\1\u0138\1\55\1\170\1\55"+ - "\1\0\1\55\1\u0138\1\55\1\0\1\55\4\0\2\55"+ - "\1\0\3\55\1\0\1\55\10\0\1\u0138\2\55\1\u0138"+ - "\2\55\1\u0138\2\55\1\0\4\55\1\0\1\u0138\1\55"+ - "\1\0\1\55\1\0\1\u0138\2\55\6\0\1\u0139\1\62"+ - "\1\172\1\62\1\0\1\62\1\u0139\1\62\1\0\1\62"+ - "\4\0\2\62\1\0\3\62\1\0\1\62\10\0\1\u0139"+ - "\2\62\1\u0139\2\62\1\u0139\2\62\1\0\4\62\1\0"+ - "\1\u0139\1\62\1\0\1\62\1\0\1\u0139\2\62\6\0"+ - "\1\u013a\1\72\1\176\1\72\1\0\1\72\1\u013a\1\72"+ - "\1\0\1\72\4\0\2\72\1\0\3\72\1\0\1\72"+ - "\10\0\1\u013a\2\72\1\u013a\2\72\1\u013a\2\72\1\0"+ - "\4\72\1\0\1\u013a\1\72\1\0\1\72\1\0\1\u013a"+ - "\2\72\6\0\1\u013b\1\100\1\200\1\100\1\0\1\100"+ - "\1\u013b\1\100\1\0\1\100\4\0\2\100\1\0\3\100"+ - "\1\0\1\100\10\0\1\u013b\2\100\1\u013b\2\100\1\u013b"+ - "\2\100\1\0\4\100\1\0\1\u013b\1\100\1\0\1\100"+ - "\1\0\1\u013b\2\100\6\0\1\u013c\1\202\1\203\1\202"+ - "\1\204\1\202\1\u013c\27\202\1\u013c\2\202\1\u013c\2\202"+ - "\1\u013c\10\202\1\u013c\4\202\1\u013c\7\202\1\0\1\u013d"+ - "\1\205\1\206\3\205\1\u013d\1\205\1\204\25\205\1\u013d"+ - "\2\205\1\u013d\2\205\1\u013d\10\205\1\u013d\4\205\1\u013d"+ - "\7\205\1\0\1\u013e\1\105\1\207\1\105\1\0\1\105"+ - "\1\u013e\1\105\1\0\1\105\4\0\2\105\1\0\3\105"+ - "\1\0\1\105\10\0\1\u013e\2\105\1\u013e\2\105\1\u013e"+ - "\2\105\1\0\4\105\1\0\1\u013e\1\105\1\0\1\105"+ - "\1\0\1\u013e\2\105\6\0\1\u013f\1\212\1\213\1\212"+ - "\1\0\1\212\1\u013f\1\212\1\0\1\212\4\0\2\212"+ - "\1\0\3\212\1\0\1\212\10\0\1\u013f\2\212\1\u013f"+ - "\2\212\1\u013f\2\212\1\0\4\212\1\0\1\u013f\1\212"+ - "\1\0\1\212\1\0\1\u013f\2\212\6\0\1\u0140\1\307"+ - "\1\310\1\307\1\0\1\307\1\u0140\1\307\1\0\1\307"+ - "\1\0\1\220\2\0\2\307\1\0\3\307\1\0\1\307"+ - "\10\0\1\u0140\2\307\1\u0140\2\307\1\u0140\2\307\1\0"+ - "\4\307\1\0\1\u0140\1\307\1\0\1\307\1\0\1\u0140"+ - "\2\307\6\0\1\u0141\1\114\1\217\1\114\1\0\1\114"+ - "\1\u0141\1\114\1\0\1\114\1\0\1\220\2\0\2\114"+ - "\1\0\3\114\1\221\1\114\10\0\1\u0141\2\114\1\u0141"+ - "\2\114\1\u0141\2\114\1\0\4\114\1\0\1\u0141\1\114"+ - "\1\0\1\114\1\0\1\u0141\2\114\6\0\1\u0142\1\223"+ - "\1\224\1\223\1\225\1\223\1\u0142\27\223\1\u0142\2\223"+ - "\1\u0142\2\223\1\u0142\10\223\1\u0142\4\223\1\u0142\7\223"+ - "\1\0\1\u0143\1\226\1\227\3\226\1\u0143\1\226\1\225"+ - "\25\226\1\u0143\2\226\1\u0143\2\226\1\u0143\10\226\1\u0143"+ - "\4\226\1\u0143\7\226\1\0\1\u0144\1\231\1\232\1\231"+ - "\1\0\1\231\1\u0144\1\231\1\0\1\231\4\0\2\231"+ - "\1\0\3\231\1\0\1\231\10\0\1\u0144\2\231\1\u0144"+ - "\2\231\1\u0144\2\231\1\0\4\231\1\0\1\u0144\1\231"+ - "\1\0\1\231\1\0\1\u0144\2\231\6\0\1\u0145\5\0"+ - "\1\u0145\1\366\15\0\2\u0145\7\0\2\u0145\1\0\2\u0145"+ - "\1\0\2\u0145\7\0\2\u0145\3\0\2\u0145\7\0\1\u0146"+ - "\5\0\1\u0146\16\0\2\u0146\7\0\2\u0146\1\0\2\u0146"+ - "\1\0\2\u0146\7\0\2\u0146\3\0\2\u0146\7\0\2\u011e"+ - "\1\u011f\1\u0147\1\0\3\u011e\1\0\1\u0147\1\u0123\3\u011e"+ - "\2\u0147\4\u011e\1\0\45\u011e\1\0\1\u0148\1\u011e\1\u011f"+ - "\1\u0147\2\u011e\1\u0148\2\u011e\1\u0147\1\u0149\3\u011e\2\u0147"+ - "\16\u011e\1\u0148\2\u011e\1\u0148\2\u011e\1\u0148\10\u011e\1\u0148"+ - "\4\u011e\1\u0148\7\u011e\1\0\2\u0121\1\u014a\1\0\1\u0147"+ - "\11\u0121\2\0\52\u0121\1\0\2\u0122\1\u014b\1\0\4\u0122"+ - "\1\u0147\5\u0122\2\0\52\u0122\23\0\1\u014c\50\0\1\u014d"+ - "\1\25\1\132\1\25\1\0\1\25\1\u014d\1\25\1\0"+ - "\1\25\4\0\2\25\1\0\3\25\1\0\1\25\10\0"+ - "\1\u014d\2\25\1\u014d\2\25\1\u014d\2\25\1\0\4\25"+ - "\1\0\1\u014d\1\25\1\0\1\25\1\0\1\u014d\2\25"+ - "\6\0\1\u014e\1\135\1\136\1\135\1\0\1\135\1\u014e"+ - "\1\135\1\0\1\135\4\0\2\135\1\0\3\135\1\0"+ - "\1\135\10\0\1\u014e\2\135\1\u014e\2\135\1\u014e\2\135"+ - "\1\0\4\135\1\0\1\u014e\1\135\1\0\1\135\1\0"+ - "\1\u014e\2\135\6\0\1\u014f\1\137\1\140\1\137\1\0"+ - "\1\137\1\u014f\1\137\1\0\1\137\4\0\2\137\1\0"+ - "\3\137\1\0\1\137\10\0\1\u014f\2\137\1\u014f\2\137"+ - "\1\u014f\2\137\1\0\4\137\1\0\1\u014f\1\137\1\0"+ - "\1\137\1\0\1\u014f\2\137\52\0\2\u0150\73\0\1\u0151"+ - "\106\0\2\u0152\7\0\1\u0153\1\336\1\337\1\336\1\0"+ - "\1\336\1\u0153\1\336\1\0\1\336\1\u0102\3\0\2\336"+ - "\1\0\3\336\1\0\1\336\10\0\1\u0153\2\336\1\u0153"+ - "\2\336\1\u0153\2\336\1\0\4\336\1\0\1\u0153\1\336"+ - "\1\0\1\336\1\0\1\u0153\2\336\6\0\1\u0154\1\150"+ - "\1\151\1\150\1\0\1\150\1\u0154\1\150\1\0\1\150"+ - "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u0154"+ - "\2\150\1\u0154\2\150\1\u0154\2\150\1\0\4\150\1\0"+ - "\1\u0154\1\150\1\0\1\150\1\0\1\u0154\2\150\6\0"+ - "\1\u0155\1\153\1\154\1\153\1\155\1\153\1\u0155\27\153"+ - "\1\u0155\2\153\1\u0155\2\153\1\u0155\10\153\1\u0155\4\153"+ - "\1\u0155\7\153\1\0\1\u0156\1\156\1\157\3\156\1\u0156"+ - "\1\156\1\155\25\156\1\u0156\2\156\1\u0156\2\156\1\u0156"+ - "\10\156\1\u0156\4\156\1\u0156\7\156\1\0\1\u0157\1\160"+ - "\1\161\1\160\1\162\1\160\1\u0157\27\160\1\u0157\2\160"+ - "\1\u0157\2\160\1\u0157\10\160\1\u0157\4\160\1\u0157\7\160"+ - "\1\0\1\u0158\1\163\1\164\3\163\1\u0158\1\163\1\162"+ - "\25\163\1\u0158\2\163\1\u0158\2\163\1\u0158\10\163\1\u0158"+ - "\4\163\1\u0158\7\163\4\0\1\u0132\1\0\1\u0132\3\0"+ - "\1\u0132\1\u010d\3\0\2\u0132\53\0\1\u0159\1\u0109\1\u010a"+ - "\1\u0109\1\0\1\u0109\1\u0159\1\u0109\1\0\1\u0109\1\u010d"+ - "\11\u0109\1\0\11\u0109\1\u0159\2\u0109\1\u0159\2\u0109\1\u0159"+ - "\10\u0109\1\u0159\4\u0109\1\u0159\7\u0109\1\0\1\u015a\1\u010b"+ - "\1\u0135\1\u010b\1\u015b\1\u010b\1\u015a\10\u010b\1\u015c\16\u010b"+ - "\1\u015a\2\u010b\1\u015a\2\u010b\1\u015a\10\u010b\1\u015a\4\u010b"+ - "\1\u015a\7\u010b\1\0\1\u015d\1\u010c\1\u0136\3\u010c\1\u015d"+ - "\1\u010c\1\u015e\6\u010c\1\u015f\16\u010c\1\u015d\2\u010c\1\u015d"+ - "\2\u010c\1\u015d\10\u010c\1\u015d\4\u010c\1\u015d\7\u010c\1\0"+ - "\1\u0160\1\51\1\166\1\51\1\0\1\51\1\u0160\1\51"+ + "\1\150\10\0\1\u0127\2\150\1\u0127\2\150\1\u0127\2\150"+ + "\1\0\4\150\1\0\1\u0127\1\150\1\0\1\150\1\0"+ + "\1\u0127\3\150\6\0\1\u0128\1\153\1\154\1\153\1\155"+ + "\1\153\1\u0128\27\153\1\u0128\2\153\1\u0128\2\153\1\u0128"+ + "\10\153\1\u0128\4\153\1\u0128\10\153\1\0\1\u0129\1\156"+ + "\1\157\3\156\1\u0129\1\156\1\155\25\156\1\u0129\2\156"+ + "\1\u0129\2\156\1\u0129\10\156\1\u0129\4\156\1\u0129\10\156"+ + "\1\0\1\u012a\1\160\1\161\1\160\1\162\1\160\1\u012a"+ + "\27\160\1\u012a\2\160\1\u012a\2\160\1\u012a\10\160\1\u012a"+ + "\4\160\1\u012a\10\160\1\0\1\u012b\1\163\1\164\3\163"+ + "\1\u012b\1\163\1\162\25\163\1\u012b\2\163\1\u012b\2\163"+ + "\1\u012b\10\163\1\u012b\4\163\1\u012b\10\163\1\0\2\u0104"+ + "\1\u0105\1\u012c\1\0\3\u0104\1\0\1\u012c\1\u0108\3\u0104"+ + "\2\u012c\4\u0104\1\0\46\u0104\1\0\1\u012d\1\u0104\1\u0105"+ + "\1\u012c\2\u0104\1\u012d\2\u0104\1\u012c\1\u012e\3\u0104\2\u012c"+ + "\16\u0104\1\u012d\2\u0104\1\u012d\2\u0104\1\u012d\10\u0104\1\u012d"+ + "\4\u0104\1\u012d\10\u0104\1\0\2\u0106\1\u012f\1\0\1\u012c"+ + "\11\u0106\2\0\53\u0106\1\0\2\u0107\1\u0130\1\0\4\u0107"+ + "\1\u012c\5\u0107\2\0\53\u0107\1\0\1\u0131\1\51\1\166"+ + "\1\51\1\0\1\51\1\u0131\1\51\1\0\1\51\4\0"+ + "\2\51\1\0\3\51\1\0\1\51\10\0\1\u0131\2\51"+ + "\1\u0131\2\51\1\u0131\2\51\1\0\4\51\1\0\1\u0131"+ + "\1\51\1\0\1\51\1\0\1\u0131\3\51\6\0\1\u0132"+ + "\1\55\1\170\1\55\1\0\1\55\1\u0132\1\55\1\0"+ + "\1\55\4\0\2\55\1\0\3\55\1\0\1\55\10\0"+ + "\1\u0132\2\55\1\u0132\2\55\1\u0132\2\55\1\0\4\55"+ + "\1\0\1\u0132\1\55\1\0\1\55\1\0\1\u0132\3\55"+ + "\6\0\1\u0133\1\62\1\172\1\62\1\0\1\62\1\u0133"+ + "\1\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+ + "\1\62\10\0\1\u0133\2\62\1\u0133\2\62\1\u0133\2\62"+ + "\1\0\4\62\1\0\1\u0133\1\62\1\0\1\62\1\0"+ + "\1\u0133\3\62\6\0\1\u0134\1\72\1\176\1\72\1\0"+ + "\1\72\1\u0134\1\72\1\0\1\72\4\0\2\72\1\0"+ + "\3\72\1\0\1\72\10\0\1\u0134\2\72\1\u0134\2\72"+ + "\1\u0134\2\72\1\0\4\72\1\0\1\u0134\1\72\1\0"+ + "\1\72\1\0\1\u0134\3\72\6\0\1\u0135\1\100\1\200"+ + "\1\100\1\0\1\100\1\u0135\1\100\1\0\1\100\4\0"+ + "\2\100\1\0\3\100\1\0\1\100\10\0\1\u0135\2\100"+ + "\1\u0135\2\100\1\u0135\2\100\1\0\4\100\1\0\1\u0135"+ + "\1\100\1\0\1\100\1\0\1\u0135\3\100\6\0\1\u0136"+ + "\1\202\1\203\1\202\1\204\1\202\1\u0136\27\202\1\u0136"+ + "\2\202\1\u0136\2\202\1\u0136\10\202\1\u0136\4\202\1\u0136"+ + "\10\202\1\0\1\u0137\1\205\1\206\3\205\1\u0137\1\205"+ + "\1\204\25\205\1\u0137\2\205\1\u0137\2\205\1\u0137\10\205"+ + "\1\u0137\4\205\1\u0137\10\205\1\0\1\u0138\1\105\1\207"+ + "\1\105\1\0\1\105\1\u0138\1\105\1\0\1\105\4\0"+ + "\2\105\1\0\3\105\1\0\1\105\10\0\1\u0138\2\105"+ + "\1\u0138\2\105\1\u0138\2\105\1\0\4\105\1\0\1\u0138"+ + "\1\105\1\0\1\105\1\0\1\u0138\3\105\6\0\1\u0139"+ + "\1\212\1\213\1\212\1\0\1\212\1\u0139\1\212\1\0"+ + "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+ + "\1\u0139\2\212\1\u0139\2\212\1\u0139\2\212\1\0\4\212"+ + "\1\0\1\u0139\1\212\1\0\1\212\1\0\1\u0139\3\212"+ + "\6\0\1\u013a\1\307\1\310\1\307\1\0\1\307\1\u013a"+ + "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+ + "\3\307\1\0\1\307\10\0\1\u013a\2\307\1\u013a\2\307"+ + "\1\u013a\2\307\1\0\4\307\1\0\1\u013a\1\307\1\0"+ + "\1\307\1\0\1\u013a\3\307\6\0\1\u013b\1\114\1\217"+ + "\1\114\1\0\1\114\1\u013b\1\114\1\0\1\114\1\0"+ + "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+ + "\1\u013b\2\114\1\u013b\2\114\1\u013b\2\114\1\0\4\114"+ + "\1\0\1\u013b\1\114\1\0\1\114\1\0\1\u013b\3\114"+ + "\6\0\1\u013c\1\223\1\224\1\223\1\225\1\223\1\u013c"+ + "\27\223\1\u013c\2\223\1\u013c\2\223\1\u013c\10\223\1\u013c"+ + "\4\223\1\u013c\10\223\1\0\1\u013d\1\226\1\227\3\226"+ + "\1\u013d\1\226\1\225\25\226\1\u013d\2\226\1\u013d\2\226"+ + "\1\u013d\10\226\1\u013d\4\226\1\u013d\10\226\1\0\1\u013e"+ + "\1\231\1\232\1\231\1\0\1\231\1\u013e\1\231\1\0"+ + "\1\231\4\0\2\231\1\0\3\231\1\0\1\231\10\0"+ + "\1\u013e\2\231\1\u013e\2\231\1\u013e\2\231\1\0\4\231"+ + "\1\0\1\u013e\1\231\1\0\1\231\1\0\1\u013e\3\231"+ + "\6\0\1\u013f\5\0\1\u013f\1\364\15\0\2\u013f\7\0"+ + "\2\u013f\1\0\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0"+ + "\2\u013f\10\0\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0"+ + "\2\u0140\1\0\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0"+ + "\2\u0140\10\0\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0"+ + "\1\u0141\1\u011e\3\u0119\2\u0141\4\u0119\1\0\46\u0119\1\0"+ + "\1\u0142\1\u0119\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141"+ + "\1\u0143\3\u0119\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119"+ + "\1\u0142\10\u0119\1\u0142\4\u0119\1\u0142\10\u0119\1\0\2\u011c"+ + "\1\u0144\1\0\1\u0141\11\u011c\2\0\53\u011c\1\0\2\u011d"+ + "\1\u0145\1\0\4\u011d\1\u0141\5\u011d\2\0\53\u011d\23\0"+ + "\1\u0146\51\0\1\u0147\1\25\1\132\1\25\1\0\1\25"+ + "\1\u0147\1\25\1\0\1\25\4\0\2\25\1\0\3\25"+ + "\1\0\1\25\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147"+ + "\2\25\1\0\4\25\1\0\1\u0147\1\25\1\0\1\25"+ + "\1\0\1\u0147\3\25\6\0\1\u0148\1\135\1\136\1\135"+ + "\1\0\1\135\1\u0148\1\135\1\0\1\135\4\0\2\135"+ + "\1\0\3\135\1\0\1\135\10\0\1\u0148\2\135\1\u0148"+ + "\2\135\1\u0148\2\135\1\0\4\135\1\0\1\u0148\1\135"+ + "\1\0\1\135\1\0\1\u0148\3\135\6\0\1\u0149\1\137"+ + "\1\140\1\137\1\0\1\137\1\u0149\1\137\1\0\1\137"+ + "\4\0\2\137\1\0\3\137\1\0\1\137\10\0\1\u0149"+ + "\2\137\1\u0149\2\137\1\u0149\2\137\1\0\4\137\1\0"+ + "\1\u0149\1\137\1\0\1\137\1\0\1\u0149\3\137\52\0"+ + "\2\u014a\74\0\1\u014b\107\0\2\u014c\10\0\1\u014d\1\150"+ + "\1\151\1\150\1\0\1\150\1\u014d\1\150\1\0\1\150"+ + "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u014d"+ + "\2\150\1\u014d\2\150\1\u014d\2\150\1\0\4\150\1\0"+ + "\1\u014d\1\150\1\0\1\150\1\0\1\u014d\3\150\6\0"+ + "\1\u014e\1\153\1\154\1\153\1\155\1\153\1\u014e\27\153"+ + "\1\u014e\2\153\1\u014e\2\153\1\u014e\10\153\1\u014e\4\153"+ + "\1\u014e\10\153\1\0\1\u014f\1\156\1\157\3\156\1\u014f"+ + "\1\156\1\155\25\156\1\u014f\2\156\1\u014f\2\156\1\u014f"+ + "\10\156\1\u014f\4\156\1\u014f\10\156\1\0\1\u0150\1\160"+ + "\1\161\1\160\1\162\1\160\1\u0150\27\160\1\u0150\2\160"+ + "\1\u0150\2\160\1\u0150\10\160\1\u0150\4\160\1\u0150\10\160"+ + "\1\0\1\u0151\1\163\1\164\3\163\1\u0151\1\163\1\162"+ + "\25\163\1\u0151\2\163\1\u0151\2\163\1\u0151\10\163\1\u0151"+ + "\4\163\1\u0151\10\163\4\0\1\u012c\1\0\1\u012c\3\0"+ + "\1\u012c\1\u0108\3\0\2\u012c\54\0\1\u0152\1\u0104\1\u0105"+ + "\1\u0104\1\0\1\u0104\1\u0152\1\u0104\1\0\1\u0104\1\u0108"+ + "\11\u0104\1\0\11\u0104\1\u0152\2\u0104\1\u0152\2\u0104\1\u0152"+ + "\10\u0104\1\u0152\4\u0104\1\u0152\10\u0104\1\0\1\u0153\1\u0106"+ + "\1\u012f\1\u0106\1\u0154\1\u0106\1\u0153\10\u0106\1\u0155\16\u0106"+ + "\1\u0153\2\u0106\1\u0153\2\u0106\1\u0153\10\u0106\1\u0153\4\u0106"+ + "\1\u0153\10\u0106\1\0\1\u0156\1\u0107\1\u0130\3\u0107\1\u0156"+ + "\1\u0107\1\u0157\6\u0107\1\u0158\16\u0107\1\u0156\2\u0107\1\u0156"+ + "\2\u0107\1\u0156\10\u0107\1\u0156\4\u0107\1\u0156\10\u0107\1\0"+ + "\1\u0159\1\51\1\166\1\51\1\0\1\51\1\u0159\1\51"+ "\1\0\1\51\4\0\2\51\1\0\3\51\1\0\1\51"+ - "\10\0\1\u0160\2\51\1\u0160\2\51\1\u0160\2\51\1\0"+ - "\4\51\1\0\1\u0160\1\51\1\0\1\51\1\0\1\u0160"+ - "\2\51\6\0\1\u0161\1\55\1\170\1\55\1\0\1\55"+ - "\1\u0161\1\55\1\0\1\55\4\0\2\55\1\0\3\55"+ - "\1\0\1\55\10\0\1\u0161\2\55\1\u0161\2\55\1\u0161"+ - "\2\55\1\0\4\55\1\0\1\u0161\1\55\1\0\1\55"+ - "\1\0\1\u0161\2\55\6\0\1\u0162\1\62\1\172\1\62"+ - "\1\0\1\62\1\u0162\1\62\1\0\1\62\4\0\2\62"+ - "\1\0\3\62\1\0\1\62\10\0\1\u0162\2\62\1\u0162"+ - "\2\62\1\u0162\2\62\1\0\4\62\1\0\1\u0162\1\62"+ - "\1\0\1\62\1\0\1\u0162\2\62\6\0\1\u0163\1\72"+ - "\1\176\1\72\1\0\1\72\1\u0163\1\72\1\0\1\72"+ - "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\1\u0163"+ - "\2\72\1\u0163\2\72\1\u0163\2\72\1\0\4\72\1\0"+ - "\1\u0163\1\72\1\0\1\72\1\0\1\u0163\2\72\6\0"+ - "\1\u0164\1\100\1\200\1\100\1\0\1\100\1\u0164\1\100"+ + "\10\0\1\u0159\2\51\1\u0159\2\51\1\u0159\2\51\1\0"+ + "\4\51\1\0\1\u0159\1\51\1\0\1\51\1\0\1\u0159"+ + "\3\51\6\0\1\u015a\1\55\1\170\1\55\1\0\1\55"+ + "\1\u015a\1\55\1\0\1\55\4\0\2\55\1\0\3\55"+ + "\1\0\1\55\10\0\1\u015a\2\55\1\u015a\2\55\1\u015a"+ + "\2\55\1\0\4\55\1\0\1\u015a\1\55\1\0\1\55"+ + "\1\0\1\u015a\3\55\6\0\1\u015b\1\62\1\172\1\62"+ + "\1\0\1\62\1\u015b\1\62\1\0\1\62\4\0\2\62"+ + "\1\0\3\62\1\0\1\62\10\0\1\u015b\2\62\1\u015b"+ + "\2\62\1\u015b\2\62\1\0\4\62\1\0\1\u015b\1\62"+ + "\1\0\1\62\1\0\1\u015b\3\62\6\0\1\u015c\1\72"+ + "\1\176\1\72\1\0\1\72\1\u015c\1\72\1\0\1\72"+ + "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\1\u015c"+ + "\2\72\1\u015c\2\72\1\u015c\2\72\1\0\4\72\1\0"+ + "\1\u015c\1\72\1\0\1\72\1\0\1\u015c\3\72\6\0"+ + "\1\u015d\1\100\1\200\1\100\1\0\1\100\1\u015d\1\100"+ "\1\0\1\100\4\0\2\100\1\0\3\100\1\0\1\100"+ - "\10\0\1\u0164\2\100\1\u0164\2\100\1\u0164\2\100\1\0"+ - "\4\100\1\0\1\u0164\1\100\1\0\1\100\1\0\1\u0164"+ - "\2\100\6\0\1\u0165\1\202\1\203\1\202\1\204\1\202"+ - "\1\u0165\27\202\1\u0165\2\202\1\u0165\2\202\1\u0165\10\202"+ - "\1\u0165\4\202\1\u0165\7\202\1\0\1\u0166\1\205\1\206"+ - "\3\205\1\u0166\1\205\1\204\25\205\1\u0166\2\205\1\u0166"+ - "\2\205\1\u0166\10\205\1\u0166\4\205\1\u0166\7\205\1\0"+ - "\1\u0167\1\105\1\207\1\105\1\0\1\105\1\u0167\1\105"+ + "\10\0\1\u015d\2\100\1\u015d\2\100\1\u015d\2\100\1\0"+ + "\4\100\1\0\1\u015d\1\100\1\0\1\100\1\0\1\u015d"+ + "\3\100\6\0\1\u015e\1\202\1\203\1\202\1\204\1\202"+ + "\1\u015e\27\202\1\u015e\2\202\1\u015e\2\202\1\u015e\10\202"+ + "\1\u015e\4\202\1\u015e\10\202\1\0\1\u015f\1\205\1\206"+ + "\3\205\1\u015f\1\205\1\204\25\205\1\u015f\2\205\1\u015f"+ + "\2\205\1\u015f\10\205\1\u015f\4\205\1\u015f\10\205\1\0"+ + "\1\u0160\1\105\1\207\1\105\1\0\1\105\1\u0160\1\105"+ "\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105"+ - "\10\0\1\u0167\2\105\1\u0167\2\105\1\u0167\2\105\1\0"+ - "\4\105\1\0\1\u0167\1\105\1\0\1\105\1\0\1\u0167"+ - "\2\105\6\0\1\u0168\1\212\1\213\1\212\1\0\1\212"+ - "\1\u0168\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+ - "\1\0\1\212\10\0\1\u0168\2\212\1\u0168\2\212\1\u0168"+ - "\2\212\1\0\4\212\1\0\1\u0168\1\212\1\0\1\212"+ - "\1\0\1\u0168\2\212\6\0\1\u0169\1\307\1\310\1\307"+ - "\1\0\1\307\1\u0169\1\307\1\0\1\307\1\0\1\220"+ - "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u0169"+ - "\2\307\1\u0169\2\307\1\u0169\2\307\1\0\4\307\1\0"+ - "\1\u0169\1\307\1\0\1\307\1\0\1\u0169\2\307\6\0"+ - "\1\u016a\1\114\1\217\1\114\1\0\1\114\1\u016a\1\114"+ + "\10\0\1\u0160\2\105\1\u0160\2\105\1\u0160\2\105\1\0"+ + "\4\105\1\0\1\u0160\1\105\1\0\1\105\1\0\1\u0160"+ + "\3\105\6\0\1\u0161\1\212\1\213\1\212\1\0\1\212"+ + "\1\u0161\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+ + "\1\0\1\212\10\0\1\u0161\2\212\1\u0161\2\212\1\u0161"+ + "\2\212\1\0\4\212\1\0\1\u0161\1\212\1\0\1\212"+ + "\1\0\1\u0161\3\212\6\0\1\u0162\1\307\1\310\1\307"+ + "\1\0\1\307\1\u0162\1\307\1\0\1\307\1\0\1\220"+ + "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u0162"+ + "\2\307\1\u0162\2\307\1\u0162\2\307\1\0\4\307\1\0"+ + "\1\u0162\1\307\1\0\1\307\1\0\1\u0162\3\307\6\0"+ + "\1\u0163\1\114\1\217\1\114\1\0\1\114\1\u0163\1\114"+ "\1\0\1\114\1\0\1\220\2\0\2\114\1\0\3\114"+ - "\1\221\1\114\10\0\1\u016a\2\114\1\u016a\2\114\1\u016a"+ - "\2\114\1\0\4\114\1\0\1\u016a\1\114\1\0\1\114"+ - "\1\0\1\u016a\2\114\6\0\1\u016b\1\223\1\224\1\223"+ - "\1\225\1\223\1\u016b\27\223\1\u016b\2\223\1\u016b\2\223"+ - "\1\u016b\10\223\1\u016b\4\223\1\u016b\7\223\1\0\1\u016c"+ - "\1\226\1\227\3\226\1\u016c\1\226\1\225\25\226\1\u016c"+ - "\2\226\1\u016c\2\226\1\u016c\10\226\1\u016c\4\226\1\u016c"+ - "\7\226\1\0\1\u016d\1\231\1\232\1\231\1\0\1\231"+ - "\1\u016d\1\231\1\0\1\231\4\0\2\231\1\0\3\231"+ - "\1\0\1\231\10\0\1\u016d\2\231\1\u016d\2\231\1\u016d"+ - "\2\231\1\0\4\231\1\0\1\u016d\1\231\1\0\1\231"+ - "\1\0\1\u016d\2\231\6\0\1\u016e\5\0\1\u016e\1\366"+ - "\15\0\2\u016e\7\0\2\u016e\1\0\2\u016e\1\0\2\u016e"+ - "\7\0\2\u016e\3\0\2\u016e\7\0\1\u016f\5\0\1\u016f"+ - "\16\0\2\u016f\7\0\2\u016f\1\0\2\u016f\1\0\2\u016f"+ - "\7\0\2\u016f\3\0\2\u016f\12\0\1\u0147\1\0\1\u0147"+ - "\3\0\1\u0147\1\u0123\3\0\2\u0147\53\0\1\u0170\1\u011e"+ - "\1\u011f\1\u011e\1\0\1\u011e\1\u0170\1\u011e\1\0\1\u011e"+ - "\1\u0123\11\u011e\1\0\11\u011e\1\u0170\2\u011e\1\u0170\2\u011e"+ - "\1\u0170\10\u011e\1\u0170\4\u011e\1\u0170\7\u011e\1\0\1\u0171"+ - "\1\u0121\1\u014a\1\u0121\1\u0172\1\u0121\1\u0171\10\u0121\1\u0173"+ - "\16\u0121\1\u0171\2\u0121\1\u0171\2\u0121\1\u0171\10\u0121\1\u0171"+ - "\4\u0121\1\u0171\7\u0121\1\0\1\u0174\1\u0122\1\u014b\3\u0122"+ - "\1\u0174\1\u0122\1\u0175\6\u0122\1\u0176\16\u0122\1\u0174\2\u0122"+ - "\1\u0174\2\u0122\1\u0174\10\u0122\1\u0174\4\u0122\1\u0174\7\u0122"+ - "\47\0\1\u0177\24\0\2\25\1\132\1\25\1\0\3\25"+ + "\1\221\1\114\10\0\1\u0163\2\114\1\u0163\2\114\1\u0163"+ + "\2\114\1\0\4\114\1\0\1\u0163\1\114\1\0\1\114"+ + "\1\0\1\u0163\3\114\6\0\1\u0164\1\223\1\224\1\223"+ + "\1\225\1\223\1\u0164\27\223\1\u0164\2\223\1\u0164\2\223"+ + "\1\u0164\10\223\1\u0164\4\223\1\u0164\10\223\1\0\1\u0165"+ + "\1\226\1\227\3\226\1\u0165\1\226\1\225\25\226\1\u0165"+ + "\2\226\1\u0165\2\226\1\u0165\10\226\1\u0165\4\226\1\u0165"+ + "\10\226\1\0\1\u0166\1\231\1\232\1\231\1\0\1\231"+ + "\1\u0166\1\231\1\0\1\231\4\0\2\231\1\0\3\231"+ + "\1\0\1\231\10\0\1\u0166\2\231\1\u0166\2\231\1\u0166"+ + "\2\231\1\0\4\231\1\0\1\u0166\1\231\1\0\1\231"+ + "\1\0\1\u0166\3\231\6\0\1\u0167\5\0\1\u0167\1\364"+ + "\15\0\2\u0167\7\0\2\u0167\1\0\2\u0167\1\0\2\u0167"+ + "\7\0\2\u0167\3\0\2\u0167\10\0\1\u0168\5\0\1\u0168"+ + "\16\0\2\u0168\7\0\2\u0168\1\0\2\u0168\1\0\2\u0168"+ + "\7\0\2\u0168\3\0\2\u0168\13\0\1\u0141\1\0\1\u0141"+ + "\3\0\1\u0141\1\u011e\3\0\2\u0141\54\0\1\u0169\1\u0119"+ + "\1\u011a\1\u0119\1\0\1\u0119\1\u0169\1\u0119\1\0\1\u0119"+ + "\1\u011e\11\u0119\1\0\11\u0119\1\u0169\2\u0119\1\u0169\2\u0119"+ + "\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169\10\u0119\1\0\1\u016a"+ + "\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c\1\u016a\10\u011c\1\u016c"+ + "\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c\1\u016a\10\u011c\1\u016a"+ + "\4\u011c\1\u016a\10\u011c\1\0\1\u016d\1\u011d\1\u0145\3\u011d"+ + "\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f\16\u011d\1\u016d\2\u011d"+ + "\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d\4\u011d\1\u016d\10\u011d"+ + "\47\0\1\u0170\25\0\2\25\1\132\1\25\1\0\3\25"+ "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+ "\10\0\11\25\1\0\4\25\1\0\2\25\1\0\1\25"+ - "\1\0\3\25\6\0\1\u0178\1\135\1\136\1\135\1\0"+ - "\1\135\1\u0178\1\135\1\0\1\135\4\0\2\135\1\0"+ - "\3\135\1\0\1\135\10\0\1\u0178\2\135\1\u0178\2\135"+ - "\1\u0178\2\135\1\0\4\135\1\0\1\u0178\1\135\1\0"+ - "\1\135\1\0\1\u0178\2\135\6\0\1\u0179\1\137\1\140"+ - "\1\137\1\0\1\137\1\u0179\1\137\1\0\1\137\4\0"+ - "\2\137\1\0\3\137\1\0\1\137\10\0\1\u0179\2\137"+ - "\1\u0179\2\137\1\u0179\2\137\1\0\4\137\1\0\1\u0179"+ - "\1\137\1\0\1\137\1\0\1\u0179\2\137\54\0\1\u017a"+ - "\65\0\2\u017b\30\0\1\u017c\1\336\1\337\1\336\1\0"+ - "\1\336\1\u017c\1\336\1\0\1\336\1\u0102\3\0\2\336"+ - "\1\0\3\336\1\0\1\336\10\0\1\u017c\2\336\1\u017c"+ - "\2\336\1\u017c\2\336\1\0\4\336\1\0\1\u017c\1\336"+ - "\1\0\1\336\1\0\1\u017c\2\336\6\0\1\u017d\1\150"+ - "\1\151\1\150\1\0\1\150\1\u017d\1\150\1\0\1\150"+ - "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u017d"+ - "\2\150\1\u017d\2\150\1\u017d\2\150\1\0\4\150\1\0"+ - "\1\u017d\1\150\1\0\1\150\1\0\1\u017d\2\150\6\0"+ - "\1\u017e\1\153\1\154\1\153\1\155\1\153\1\u017e\27\153"+ - "\1\u017e\2\153\1\u017e\2\153\1\u017e\10\153\1\u017e\4\153"+ - "\1\u017e\7\153\1\0\1\u017f\1\156\1\157\3\156\1\u017f"+ - "\1\156\1\155\25\156\1\u017f\2\156\1\u017f\2\156\1\u017f"+ - "\10\156\1\u017f\4\156\1\u017f\7\156\1\0\1\u0180\1\160"+ - "\1\161\1\160\1\162\1\160\1\u0180\27\160\1\u0180\2\160"+ - "\1\u0180\2\160\1\u0180\10\160\1\u0180\4\160\1\u0180\7\160"+ - "\1\0\1\u0181\1\163\1\164\3\163\1\u0181\1\163\1\162"+ - "\25\163\1\u0181\2\163\1\u0181\2\163\1\u0181\10\163\1\u0181"+ - "\4\163\1\u0181\7\163\1\0\1\u0182\1\u0109\1\u010a\1\u0109"+ - "\1\0\1\u0109\1\u0182\1\u0109\1\0\1\u0109\1\u010d\11\u0109"+ - "\1\0\11\u0109\1\u0182\2\u0109\1\u0182\2\u0109\1\u0182\10\u0109"+ - "\1\u0182\4\u0109\1\u0182\7\u0109\1\0\1\u0183\1\u010b\1\u0135"+ - "\1\u010b\1\u0132\1\u010b\1\u0183\27\u010b\1\u0183\2\u010b\1\u0183"+ - "\2\u010b\1\u0183\10\u010b\1\u0183\4\u010b\1\u0183\7\u010b\1\0"+ - "\2\u010b\1\u0135\2\u0132\1\u015b\3\u010b\1\u015b\1\u0184\3\u010b"+ - "\2\u0132\52\u010b\1\0\2\u010b\1\u0135\1\0\1\u0132\12\u010b"+ - "\1\0\52\u010b\1\0\1\u0185\1\u010c\1\u0136\3\u010c\1\u0185"+ - "\1\u010c\1\u0132\25\u010c\1\u0185\2\u010c\1\u0185\2\u010c\1\u0185"+ - "\10\u010c\1\u0185\4\u010c\1\u0185\7\u010c\1\0\2\u010c\1\u0136"+ - "\1\u0132\1\u010c\1\u015e\2\u010c\1\u0132\1\u015e\1\u0186\3\u010c"+ - "\2\u0132\52\u010c\1\0\2\u010c\1\u0136\1\0\4\u010c\1\u0132"+ - "\6\u010c\1\0\52\u010c\1\0\2\51\1\166\1\51\1\0"+ - "\3\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+ - "\1\51\10\0\11\51\1\0\4\51\1\0\2\51\1\0"+ - "\1\51\1\0\3\51\6\0\2\55\1\170\1\55\1\0"+ - "\3\55\1\0\1\55\4\0\2\55\1\0\3\55\1\0"+ - "\1\55\10\0\11\55\1\0\4\55\1\0\2\55\1\0"+ - "\1\55\1\0\3\55\6\0\2\62\1\172\1\62\1\0"+ - "\3\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+ - "\1\62\10\0\11\62\1\0\4\62\1\0\2\62\1\0"+ - "\1\62\1\0\3\62\6\0\2\72\1\176\1\72\1\0"+ - "\3\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+ - "\1\72\10\0\11\72\1\0\4\72\1\0\2\72\1\0"+ - "\1\72\1\0\3\72\6\0\2\100\1\200\1\100\1\0"+ - "\3\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+ - "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0"+ - "\1\100\1\0\3\100\6\0\1\u0187\1\202\1\203\1\202"+ - "\1\204\1\202\1\u0187\27\202\1\u0187\2\202\1\u0187\2\202"+ - "\1\u0187\10\202\1\u0187\4\202\1\u0187\7\202\1\0\1\u0188"+ - "\1\205\1\206\3\205\1\u0188\1\205\1\204\25\205\1\u0188"+ - "\2\205\1\u0188\2\205\1\u0188\10\205\1\u0188\4\205\1\u0188"+ - "\7\205\1\0\2\105\1\207\1\105\1\0\3\105\1\0"+ - "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0"+ - "\11\105\1\0\4\105\1\0\2\105\1\0\1\105\1\0"+ - "\3\105\6\0\1\u0189\1\212\1\213\1\212\1\0\1\212"+ - "\1\u0189\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+ - "\1\0\1\212\10\0\1\u0189\2\212\1\u0189\2\212\1\u0189"+ - "\2\212\1\0\4\212\1\0\1\u0189\1\212\1\0\1\212"+ - "\1\0\1\u0189\2\212\6\0\1\u018a\1\307\1\310\1\307"+ - "\1\0\1\307\1\u018a\1\307\1\0\1\307\1\0\1\220"+ - "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u018a"+ - "\2\307\1\u018a\2\307\1\u018a\2\307\1\0\4\307\1\0"+ - "\1\u018a\1\307\1\0\1\307\1\0\1\u018a\2\307\6\0"+ - "\2\114\1\217\1\114\1\0\3\114\1\0\1\114\1\0"+ - "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+ - "\11\114\1\0\4\114\1\0\2\114\1\0\1\114\1\0"+ - "\3\114\6\0\1\u018b\1\223\1\224\1\223\1\225\1\223"+ - "\1\u018b\27\223\1\u018b\2\223\1\u018b\2\223\1\u018b\10\223"+ - "\1\u018b\4\223\1\u018b\7\223\1\0\1\u018c\1\226\1\227"+ - "\3\226\1\u018c\1\226\1\225\25\226\1\u018c\2\226\1\u018c"+ - "\2\226\1\u018c\10\226\1\u018c\4\226\1\u018c\7\226\1\0"+ - "\1\u018d\1\231\1\232\1\231\1\0\1\231\1\u018d\1\231"+ - "\1\0\1\231\4\0\2\231\1\0\3\231\1\0\1\231"+ - "\10\0\1\u018d\2\231\1\u018d\2\231\1\u018d\2\231\1\0"+ - "\4\231\1\0\1\u018d\1\231\1\0\1\231\1\0\1\u018d"+ - "\2\231\6\0\1\u018e\5\0\1\u018e\1\366\15\0\2\u018e"+ - "\7\0\2\u018e\1\0\2\u018e\1\0\2\u018e\7\0\2\u018e"+ - "\3\0\2\u018e\7\0\1\u018f\5\0\1\u018f\16\0\2\u018f"+ - "\7\0\2\u018f\1\0\2\u018f\1\0\2\u018f\7\0\2\u018f"+ - "\3\0\2\u018f\7\0\1\u0190\1\u011e\1\u011f\1\u011e\1\0"+ - "\1\u011e\1\u0190\1\u011e\1\0\1\u011e\1\u0123\11\u011e\1\0"+ - "\11\u011e\1\u0190\2\u011e\1\u0190\2\u011e\1\u0190\10\u011e\1\u0190"+ - "\4\u011e\1\u0190\7\u011e\1\0\1\u0191\1\u0121\1\u014a\1\u0121"+ - "\1\u0147\1\u0121\1\u0191\27\u0121\1\u0191\2\u0121\1\u0191\2\u0121"+ - "\1\u0191\10\u0121\1\u0191\4\u0121\1\u0191\7\u0121\1\0\2\u0121"+ - "\1\u014a\2\u0147\1\u0172\3\u0121\1\u0172\1\u0192\3\u0121\2\u0147"+ - "\52\u0121\1\0\2\u0121\1\u014a\1\0\1\u0147\12\u0121\1\0"+ - "\52\u0121\1\0\1\u0193\1\u0122\1\u014b\3\u0122\1\u0193\1\u0122"+ - "\1\u0147\25\u0122\1\u0193\2\u0122\1\u0193\2\u0122\1\u0193\10\u0122"+ - "\1\u0193\4\u0122\1\u0193\7\u0122\1\0\2\u0122\1\u014b\1\u0147"+ - "\1\u0122\1\u0175\2\u0122\1\u0147\1\u0175\1\u0194\3\u0122\2\u0147"+ - "\52\u0122\1\0\2\u0122\1\u014b\1\0\4\u0122\1\u0147\6\u0122"+ - "\1\0\52\u0122\42\0\2\u0195\30\0\2\135\1\136\1\135"+ - "\1\0\3\135\1\0\1\135\4\0\2\135\1\0\3\135"+ - "\1\0\1\135\10\0\11\135\1\0\4\135\1\0\2\135"+ - "\1\0\1\135\1\0\3\135\6\0\2\137\1\140\1\137"+ - "\1\0\3\137\1\0\1\137\4\0\2\137\1\0\3\137"+ - "\1\0\1\137\10\0\11\137\1\0\4\137\1\0\2\137"+ - "\1\0\1\137\1\0\3\137\44\0\2\u0196\33\0\1\u0197"+ - "\1\336\1\337\1\336\1\0\1\336\1\u0197\1\336\1\0"+ - "\1\336\1\u0102\3\0\2\336\1\0\3\336\1\0\1\336"+ - "\10\0\1\u0197\2\336\1\u0197\2\336\1\u0197\2\336\1\0"+ - "\4\336\1\0\1\u0197\1\336\1\0\1\336\1\0\1\u0197"+ - "\2\336\6\0\2\150\1\151\1\150\1\0\3\150\1\0"+ - "\1\150\4\0\2\150\1\0\3\150\1\253\1\150\10\0"+ - "\11\150\1\0\4\150\1\0\2\150\1\0\1\150\1\0"+ - "\3\150\6\0\2\153\1\154\1\153\1\155\65\153\1\0"+ - "\2\156\1\157\5\156\1\155\61\156\1\0\2\160\1\161"+ - "\1\160\1\162\65\160\1\0\2\163\1\164\5\163\1\162"+ - "\61\163\1\0\1\u0198\1\u0109\1\u010a\1\u0109\1\0\1\u0109"+ - "\1\u0198\1\u0109\1\0\1\u0109\1\u010d\11\u0109\1\0\11\u0109"+ - "\1\u0198\2\u0109\1\u0198\2\u0109\1\u0198\10\u0109\1\u0198\4\u0109"+ - "\1\u0198\7\u0109\1\0\1\u0199\1\u010b\1\u0135\1\u010b\1\u0132"+ - "\1\u010b\1\u0199\27\u010b\1\u0199\2\u010b\1\u0199\2\u010b\1\u0199"+ - "\10\u010b\1\u0199\4\u010b\1\u0199\7\u010b\1\0\1\u019a\1\u010c"+ - "\1\u0136\3\u010c\1\u019a\1\u010c\1\u0132\25\u010c\1\u019a\2\u010c"+ - "\1\u019a\2\u010c\1\u019a\10\u010c\1\u019a\4\u010c\1\u019a\7\u010c"+ - "\1\0\2\202\1\203\1\202\1\204\65\202\1\0\2\205"+ - "\1\206\5\205\1\204\61\205\1\0\2\212\1\213\1\212"+ - "\1\0\3\212\1\0\1\212\4\0\2\212\1\0\3\212"+ - "\1\0\1\212\10\0\11\212\1\0\4\212\1\0\2\212"+ - "\1\0\1\212\1\0\3\212\6\0\1\u019b\1\307\1\310"+ - "\1\307\1\0\1\307\1\u019b\1\307\1\0\1\307\1\0"+ - "\1\220\2\0\2\307\1\0\3\307\1\0\1\307\10\0"+ - "\1\u019b\2\307\1\u019b\2\307\1\u019b\2\307\1\0\4\307"+ - "\1\0\1\u019b\1\307\1\0\1\307\1\0\1\u019b\2\307"+ - "\6\0\2\223\1\224\1\223\1\225\65\223\1\0\2\226"+ - "\1\227\5\226\1\225\61\226\1\0\2\231\1\232\1\231"+ - "\1\0\3\231\1\0\1\231\4\0\2\231\1\0\3\231"+ - "\1\0\1\231\10\0\11\231\1\0\4\231\1\0\2\231"+ - "\1\0\1\231\1\0\3\231\15\0\1\366\63\0\1\u019c"+ - "\5\0\1\u019c\16\0\2\u019c\7\0\2\u019c\1\0\2\u019c"+ - "\1\0\2\u019c\7\0\2\u019c\3\0\2\u019c\7\0\1\u019d"+ - "\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u019d\1\u011e\1\0"+ - "\1\u011e\1\u0123\11\u011e\1\0\11\u011e\1\u019d\2\u011e\1\u019d"+ - "\2\u011e\1\u019d\10\u011e\1\u019d\4\u011e\1\u019d\7\u011e\1\0"+ - "\1\u019e\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u019e\27\u0121"+ - "\1\u019e\2\u0121\1\u019e\2\u0121\1\u019e\10\u0121\1\u019e\4\u0121"+ - "\1\u019e\7\u0121\1\0\1\u019f\1\u0122\1\u014b\3\u0122\1\u019f"+ - "\1\u0122\1\u0147\25\u0122\1\u019f\2\u0122\1\u019f\2\u0122\1\u019f"+ - "\10\u0122\1\u019f\4\u0122\1\u019f\7\u0122\65\0\1\u01a0\52\0"+ - "\2\u01a1\25\0\1\u01a2\1\336\1\337\1\336\1\0\1\336"+ - "\1\u01a2\1\336\1\0\1\336\1\u0102\3\0\2\336\1\0"+ - "\3\336\1\0\1\336\10\0\1\u01a2\2\336\1\u01a2\2\336"+ - "\1\u01a2\2\336\1\0\4\336\1\0\1\u01a2\1\336\1\0"+ - "\1\336\1\0\1\u01a2\2\336\6\0\1\u01a3\1\u0109\1\u010a"+ - "\1\u0109\1\0\1\u0109\1\u01a3\1\u0109\1\0\1\u0109\1\u010d"+ - "\11\u0109\1\0\11\u0109\1\u01a3\2\u0109\1\u01a3\2\u0109\1\u01a3"+ - "\10\u0109\1\u01a3\4\u0109\1\u01a3\7\u0109\1\0\1\u01a4\1\u010b"+ - "\1\u0135\1\u010b\1\u0132\1\u010b\1\u01a4\27\u010b\1\u01a4\2\u010b"+ - "\1\u01a4\2\u010b\1\u01a4\10\u010b\1\u01a4\4\u010b\1\u01a4\7\u010b"+ - "\1\0\1\u01a5\1\u010c\1\u0136\3\u010c\1\u01a5\1\u010c\1\u0132"+ - "\25\u010c\1\u01a5\2\u010c\1\u01a5\2\u010c\1\u01a5\10\u010c\1\u01a5"+ - "\4\u010c\1\u01a5\7\u010c\1\0\2\307\1\310\1\307\1\0"+ - "\3\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+ - "\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+ - "\2\307\1\0\1\307\1\0\3\307\6\0\1\u01a6\5\0"+ - "\1\u01a6\16\0\2\u01a6\7\0\2\u01a6\1\0\2\u01a6\1\0"+ - "\2\u01a6\7\0\2\u01a6\3\0\2\u01a6\7\0\1\u01a7\1\u011e"+ - "\1\u011f\1\u011e\1\0\1\u011e\1\u01a7\1\u011e\1\0\1\u011e"+ - "\1\u0123\11\u011e\1\0\11\u011e\1\u01a7\2\u011e\1\u01a7\2\u011e"+ - "\1\u01a7\10\u011e\1\u01a7\4\u011e\1\u01a7\7\u011e\1\0\1\u01a8"+ - "\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u01a8\27\u0121\1\u01a8"+ - "\2\u0121\1\u01a8\2\u0121\1\u01a8\10\u0121\1\u01a8\4\u0121\1\u01a8"+ - "\7\u0121\1\0\1\u01a9\1\u0122\1\u014b\3\u0122\1\u01a9\1\u0122"+ - "\1\u0147\25\u0122\1\u01a9\2\u0122\1\u01a9\2\u0122\1\u01a9\10\u0122"+ - "\1\u01a9\4\u0122\1\u01a9\7\u0122\47\0\1\u01aa\24\0\2\336"+ - "\1\337\1\336\1\0\3\336\1\0\1\336\1\u0102\3\0"+ - "\2\336\1\0\3\336\1\0\1\336\10\0\11\336\1\0"+ - "\4\336\1\0\2\336\1\0\1\336\1\0\3\336\6\0"+ - "\1\u01ab\1\u0109\1\u010a\1\u0109\1\0\1\u0109\1\u01ab\1\u0109"+ - "\1\0\1\u0109\1\u010d\11\u0109\1\0\11\u0109\1\u01ab\2\u0109"+ - "\1\u01ab\2\u0109\1\u01ab\10\u0109\1\u01ab\4\u0109\1\u01ab\7\u0109"+ - "\1\0\1\u01ac\1\u010b\1\u0135\1\u010b\1\u0132\1\u010b\1\u01ac"+ - "\27\u010b\1\u01ac\2\u010b\1\u01ac\2\u010b\1\u01ac\10\u010b\1\u01ac"+ - "\4\u010b\1\u01ac\7\u010b\1\0\1\u01ad\1\u010c\1\u0136\3\u010c"+ - "\1\u01ad\1\u010c\1\u0132\25\u010c\1\u01ad\2\u010c\1\u01ad\2\u010c"+ - "\1\u01ad\10\u010c\1\u01ad\4\u010c\1\u01ad\7\u010c\1\0\1\u01ae"+ - "\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u01ae\1\u011e\1\0"+ - "\1\u011e\1\u0123\11\u011e\1\0\11\u011e\1\u01ae\2\u011e\1\u01ae"+ - "\2\u011e\1\u01ae\10\u011e\1\u01ae\4\u011e\1\u01ae\7\u011e\1\0"+ - "\1\u01af\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u01af\27\u0121"+ - "\1\u01af\2\u0121\1\u01af\2\u0121\1\u01af\10\u0121\1\u01af\4\u0121"+ - "\1\u01af\7\u0121\1\0\1\u01b0\1\u0122\1\u014b\3\u0122\1\u01b0"+ - "\1\u0122\1\u0147\25\u0122\1\u01b0\2\u0122\1\u01b0\2\u0122\1\u01b0"+ - "\10\u0122\1\u01b0\4\u0122\1\u01b0\7\u0122\1\0\2\u0109\1\u010a"+ - "\1\u0109\1\0\3\u0109\1\0\1\u0109\1\u010d\11\u0109\1\0"+ - "\45\u0109\1\0\1\u01b1\1\u010b\1\u0135\1\u010b\1\u0132\1\u010b"+ - "\1\u01b1\27\u010b\1\u01b1\2\u010b\1\u01b1\2\u010b\1\u01b1\10\u010b"+ - "\1\u01b1\4\u010b\1\u01b1\7\u010b\1\0\1\u01b2\1\u010c\1\u0136"+ - "\3\u010c\1\u01b2\1\u010c\1\u0132\25\u010c\1\u01b2\2\u010c\1\u01b2"+ - "\2\u010c\1\u01b2\10\u010c\1\u01b2\4\u010c\1\u01b2\7\u010c\1\0"+ - "\2\u011e\1\u011f\1\u011e\1\0\3\u011e\1\0\1\u011e\1\u0123"+ - "\11\u011e\1\0\45\u011e\1\0\1\u01b3\1\u0121\1\u014a\1\u0121"+ - "\1\u0147\1\u0121\1\u01b3\27\u0121\1\u01b3\2\u0121\1\u01b3\2\u0121"+ - "\1\u01b3\10\u0121\1\u01b3\4\u0121\1\u01b3\7\u0121\1\0\1\u01b4"+ - "\1\u0122\1\u014b\3\u0122\1\u01b4\1\u0122\1\u0147\25\u0122\1\u01b4"+ - "\2\u0122\1\u01b4\2\u0122\1\u01b4\10\u0122\1\u01b4\4\u0122\1\u01b4"+ - "\7\u0122\1\0\2\u010b\1\u0135\1\u010b\1\u0132\65\u010b\1\0"+ - "\2\u010c\1\u0136\5\u010c\1\u0132\61\u010c\1\0\2\u0121\1\u014a"+ - "\1\u0121\1\u0147\65\u0121\1\0\2\u0122\1\u014b\5\u0122\1\u0147"+ - "\61\u0122"; + "\1\0\4\25\6\0\1\u0171\1\135\1\136\1\135\1\0"+ + "\1\135\1\u0171\1\135\1\0\1\135\4\0\2\135\1\0"+ + "\3\135\1\0\1\135\10\0\1\u0171\2\135\1\u0171\2\135"+ + "\1\u0171\2\135\1\0\4\135\1\0\1\u0171\1\135\1\0"+ + "\1\135\1\0\1\u0171\3\135\6\0\1\u0172\1\137\1\140"+ + "\1\137\1\0\1\137\1\u0172\1\137\1\0\1\137\4\0"+ + "\2\137\1\0\3\137\1\0\1\137\10\0\1\u0172\2\137"+ + "\1\u0172\2\137\1\u0172\2\137\1\0\4\137\1\0\1\u0172"+ + "\1\137\1\0\1\137\1\0\1\u0172\3\137\54\0\1\u0173"+ + "\66\0\2\u0174\31\0\1\u0175\1\150\1\151\1\150\1\0"+ + "\1\150\1\u0175\1\150\1\0\1\150\4\0\2\150\1\0"+ + "\3\150\1\253\1\150\10\0\1\u0175\2\150\1\u0175\2\150"+ + "\1\u0175\2\150\1\0\4\150\1\0\1\u0175\1\150\1\0"+ + "\1\150\1\0\1\u0175\3\150\6\0\1\u0176\1\153\1\154"+ + "\1\153\1\155\1\153\1\u0176\27\153\1\u0176\2\153\1\u0176"+ + "\2\153\1\u0176\10\153\1\u0176\4\153\1\u0176\10\153\1\0"+ + "\1\u0177\1\156\1\157\3\156\1\u0177\1\156\1\155\25\156"+ + "\1\u0177\2\156\1\u0177\2\156\1\u0177\10\156\1\u0177\4\156"+ + "\1\u0177\10\156\1\0\1\u0178\1\160\1\161\1\160\1\162"+ + "\1\160\1\u0178\27\160\1\u0178\2\160\1\u0178\2\160\1\u0178"+ + "\10\160\1\u0178\4\160\1\u0178\10\160\1\0\1\u0179\1\163"+ + "\1\164\3\163\1\u0179\1\163\1\162\25\163\1\u0179\2\163"+ + "\1\u0179\2\163\1\u0179\10\163\1\u0179\4\163\1\u0179\10\163"+ + "\1\0\1\u017a\1\u0104\1\u0105\1\u0104\1\0\1\u0104\1\u017a"+ + "\1\u0104\1\0\1\u0104\1\u0108\11\u0104\1\0\11\u0104\1\u017a"+ + "\2\u0104\1\u017a\2\u0104\1\u017a\10\u0104\1\u017a\4\u0104\1\u017a"+ + "\10\u0104\1\0\1\u017b\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106"+ + "\1\u017b\27\u0106\1\u017b\2\u0106\1\u017b\2\u0106\1\u017b\10\u0106"+ + "\1\u017b\4\u0106\1\u017b\10\u0106\1\0\2\u0106\1\u012f\2\u012c"+ + "\1\u0154\3\u0106\1\u0154\1\u017c\3\u0106\2\u012c\53\u0106\1\0"+ + "\2\u0106\1\u012f\1\0\1\u012c\12\u0106\1\0\53\u0106\1\0"+ + "\1\u017d\1\u0107\1\u0130\3\u0107\1\u017d\1\u0107\1\u012c\25\u0107"+ + "\1\u017d\2\u0107\1\u017d\2\u0107\1\u017d\10\u0107\1\u017d\4\u0107"+ + "\1\u017d\10\u0107\1\0\2\u0107\1\u0130\1\u012c\1\u0107\1\u0157"+ + "\2\u0107\1\u012c\1\u0157\1\u017e\3\u0107\2\u012c\53\u0107\1\0"+ + "\2\u0107\1\u0130\1\0\4\u0107\1\u012c\6\u0107\1\0\53\u0107"+ + "\1\0\2\51\1\166\1\51\1\0\3\51\1\0\1\51"+ + "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\11\51"+ + "\1\0\4\51\1\0\2\51\1\0\1\51\1\0\4\51"+ + "\6\0\2\55\1\170\1\55\1\0\3\55\1\0\1\55"+ + "\4\0\2\55\1\0\3\55\1\0\1\55\10\0\11\55"+ + "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\4\55"+ + "\6\0\2\62\1\172\1\62\1\0\3\62\1\0\1\62"+ + "\4\0\2\62\1\0\3\62\1\0\1\62\10\0\11\62"+ + "\1\0\4\62\1\0\2\62\1\0\1\62\1\0\4\62"+ + "\6\0\2\72\1\176\1\72\1\0\3\72\1\0\1\72"+ + "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\11\72"+ + "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\4\72"+ + "\6\0\2\100\1\200\1\100\1\0\3\100\1\0\1\100"+ + "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\11\100"+ + "\1\0\4\100\1\0\2\100\1\0\1\100\1\0\4\100"+ + "\6\0\1\u017f\1\202\1\203\1\202\1\204\1\202\1\u017f"+ + "\27\202\1\u017f\2\202\1\u017f\2\202\1\u017f\10\202\1\u017f"+ + "\4\202\1\u017f\10\202\1\0\1\u0180\1\205\1\206\3\205"+ + "\1\u0180\1\205\1\204\25\205\1\u0180\2\205\1\u0180\2\205"+ + "\1\u0180\10\205\1\u0180\4\205\1\u0180\10\205\1\0\2\105"+ + "\1\207\1\105\1\0\3\105\1\0\1\105\4\0\2\105"+ + "\1\0\3\105\1\0\1\105\10\0\11\105\1\0\4\105"+ + "\1\0\2\105\1\0\1\105\1\0\4\105\6\0\1\u0181"+ + "\1\212\1\213\1\212\1\0\1\212\1\u0181\1\212\1\0"+ + "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+ + "\1\u0181\2\212\1\u0181\2\212\1\u0181\2\212\1\0\4\212"+ + "\1\0\1\u0181\1\212\1\0\1\212\1\0\1\u0181\3\212"+ + "\6\0\1\u0182\1\307\1\310\1\307\1\0\1\307\1\u0182"+ + "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+ + "\3\307\1\0\1\307\10\0\1\u0182\2\307\1\u0182\2\307"+ + "\1\u0182\2\307\1\0\4\307\1\0\1\u0182\1\307\1\0"+ + "\1\307\1\0\1\u0182\3\307\6\0\2\114\1\217\1\114"+ + "\1\0\3\114\1\0\1\114\1\0\1\220\2\0\2\114"+ + "\1\0\3\114\1\221\1\114\10\0\11\114\1\0\4\114"+ + "\1\0\2\114\1\0\1\114\1\0\4\114\6\0\1\u0183"+ + "\1\223\1\224\1\223\1\225\1\223\1\u0183\27\223\1\u0183"+ + "\2\223\1\u0183\2\223\1\u0183\10\223\1\u0183\4\223\1\u0183"+ + "\10\223\1\0\1\u0184\1\226\1\227\3\226\1\u0184\1\226"+ + "\1\225\25\226\1\u0184\2\226\1\u0184\2\226\1\u0184\10\226"+ + "\1\u0184\4\226\1\u0184\10\226\1\0\1\u0185\1\231\1\232"+ + "\1\231\1\0\1\231\1\u0185\1\231\1\0\1\231\4\0"+ + "\2\231\1\0\3\231\1\0\1\231\10\0\1\u0185\2\231"+ + "\1\u0185\2\231\1\u0185\2\231\1\0\4\231\1\0\1\u0185"+ + "\1\231\1\0\1\231\1\0\1\u0185\3\231\6\0\1\u0186"+ + "\5\0\1\u0186\1\364\15\0\2\u0186\7\0\2\u0186\1\0"+ + "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\10\0"+ + "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0"+ + "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\10\0"+ + "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119"+ + "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119"+ + "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\10\u0119"+ + "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189"+ + "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189"+ + "\4\u011c\1\u0189\10\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b"+ + "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\53\u011c\1\0\2\u011c"+ + "\1\u0144\1\0\1\u0141\12\u011c\1\0\53\u011c\1\0\1\u018b"+ + "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b"+ + "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b"+ + "\10\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d"+ + "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\53\u011d\1\0\2\u011d"+ + "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\53\u011d\42\0"+ + "\2\u018d\31\0\2\135\1\136\1\135\1\0\3\135\1\0"+ + "\1\135\4\0\2\135\1\0\3\135\1\0\1\135\10\0"+ + "\11\135\1\0\4\135\1\0\2\135\1\0\1\135\1\0"+ + "\4\135\6\0\2\137\1\140\1\137\1\0\3\137\1\0"+ + "\1\137\4\0\2\137\1\0\3\137\1\0\1\137\10\0"+ + "\11\137\1\0\4\137\1\0\2\137\1\0\1\137\1\0"+ + "\4\137\44\0\2\u018e\34\0\2\150\1\151\1\150\1\0"+ + "\3\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+ + "\1\150\10\0\11\150\1\0\4\150\1\0\2\150\1\0"+ + "\1\150\1\0\4\150\6\0\2\153\1\154\1\153\1\155"+ + "\66\153\1\0\2\156\1\157\5\156\1\155\62\156\1\0"+ + "\2\160\1\161\1\160\1\162\66\160\1\0\2\163\1\164"+ + "\5\163\1\162\62\163\1\0\1\u018f\1\u0104\1\u0105\1\u0104"+ + "\1\0\1\u0104\1\u018f\1\u0104\1\0\1\u0104\1\u0108\11\u0104"+ + "\1\0\11\u0104\1\u018f\2\u0104\1\u018f\2\u0104\1\u018f\10\u0104"+ + "\1\u018f\4\u0104\1\u018f\10\u0104\1\0\1\u0190\1\u0106\1\u012f"+ + "\1\u0106\1\u012c\1\u0106\1\u0190\27\u0106\1\u0190\2\u0106\1\u0190"+ + "\2\u0106\1\u0190\10\u0106\1\u0190\4\u0106\1\u0190\10\u0106\1\0"+ + "\1\u0191\1\u0107\1\u0130\3\u0107\1\u0191\1\u0107\1\u012c\25\u0107"+ + "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107"+ + "\1\u0191\10\u0107\1\0\2\202\1\203\1\202\1\204\66\202"+ + "\1\0\2\205\1\206\5\205\1\204\62\205\1\0\2\212"+ + "\1\213\1\212\1\0\3\212\1\0\1\212\4\0\2\212"+ + "\1\0\3\212\1\0\1\212\10\0\11\212\1\0\4\212"+ + "\1\0\2\212\1\0\1\212\1\0\4\212\6\0\1\u0192"+ + "\1\307\1\310\1\307\1\0\1\307\1\u0192\1\307\1\0"+ + "\1\307\1\0\1\220\2\0\2\307\1\0\3\307\1\0"+ + "\1\307\10\0\1\u0192\2\307\1\u0192\2\307\1\u0192\2\307"+ + "\1\0\4\307\1\0\1\u0192\1\307\1\0\1\307\1\0"+ + "\1\u0192\3\307\6\0\2\223\1\224\1\223\1\225\66\223"+ + "\1\0\2\226\1\227\5\226\1\225\62\226\1\0\2\231"+ + "\1\232\1\231\1\0\3\231\1\0\1\231\4\0\2\231"+ + "\1\0\3\231\1\0\1\231\10\0\11\231\1\0\4\231"+ + "\1\0\2\231\1\0\1\231\1\0\4\231\15\0\1\364"+ + "\64\0\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193"+ + "\1\0\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193"+ + "\10\0\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194"+ + "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194"+ + "\2\u0119\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194"+ + "\10\u0119\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c"+ + "\1\u0195\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c"+ + "\1\u0195\4\u011c\1\u0195\10\u011c\1\0\1\u0196\1\u011d\1\u0145"+ + "\3\u011d\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196"+ + "\2\u011d\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\10\u011d\65\0"+ + "\1\u0197\53\0\2\u0198\26\0\1\u0199\1\u0104\1\u0105\1\u0104"+ + "\1\0\1\u0104\1\u0199\1\u0104\1\0\1\u0104\1\u0108\11\u0104"+ + "\1\0\11\u0104\1\u0199\2\u0104\1\u0199\2\u0104\1\u0199\10\u0104"+ + "\1\u0199\4\u0104\1\u0199\10\u0104\1\0\1\u019a\1\u0106\1\u012f"+ + "\1\u0106\1\u012c\1\u0106\1\u019a\27\u0106\1\u019a\2\u0106\1\u019a"+ + "\2\u0106\1\u019a\10\u0106\1\u019a\4\u0106\1\u019a\10\u0106\1\0"+ + "\1\u019b\1\u0107\1\u0130\3\u0107\1\u019b\1\u0107\1\u012c\25\u0107"+ + "\1\u019b\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107"+ + "\1\u019b\10\u0107\1\0\2\307\1\310\1\307\1\0\3\307"+ + "\1\0\1\307\1\0\1\220\2\0\2\307\1\0\3\307"+ + "\1\0\1\307\10\0\11\307\1\0\4\307\1\0\2\307"+ + "\1\0\1\307\1\0\4\307\6\0\1\u019c\5\0\1\u019c"+ + "\16\0\2\u019c\7\0\2\u019c\1\0\2\u019c\1\0\2\u019c"+ + "\7\0\2\u019c\3\0\2\u019c\10\0\1\u019d\1\u0119\1\u011a"+ + "\1\u0119\1\0\1\u0119\1\u019d\1\u0119\1\0\1\u0119\1\u011e"+ + "\11\u0119\1\0\11\u0119\1\u019d\2\u0119\1\u019d\2\u0119\1\u019d"+ + "\10\u0119\1\u019d\4\u0119\1\u019d\10\u0119\1\0\1\u019e\1\u011c"+ + "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019e\27\u011c\1\u019e\2\u011c"+ + "\1\u019e\2\u011c\1\u019e\10\u011c\1\u019e\4\u011c\1\u019e\10\u011c"+ + "\1\0\1\u019f\1\u011d\1\u0145\3\u011d\1\u019f\1\u011d\1\u0141"+ + "\25\u011d\1\u019f\2\u011d\1\u019f\2\u011d\1\u019f\10\u011d\1\u019f"+ + "\4\u011d\1\u019f\10\u011d\47\0\1\u01a0\25\0\1\u01a1\1\u0104"+ + "\1\u0105\1\u0104\1\0\1\u0104\1\u01a1\1\u0104\1\0\1\u0104"+ + "\1\u0108\11\u0104\1\0\11\u0104\1\u01a1\2\u0104\1\u01a1\2\u0104"+ + "\1\u01a1\10\u0104\1\u01a1\4\u0104\1\u01a1\10\u0104\1\0\1\u01a2"+ + "\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106\1\u01a2\27\u0106\1\u01a2"+ + "\2\u0106\1\u01a2\2\u0106\1\u01a2\10\u0106\1\u01a2\4\u0106\1\u01a2"+ + "\10\u0106\1\0\1\u01a3\1\u0107\1\u0130\3\u0107\1\u01a3\1\u0107"+ + "\1\u012c\25\u0107\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107"+ + "\1\u01a3\4\u0107\1\u01a3\10\u0107\1\0\1\u01a4\1\u0119\1\u011a"+ + "\1\u0119\1\0\1\u0119\1\u01a4\1\u0119\1\0\1\u0119\1\u011e"+ + "\11\u0119\1\0\11\u0119\1\u01a4\2\u0119\1\u01a4\2\u0119\1\u01a4"+ + "\10\u0119\1\u01a4\4\u0119\1\u01a4\10\u0119\1\0\1\u01a5\1\u011c"+ + "\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a5\27\u011c\1\u01a5\2\u011c"+ + "\1\u01a5\2\u011c\1\u01a5\10\u011c\1\u01a5\4\u011c\1\u01a5\10\u011c"+ + "\1\0\1\u01a6\1\u011d\1\u0145\3\u011d\1\u01a6\1\u011d\1\u0141"+ + "\25\u011d\1\u01a6\2\u011d\1\u01a6\2\u011d\1\u01a6\10\u011d\1\u01a6"+ + "\4\u011d\1\u01a6\10\u011d\1\0\2\u0104\1\u0105\1\u0104\1\0"+ + "\3\u0104\1\0\1\u0104\1\u0108\11\u0104\1\0\46\u0104\1\0"+ + "\1\u01a7\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106\1\u01a7\27\u0106"+ + "\1\u01a7\2\u0106\1\u01a7\2\u0106\1\u01a7\10\u0106\1\u01a7\4\u0106"+ + "\1\u01a7\10\u0106\1\0\1\u01a8\1\u0107\1\u0130\3\u0107\1\u01a8"+ + "\1\u0107\1\u012c\25\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8"+ + "\10\u0107\1\u01a8\4\u0107\1\u01a8\10\u0107\1\0\2\u0119\1\u011a"+ + "\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0"+ + "\46\u0119\1\0\1\u01a9\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c"+ + "\1\u01a9\27\u011c\1\u01a9\2\u011c\1\u01a9\2\u011c\1\u01a9\10\u011c"+ + "\1\u01a9\4\u011c\1\u01a9\10\u011c\1\0\1\u01aa\1\u011d\1\u0145"+ + "\3\u011d\1\u01aa\1\u011d\1\u0141\25\u011d\1\u01aa\2\u011d\1\u01aa"+ + "\2\u011d\1\u01aa\10\u011d\1\u01aa\4\u011d\1\u01aa\10\u011d\1\0"+ + "\2\u0106\1\u012f\1\u0106\1\u012c\66\u0106\1\0\2\u0107\1\u0130"+ + "\5\u0107\1\u012c\62\u0107\1\0\2\u011c\1\u0144\1\u011c\1\u0141"+ + "\66\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\62\u011d"; private static int [] zzUnpackTrans() { - int [] result = new int[21358]; + int [] result = new int[21120]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -1170,20 +1133,20 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer { "\2\0\1\1\2\0\1\1\2\0\1\1\2\0\5\1"+ "\1\0\1\1\2\0\1\1\1\0\3\1\1\0\1\1"+ "\1\0\1\1\2\0\1\1\1\0\3\1\1\0\3\1"+ - "\2\11\10\0\1\1\5\0\5\1\2\0\4\1\2\0"+ - "\2\1\1\0\1\1\1\0\3\1\3\0\1\11\2\0"+ - "\1\11\1\0\1\1\10\0\1\11\5\1\2\0\4\1"+ - "\2\0\3\1\5\0\1\11\1\0\3\1\2\0\1\11"+ - "\2\0\1\1\6\0\1\1\2\0\5\1\2\0\4\1"+ - "\2\0\3\1\2\0\1\1\3\0\3\1\1\0\1\11"+ - "\2\0\1\1\13\0\5\1\2\0\4\1\2\0\3\1"+ - "\10\0\2\1\1\11\2\0\1\1\6\0\1\1\1\0"+ - "\1\1\2\0\2\1\2\0\3\1\2\0\1\1\1\0"+ - "\1\1\6\0\2\1\4\0\1\11\4\0\1\11\3\0"+ - "\1\11\12\0"; + "\2\11\5\0\1\11\1\1\5\0\5\1\2\0\4\1"+ + "\2\0\2\1\1\0\1\1\1\0\3\1\3\0\1\11"+ + "\1\0\1\1\10\0\1\11\5\1\2\0\4\1\2\0"+ + "\3\1\5\0\1\11\1\0\3\1\2\0\1\11\1\0"+ + "\1\1\6\0\1\1\2\0\5\1\2\0\4\1\2\0"+ + "\3\1\2\0\1\1\3\0\3\1\1\0\1\11\1\0"+ + "\1\1\13\0\5\1\2\0\4\1\2\0\3\1\10\0"+ + "\2\1\1\11\1\0\1\1\6\0\1\1\1\0\1\1"+ + "\2\0\2\1\2\0\3\1\2\0\1\1\1\0\1\1"+ + "\5\0\2\1\4\0\1\11\3\0\1\11\3\0\1\11"+ + "\12\0"; private static int [] zzUnpackAttribute() { - int [] result = new int[436]; + int [] result = new int[426]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; diff --git a/bundles/org.eclipse.wst.css.ui/plugin.properties b/bundles/org.eclipse.wst.css.ui/plugin.properties index 5722e94b16..e1551c89b8 100644 --- a/bundles/org.eclipse.wst.css.ui/plugin.properties +++ b/bundles/org.eclipse.wst.css.ui/plugin.properties @@ -78,3 +78,5 @@ Colors.id=ID Selector proposalCategory.css=CSS Proposals proposalCategory.cssTemplates=CSS Template Proposals + +proposalInfo.name=Additional Proposal Information diff --git a/bundles/org.eclipse.wst.css.ui/plugin.xml b/bundles/org.eclipse.wst.css.ui/plugin.xml index 2cc44cb70e..a18de713b0 100644 --- a/bundles/org.eclipse.wst.css.ui/plugin.xml +++ b/bundles/org.eclipse.wst.css.ui/plugin.xml @@ -2,6 +2,8 @@ <?eclipse version="3.0"?> <plugin> + <extension-point id="proposalInfo" name="%proposalInfo.name" schema="schema/proposalInfo.exsd"/> + <extension point="org.eclipse.ui.editors"> <editor name="%CSS_Source_Page_Editor.name" diff --git a/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd b/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd new file mode 100644 index 0000000000..6f7066ea3a --- /dev/null +++ b/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.wst.css.ui" xmlns="http://www.w3.org/2001/XMLSchema"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.wst.css.ui" id="proposalInfo" name="CSS Proposal Information"/> + </appInfo> + <documentation> + [Enter description of this extension point.] + </documentation> + </annotation> + + <element name="extension"> + <annotation> + <appInfo> + <meta.element internal="true" /> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="proposalInfo"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute translatable="true"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="proposalInfo"> + <annotation> + <documentation> + Additional proposal information for CSS content assist proposals. + </documentation> + </annotation> + <complexType> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + Class that implements IProposalInfo that will server as additional proposal information for CSS content assist proposals. The implementation must provide a zero-argument constructor. + </documentation> + <appInfo> + <meta.attribute kind="java"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + [Enter the first release in which this extension point appears.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + [Enter extension point usage example here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiinfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + +</schema> diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java index 8b6f4e25c3..89d80181c0 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ package org.eclipse.wst.css.ui.internal.contentassist; +import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; import org.eclipse.wst.css.ui.internal.image.CSSImageType; class CSSCACandidate { @@ -20,7 +21,7 @@ class CSSCACandidate { private int fCursorPosition = 0; private String fDisplayString = null; private CSSImageType fImageType = null; - + private CSSMMNode fNode = null; /** * CSSCACandidate constructor comment. */ @@ -56,6 +57,10 @@ class CSSCACandidate { return fReplacementString; } + CSSMMNode getMMNode() { + return fNode; + } + /** * */ @@ -84,6 +89,10 @@ class CSSCACandidate { fReplacementString = replacementString; } + void setMMNode(CSSMMNode node) { + fNode = node; + } + /** * Returns a String that represents the value of this object. * diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java index 78f4351c61..cd7b4409e6 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java @@ -16,7 +16,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.eclipse.jface.text.contentassist.CompletionProposal; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts; import org.eclipse.wst.css.core.internal.provisional.document.ICSSMediaRule; @@ -193,7 +192,7 @@ class CSSProposalArranger { */ ICompletionProposal[] getProposals() { buildProposals(); - ICompletionProposal[] proposalArray = new CompletionProposal[fProposals.size()]; + ICompletionProposal[] proposalArray = new ICompletionProposal[fProposals.size()]; Iterator iItem = fProposals.iterator(); for (int i = 0; iItem.hasNext(); i++) { proposalArray[i] = (ICompletionProposal) iItem.next(); diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java index da5214eade..d199902aec 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,7 +17,6 @@ import java.util.Iterator; import java.util.List; import org.eclipse.core.runtime.Preferences; -import org.eclipse.jface.text.contentassist.CompletionProposal; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.swt.graphics.Image; import org.eclipse.wst.css.core.internal.CSSCorePlugin; @@ -168,7 +167,7 @@ abstract class CSSProposalGenerator { while (i.hasNext()) { CSSCACandidate candidate = (CSSCACandidate) i.next(); Image image = imageHelper.getImage(candidate.getImageType()); - ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, null); + ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, candidate.getDisplayString(), candidate.getMMNode()); proposals.add(item); } diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java index 4cf890126d..3deb7779ce 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -106,6 +106,7 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator { item.setReplacementString(buf.toString()); item.setCursorPosition(cursorPos); item.setDisplayString(text); + item.setMMNode(node); item.setImageType(getCategoryImageType(node)); candidates.add(item); } diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java index e9d993d5b1..b32e881cdc 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -84,6 +84,7 @@ class CSSProposalGeneratorForDeclarationValue extends CSSProposalGenerator { item.setReplacementString(text); item.setCursorPosition(cursorPos); item.setDisplayString(text); + item.setMMNode(prop); item.setImageType(CSSImageType.VALUE_FUNCTION); appendSemiColon(item); candidates.add(item); diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java index e0af646a55..ad49fa8efc 100644 --- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2008 IBM Corporation and others. + * Copyright (c) 2004, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ package org.eclipse.wst.css.ui.internal.contentassist; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -66,10 +67,29 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator { boolean useUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER; List tags = getSelectorTags(); - Collections.sort(tags); + Collections.sort(tags, new Comparator() { + /* (non-Javadoc) + * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) + */ + public int compare(Object o1, Object o2) { + return clean(((CSSMMSelector) o1).getName()).compareTo(clean(((CSSMMSelector) o2).getName())); + } + + private String clean(String str) { + int length = str.length(); + for (int i = 0; i < length; i++) { + if (str.charAt(i) != ':') { + return str.substring(i); + } + } + return str; + } + }); + Iterator i = tags.iterator(); while (i.hasNext()) { - String text = (String) i.next(); + CSSMMSelector selector = (CSSMMSelector) i.next(); + String text = selector.getSelectorString(); if (hasLeadingColon && !isMatch(text)) { continue; } @@ -83,8 +103,12 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator { buf.append(text); cursorPos += buf.length(); - + if (0 < buf.length()) { + // Pseudoclass/element takes arguments + if (buf.charAt(buf.length() - 1) == ')') { + --cursorPos; + } boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule || fContext.getTargetNode() instanceof ICSSPageRule); if (!inRule || (textToReplace.length() == 0 && !hasLeadingColon)) { buf.append(" ");//$NON-NLS-1$ @@ -100,6 +124,7 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator { item.setCursorPosition(cursorPos); item.setDisplayString(text); item.setImageType(CSSImageType.SELECTOR_PSEUDO); + item.setMMNode(selector); candidates.add(item); } } @@ -130,7 +155,7 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator { if (child.getType() == CSSMMNode.TYPE_SELECTOR) { String selType = ((CSSMMSelector) child).getSelectorType(); if (selType == CSSMMSelector.TYPE_PSEUDO_CLASS || selType == CSSMMSelector.TYPE_PSEUDO_ELEMENT) { - tagList.add(((CSSMMSelector) child).getSelectorString()); + tagList.add(child); } } } diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java new file mode 100644 index 0000000000..ccccf08cda --- /dev/null +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java @@ -0,0 +1,188 @@ +/****************************************************************************** + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ******************************************************************************/ +package org.eclipse.wst.css.ui.internal.contentassist; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.internal.text.html.BrowserInformationControl; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.text.AbstractReusableInformationControlCreator; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.DefaultInformationControl; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.IInformationControl; +import org.eclipse.jface.text.IInformationControlCreator; +import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jface.text.contentassist.ICompletionProposalExtension3; +import org.eclipse.jface.text.contentassist.ICompletionProposalExtension5; +import org.eclipse.jface.text.contentassist.IContextInformation; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; + +public class CompletionProposal implements ICompletionProposal, ICompletionProposalExtension3, ICompletionProposalExtension5 { + + /** The string to be displayed in the completion proposal popup. */ + private String fDisplayString; + /** The replacement string. */ + private String fReplacementString; + /** The replacement offset. */ + private int fReplacementOffset; + /** The replacement length. */ + private int fReplacementLength; + /** The cursor position after this proposal has been applied. */ + private int fCursorPosition; + /** The image to be displayed in the completion proposal popup. */ + private Image fImage; + /** The context information of this proposal. */ + private IContextInformation fContextInformation; + /** The additional info of this proposal. */ + private String fAdditionalProposalInfo; + private CSSMMNode fNode; + /** The information control creator */ + private IInformationControlCreator fCreator; + + /** + * Creates a new completion proposal based on the provided information. The replacement string is + * considered being the display string too. All remaining fields are set to <code>null</code>. + * + * @param replacementString the actual string to be inserted into the document + * @param replacementOffset the offset of the text to be replaced + * @param replacementLength the length of the text to be replaced + * @param cursorPosition the position of the cursor following the insert relative to replacementOffset + */ + public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition) { + this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null); + } + + /** + * Creates a new completion proposal. All fields are initialized based on the provided information. + * + * @param replacementString the actual string to be inserted into the document + * @param replacementOffset the offset of the text to be replaced + * @param replacementLength the length of the text to be replaced + * @param cursorPosition the position of the cursor following the insert relative to replacementOffset + * @param image the image to display for this proposal + * @param displayString the string to be displayed for the proposal + * @param contextInformation the context information associated with this proposal + * @param additionalProposalInfo the additional information associated with this proposal + */ + public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo) { + this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null, null); + } + + public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo, CSSMMNode node) { + Assert.isNotNull(replacementString); + Assert.isTrue(replacementOffset >= 0); + Assert.isTrue(replacementLength >= 0); + Assert.isTrue(cursorPosition >= 0); + + fReplacementString= replacementString; + fReplacementOffset= replacementOffset; + fReplacementLength= replacementLength; + fCursorPosition= cursorPosition; + fImage= image; + fDisplayString= displayString; + fContextInformation= contextInformation; + fAdditionalProposalInfo= additionalProposalInfo; + fNode = node; + } + /* + * @see ICompletionProposal#apply(IDocument) + */ + public void apply(IDocument document) { + try { + document.replace(fReplacementOffset, fReplacementLength, fReplacementString); + } catch (BadLocationException x) { + // ignore + } + } + + /* + * @see ICompletionProposal#getSelection(IDocument) + */ + public Point getSelection(IDocument document) { + return new Point(fReplacementOffset + fCursorPosition, 0); + } + + /* + * @see ICompletionProposal#getContextInformation() + */ + public IContextInformation getContextInformation() { + return fContextInformation; + } + + /* + * @see ICompletionProposal#getImage() + */ + public Image getImage() { + return fImage; + } + + /* + * @see ICompletionProposal#getDisplayString() + */ + public String getDisplayString() { + if (fDisplayString != null) + return fDisplayString; + return fReplacementString; + } + + /* + * @see ICompletionProposal#getAdditionalProposalInfo() + */ + public String getAdditionalProposalInfo() { + return fAdditionalProposalInfo; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension5#getAdditionalProposalInfo(org.eclipse.core.runtime.IProgressMonitor) + */ + public Object getAdditionalProposalInfo(IProgressMonitor monitor) { + return ProposalInfoFactory.getProposalInfo(fNode); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getInformationControlCreator() + */ + public IInformationControlCreator getInformationControlCreator() { + if (fCreator == null) { + fCreator = new AbstractReusableInformationControlCreator() { + + protected IInformationControl doCreateInformationControl(Shell parent) { + if (BrowserInformationControl.isAvailable(parent)) { + BrowserInformationControl control = new BrowserInformationControl(parent, JFaceResources.DIALOG_FONT, false); + return control; + } else { + return new DefaultInformationControl(parent, true); + } + } + }; + } + return fCreator; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionText(org.eclipse.jface.text.IDocument, int) + */ + public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionStart(org.eclipse.jface.text.IDocument, int) + */ + public int getPrefixCompletionStart(IDocument document, int completionOffset) { + return 0; + } + +} diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java new file mode 100644 index 0000000000..1b4b8a9af9 --- /dev/null +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java @@ -0,0 +1,25 @@ +/****************************************************************************** + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ******************************************************************************/ +package org.eclipse.wst.css.ui.internal.contentassist; + +import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; + +/** + * Interface for additional proposal information for CSS Content Assist + * + */ +public interface IProposalInfo { + /** + * Sets the element for additional proposal information + * @param node the element for additional proposal information + */ + void setInputElement(CSSMMNode node); +} diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java new file mode 100644 index 0000000000..373f3ddddb --- /dev/null +++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java @@ -0,0 +1,66 @@ +/****************************************************************************** + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ******************************************************************************/ +package org.eclipse.wst.css.ui.internal.contentassist; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.Platform; +import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; +import org.eclipse.wst.css.ui.internal.CSSUIPlugin; +import org.eclipse.wst.css.ui.internal.Logger; + +/** + * Generates proposal information for {@link CSSMMNode}s. If the Proposal Information instance + * implements {@link IProposalInfo} the node will be set as the input element. + * + */ +class ProposalInfoFactory { + + private static IConfigurationElement fElement = null; + private static boolean fIsInitialized = false; + + private static final String ATTR_CLASS = "class"; //$NON-NLS-1$ + + private ProposalInfoFactory() { + } + + /** + * Returns additional proposal information for <code>node</code> + * @param node the CSS metamodel node + * @return additional proposal information about <code>node></code> + */ + public static synchronized Object getProposalInfo(CSSMMNode node) { + Object info = null; + if (!fIsInitialized) { + // Only attempt to initialize this once. If there are no proposal information providers, we'll always return null + IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(CSSUIPlugin.ID, "proposalInfo"); //$NON-NLS-1$ + if (elements.length > 0) { + // Get the first proposal info that's declared + fElement = elements[0]; + } + + fIsInitialized = true; + } + + if (fElement != null) { + try { + info = fElement.createExecutableExtension(ATTR_CLASS); //$NON-NLS-1$ + if (info instanceof IProposalInfo) { + ((IProposalInfo) info).setInputElement(node); + } + } catch (CoreException e) { + Logger.log(Logger.ERROR, "Could not create instance for proposalInfo [" + fElement.getAttribute("class") + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + } + return info; + } + +} diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex index ea7c6af2bd..5ff68bdd1e 100644 --- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex +++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex @@ -1,5 +1,5 @@ /*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -418,7 +418,7 @@ unicode_range = "U"\+[0-9a-fA-F?]{1,6}("-"[0-9a-fA-F?]{1,6})? "*" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }
{hash} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }
// ":"{ident}("("{s}*{ident}{s}*")")? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
- ":"({ident}("("{s}*{ident}{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
+ ":"({ident}("("{s}*([a-zA-Z0-9]|[-+]|{s})*{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
"."{name} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }
"[" { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }
}
|