You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ja...@apache.org on 2014/02/20 09:57:53 UTC
svn commit: r1570113 [1/2] - in /lucene/dev/branches/solr4470: ./ lucene/
lucene/analysis/ lucene/analysis/common/
lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/
lucene/analysis/common/src/test/org/apache/lucene/analysis/core/ luc...
Author: janhoy
Date: Thu Feb 20 08:57:51 2014
New Revision: 1570113
URL: http://svn.apache.org/r1570113
Log:
Update to r1570109
Added:
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
- copied unchanged from r1570109, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/RandomAccessOrds.java
lucene/dev/branches/solr4470/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SortedSetSortField.java
- copied unchanged from r1570109, lucene/dev/trunk/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SortedSetSortField.java
lucene/dev/branches/solr4470/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortField.java
- copied unchanged from r1570109, lucene/dev/trunk/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortField.java
lucene/dev/branches/solr4470/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortFieldDocValues.java
- copied unchanged from r1570109, lucene/dev/trunk/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortFieldDocValues.java
lucene/dev/branches/solr4470/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortFieldSelectors.java
- copied unchanged from r1570109, lucene/dev/trunk/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSortedSetSortFieldSelectors.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java
- copied unchanged from r1570109, lucene/dev/trunk/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/FileUtils.java
lucene/dev/branches/solr4470/solr/licenses/Saxon-HE-9.5.1-4.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/Saxon-HE-9.5.1-4.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/argparse4j-0.4.3.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/argparse4j-0.4.3.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-annotations-2.3.1.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/jackson-annotations-2.3.1.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-core-2.3.1.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/jackson-core-2.3.1.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-databind-2.3.1.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/jackson-databind-2.3.1.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-avro-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-avro-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-core-0.11.0-tests.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-core-0.11.0-tests.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-core-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-core-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-hadoop-sequencefile-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-hadoop-sequencefile-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-json-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-json-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-saxon-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-saxon-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-tika-core-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-tika-core-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-tika-decompress-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-tika-decompress-0.11.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-twitter-0.11.0.jar.sha1
- copied unchanged from r1570109, lucene/dev/trunk/solr/licenses/kite-morphlines-twitter-0.11.0.jar.sha1
Removed:
lucene/dev/branches/solr4470/solr/licenses/Saxon-HE-9.5.1-3.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/argparse4j-0.4.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-annotations-2.2.3.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-core-2.2.3.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/jackson-databind-2.2.3.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-avro-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-core-0.10.0-tests.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-core-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-hadoop-sequencefile-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-json-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-saxon-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-tika-core-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-tika-decompress-0.10.0.jar.sha1
lucene/dev/branches/solr4470/solr/licenses/kite-morphlines-twitter-0.10.0.jar.sha1
Modified:
lucene/dev/branches/solr4470/ (props changed)
lucene/dev/branches/solr4470/lucene/ (props changed)
lucene/dev/branches/solr4470/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/solr4470/lucene/analysis/ (props changed)
lucene/dev/branches/solr4470/lucene/analysis/common/ (props changed)
lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStandardAnalyzer.java
lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java
lucene/dev/branches/solr4470/lucene/codecs/ (props changed)
lucene/dev/branches/solr4470/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
lucene/dev/branches/solr4470/lucene/core/ (props changed)
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/SortField.java
lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
lucene/dev/branches/solr4470/lucene/highlighter/ (props changed)
lucene/dev/branches/solr4470/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
lucene/dev/branches/solr4470/lucene/ivy-versions.properties (contents, props changed)
lucene/dev/branches/solr4470/lucene/sandbox/ (props changed)
lucene/dev/branches/solr4470/solr/ (props changed)
lucene/dev/branches/solr4470/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/solr4470/solr/contrib/ (props changed)
lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrLocator.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/ZooKeeperDownloader.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
lucene/dev/branches/solr4470/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
lucene/dev/branches/solr4470/solr/core/ (props changed)
lucene/dev/branches/solr4470/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
lucene/dev/branches/solr4470/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
lucene/dev/branches/solr4470/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
lucene/dev/branches/solr4470/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
lucene/dev/branches/solr4470/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
lucene/dev/branches/solr4470/solr/licenses/ (props changed)
lucene/dev/branches/solr4470/solr/solrj/ (props changed)
lucene/dev/branches/solr4470/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrServerTest.java
lucene/dev/branches/solr4470/solr/test-framework/ (props changed)
lucene/dev/branches/solr4470/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
Modified: lucene/dev/branches/solr4470/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/CHANGES.txt?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/solr4470/lucene/CHANGES.txt Thu Feb 20 08:57:51 2014
@@ -65,18 +65,29 @@ Optimizations
on Windows if NIOFSDirectory is used, mmapped files are still locked.
(Michael Poindexter, Robert Muir, Uwe Schindler)
-Test Framework
-
-* LUCENE-5449: Rename _TestUtil and _TestHelper to remove the leading _.
======================= Lucene 4.8.0 =======================
+New Features
+
+* LUCENE-5454: Add SortedSetSortField to lucene/sandbox, to allow sorting
+ on multi-valued field. (Robert Muir)
+
+API Changes
+
+* LUCENE-5454: Add RandomAccessOrds, an optional extension of SortedSetDocValues
+ that supports random access to the ordinals in a document. (Robert Muir)
+
Bug fixes
* LUCENE-5450: Fix getField() NPE issues with SpanOr/SpanNear when they have an
empty list of clauses. This can happen for example, when a wildcard matches
no terms. (Tim Allison via Robert Muir)
+Test Framework
+
+* LUCENE-5449: Rename _TestUtil and _TestHelper to remove the leading _.
+
======================= Lucene 4.7.0 =======================
New Features
@@ -177,6 +188,10 @@ New Features
representations of a shape into BinaryDocValues. It supports exact geometry
relationship calculations. (David Smiley)
+* LUCENE-5457: Add SloppyMath.earthDiameter(double latitude) that returns an
+ approximate value of the diameter of the earth at the given latitude.
+ (Adrien Grand)
+
Build
* LUCENE-5217,LUCENE-5420: Maven config: get dependencies from Ant+Ivy config;
Modified: lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java (original)
+++ lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java Thu Feb 20 08:57:51 2014
@@ -221,12 +221,10 @@ public final class StandardTokenizerImpl
private static final String ZZ_ACTION_PACKED_0 =
"\1\0\26\1\1\2\1\3\1\4\1\1\1\5\1\6"+
"\1\7\1\2\1\10\21\0\1\2\1\0\1\2\12\0"+
- "\1\3\21\0\1\2\25\0\1\2\61\0\3\2\22\0"+
- "\1\3\25\0\1\1\21\0\1\2\10\0\1\2\20\0"+
- "\1\3\56\0\1\2\27\0";
+ "\1\3\21\0\1\2\25\0\1\2\115\0\1\1\20\0";
private static int [] zzUnpackAction() {
- int [] result = new int[310];
+ int [] result = new int[197];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -275,24 +273,10 @@ public final class StandardTokenizerImpl
"\0\u57a4\0\u5832\0\u58c0\0\u594e\0\u59dc\0\u5a6a\0\u5af8\0\u5b86"+
"\0\u5c14\0\u5ca2\0\u5d30\0\u5dbe\0\u5e4c\0\u5eda\0\u5f68\0\u5ff6"+
"\0\u6084\0\u6112\0\u61a0\0\u622e\0\u62bc\0\u634a\0\u63d8\0\u6466"+
- "\0\u64f4\0\u6582\0\u6610\0\u669e\0\u672c\0\u67ba\0\u6848\0\u68d6"+
- "\0\u6964\0\u69f2\0\u6a80\0\u6b0e\0\u6b9c\0\u6c2a\0\u6cb8\0\u6d46"+
- "\0\u6dd4\0\u6e62\0\u6ef0\0\u6f7e\0\u700c\0\u709a\0\u7128\0\u71b6"+
- "\0\u7244\0\u72d2\0\u7360\0\u73ee\0\u747c\0\u750a\0\u7598\0\u7626"+
- "\0\u76b4\0\u7742\0\u77d0\0\u785e\0\u78ec\0\u797a\0\u7a08\0\u7a96"+
- "\0\u7b24\0\u7bb2\0\u7c40\0\u7cce\0\u7d5c\0\u7dea\0\u7e78\0\u7f06"+
- "\0\u7f94\0\u8022\0\u80b0\0\u813e\0\u81cc\0\u825a\0\u82e8\0\u8376"+
- "\0\u8404\0\u8492\0\u8520\0\u85ae\0\u863c\0\u86ca\0\u8758\0\u87e6"+
- "\0\u8874\0\u8902\0\u8990\0\u8a1e\0\u8aac\0\u8b3a\0\u8bc8\0\u8c56"+
- "\0\u8ce4\0\u8d72\0\u8e00\0\u8e8e\0\u8f1c\0\u8faa\0\u9038\0\u90c6"+
- "\0\u9154\0\u91e2\0\u9270\0\u92fe\0\u938c\0\u941a\0\u94a8\0\u9536"+
- "\0\u95c4\0\u9652\0\u96e0\0\u976e\0\u97fc\0\u988a\0\u9918\0\u99a6"+
- "\0\u9a34\0\u9ac2\0\u9b50\0\u9bde\0\u9c6c\0\u9cfa\0\u9d88\0\u9e16"+
- "\0\u9ea4\0\u9f32\0\u9fc0\0\ua04e\0\ua0dc\0\ua16a\0\ua1f8\0\ua286"+
- "\0\ua314\0\ua3a2\0\ua430\0\ua4be\0\ua54c\0\ua5da";
+ "\0\u64f4\0\u6582\0\u6610\0\u669e\0\u672c";
private static int [] zzUnpackRowMap() {
- int [] result = new int[310];
+ int [] result = new int[197];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -488,12 +472,12 @@ public final class StandardTokenizerImpl
"\3\0\1\202\2\0\1\203\4\0\1\204\3\0\1\205"+
"\17\0\1\56\2\0\1\206\21\0\1\207\2\0\1\210"+
"\61\0\1\30\1\63\7\0\1\63\4\0\2\30\1\0"+
- "\1\211\1\0\1\212\2\0\1\213\1\0\1\214\4\0"+
- "\1\215\1\0\1\216\1\0\1\217\2\0\1\220\3\0"+
- "\1\221\2\0\1\222\4\0\1\223\3\0\1\224\17\0"+
- "\1\225\2\0\1\226\21\0\1\227\2\0\1\230\41\0"+
- "\1\117\17\0\1\231\1\64\1\232\1\121\3\0\1\64"+
- "\1\0\1\64\4\0\1\233\1\231\7\0\1\30\4\0"+
+ "\1\42\1\0\1\43\2\0\1\211\1\0\1\45\4\0"+
+ "\1\46\1\0\1\47\1\0\1\50\2\0\1\51\3\0"+
+ "\1\212\2\0\1\213\4\0\1\54\3\0\1\214\17\0"+
+ "\1\56\2\0\1\215\21\0\1\216\2\0\1\217\41\0"+
+ "\1\117\17\0\1\30\1\64\1\62\1\121\3\0\1\64"+
+ "\1\0\1\64\4\0\1\37\1\30\7\0\1\30\4\0"+
"\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+
"\1\31\2\0\1\31\10\0\1\30\22\0\4\31\35\0"+
"\1\30\26\0\1\30\26\0\2\30\23\0\1\31\1\30"+
@@ -517,16 +501,16 @@ public final class StandardTokenizerImpl
"\11\0\1\31\11\0\2\31\6\0\1\31\2\0\4\31"+
"\3\0\1\31\2\0\2\31\1\0\3\31\1\0\2\31"+
"\1\0\1\31\10\0\1\31\1\0\2\31\2\0\2\31"+
- "\1\0\4\31\23\0\1\31\26\0\1\234\1\0\1\235"+
- "\17\0\1\236\2\0\1\237\4\0\1\240\3\0\1\241"+
- "\22\0\1\242\21\0\1\243\2\0\1\244\62\0\1\76"+
- "\1\31\6\0\1\76\7\0\1\211\1\0\1\212\2\0"+
- "\1\245\1\0\1\246\4\0\1\215\1\0\1\216\1\0"+
- "\1\217\2\0\1\220\3\0\1\247\2\0\1\250\4\0"+
- "\1\251\3\0\1\252\17\0\1\225\2\0\1\253\21\0"+
- "\1\254\2\0\1\255\41\0\1\117\17\0\1\231\1\77"+
- "\1\256\1\121\3\0\1\77\1\0\1\77\4\0\1\233"+
- "\1\231\71\0\1\32\2\0\1\32\33\0\4\32\216\0"+
+ "\1\0\4\31\23\0\1\31\26\0\1\220\1\0\1\221"+
+ "\17\0\1\222\2\0\1\223\4\0\1\224\3\0\1\225"+
+ "\22\0\1\226\21\0\1\227\2\0\1\230\62\0\1\76"+
+ "\1\31\6\0\1\76\7\0\1\42\1\0\1\43\2\0"+
+ "\1\231\1\0\1\66\4\0\1\46\1\0\1\47\1\0"+
+ "\1\50\2\0\1\51\3\0\1\232\2\0\1\233\4\0"+
+ "\1\71\3\0\1\234\17\0\1\56\2\0\1\235\21\0"+
+ "\1\236\2\0\1\237\41\0\1\117\17\0\1\30\1\77"+
+ "\1\31\1\121\3\0\1\77\1\0\1\77\4\0\1\37"+
+ "\1\30\71\0\1\32\2\0\1\32\33\0\4\32\216\0"+
"\1\32\77\0\1\32\44\0\1\32\1\0\2\32\21\0"+
"\1\32\4\0\1\32\17\0\4\32\3\0\1\32\12\0"+
"\1\32\203\0\1\32\222\0\4\32\152\0\2\32\25\0"+
@@ -559,8 +543,8 @@ public final class StandardTokenizerImpl
"\6\0\1\120\2\0\4\120\3\0\1\120\2\0\2\120"+
"\1\0\3\120\1\0\2\120\1\0\1\120\10\0\1\120"+
"\1\0\2\120\2\0\2\120\1\0\4\120\23\0\1\120"+
- "\177\0\1\121\44\0\1\257\21\0\1\260\2\0\1\261"+
- "\10\0\1\262\22\0\1\263\21\0\1\264\2\0\1\265"+
+ "\177\0\1\121\44\0\1\240\21\0\1\241\2\0\1\242"+
+ "\10\0\1\243\22\0\1\244\21\0\1\245\2\0\1\246"+
"\41\0\1\117\20\0\1\121\1\0\1\121\3\0\1\64"+
"\1\0\1\121\77\0\1\35\2\0\1\35\33\0\4\35"+
"\216\0\1\35\77\0\1\35\44\0\1\35\1\0\2\35"+
@@ -604,13 +588,13 @@ public final class StandardTokenizerImpl
"\4\37\3\0\1\37\2\0\2\37\1\0\3\37\1\0"+
"\2\37\1\0\1\37\10\0\1\37\1\0\2\37\2\0"+
"\2\37\1\0\4\37\23\0\1\37\21\0\1\42\1\0"+
- "\1\43\2\0\1\266\1\0\1\45\4\0\1\46\1\0"+
- "\1\47\1\0\1\50\2\0\1\51\3\0\1\267\2\0"+
- "\1\270\4\0\1\54\3\0\1\271\17\0\1\56\2\0"+
- "\1\272\21\0\1\273\2\0\1\274\61\0\1\30\1\147"+
+ "\1\43\2\0\1\247\1\0\1\45\4\0\1\46\1\0"+
+ "\1\47\1\0\1\50\2\0\1\51\3\0\1\250\2\0"+
+ "\1\251\4\0\1\54\3\0\1\252\17\0\1\56\2\0"+
+ "\1\253\21\0\1\254\2\0\1\255\61\0\1\30\1\147"+
"\1\62\4\0\1\64\1\0\1\147\4\0\1\37\1\30"+
- "\6\0\1\275\21\0\1\276\2\0\1\277\10\0\1\300"+
- "\22\0\1\301\21\0\1\302\2\0\1\303\62\0\1\150"+
+ "\6\0\1\256\21\0\1\257\2\0\1\260\10\0\1\261"+
+ "\22\0\1\262\21\0\1\263\2\0\1\264\62\0\1\150"+
"\7\0\1\150\4\0\1\147\10\0\1\30\4\0\1\30"+
"\11\0\1\30\22\0\1\30\3\0\1\30\13\0\1\40"+
"\2\0\1\40\10\0\1\30\22\0\4\40\35\0\1\30"+
@@ -644,7 +628,7 @@ public final class StandardTokenizerImpl
"\2\41\6\0\1\41\2\0\4\41\3\0\1\41\2\0"+
"\2\41\1\0\3\41\1\0\2\41\1\0\1\41\10\0"+
"\1\41\1\0\2\41\2\0\2\41\1\0\4\41\23\0"+
- "\1\41\165\0\1\304\26\0\2\304\27\0\1\30\4\0"+
+ "\1\41\165\0\1\265\26\0\2\265\27\0\1\30\4\0"+
"\1\30\11\0\1\30\22\0\1\30\3\0\1\30\13\0"+
"\1\62\2\0\1\62\10\0\1\30\22\0\4\62\35\0"+
"\1\30\26\0\1\30\26\0\2\30\23\0\1\62\1\30"+
@@ -668,9 +652,9 @@ public final class StandardTokenizerImpl
"\11\0\1\62\11\0\2\62\6\0\1\62\2\0\4\62"+
"\3\0\1\62\2\0\2\62\1\0\3\62\1\0\2\62"+
"\1\0\1\62\10\0\1\62\1\0\2\62\2\0\2\62"+
- "\1\0\4\62\23\0\1\62\26\0\1\305\1\0\1\306"+
- "\17\0\1\307\2\0\1\310\4\0\1\311\3\0\1\312"+
- "\22\0\1\313\21\0\1\314\2\0\1\315\62\0\1\177"+
+ "\1\0\4\62\23\0\1\62\26\0\1\266\1\0\1\267"+
+ "\17\0\1\270\2\0\1\271\4\0\1\272\3\0\1\273"+
+ "\22\0\1\274\21\0\1\275\2\0\1\276\62\0\1\177"+
"\1\62\6\0\1\177\15\0\1\30\4\0\1\30\11\0"+
"\1\30\22\0\1\30\3\0\1\30\13\0\1\63\2\0"+
"\1\63\10\0\1\30\22\0\4\63\35\0\1\30\31\0"+
@@ -704,499 +688,132 @@ public final class StandardTokenizerImpl
"\1\63\1\0\1\63\11\0\1\63\11\0\2\63\6\0"+
"\1\63\2\0\4\63\3\0\1\63\2\0\2\63\1\0"+
"\3\63\1\0\2\63\1\0\1\63\10\0\1\63\1\0"+
- "\2\63\2\0\2\63\1\0\4\63\23\0\1\63\22\0"+
- "\1\231\2\0\1\231\4\0\1\231\16\0\1\231\15\0"+
- "\1\231\20\0\1\231\1\0\1\231\41\0\1\231\4\0"+
- "\1\231\10\0\2\231\5\0\2\231\10\0\1\231\26\0"+
- "\2\231\5\0\1\231\2\0\1\231\3\0\2\231\10\0"+
- "\4\231\1\0\3\231\1\0\1\231\2\0\1\231\2\0"+
- "\1\231\4\0\4\231\1\0\2\231\1\0\1\231\2\0"+
- "\1\231\1\0\1\231\2\0\4\231\2\0\3\231\1\0"+
- "\2\231\1\0\3\231\1\0\4\231\1\0\2\231\5\0"+
- "\4\231\2\0\10\231\1\0\1\231\2\0\1\231\1\0"+
- "\2\231\4\0\1\231\3\0\3\231\27\0\1\231\4\0"+
- "\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
- "\1\64\2\0\1\64\10\0\1\231\22\0\4\64\35\0"+
- "\1\231\31\0\1\231\3\0\4\231\1\0\1\231\1\0"+
- "\1\232\2\0\1\231\1\0\2\231\2\0\2\231\2\0"+
- "\3\231\1\0\1\231\1\0\1\231\2\0\4\231\1\0"+
- "\3\231\1\0\1\231\1\0\3\231\1\0\2\231\1\0"+
- "\4\231\1\0\2\231\2\0\10\231\1\0\2\231\1\0"+
- "\10\231\1\232\1\0\7\231\1\0\10\231\1\0\6\231"+
- "\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+
- "\3\0\3\231\36\0\1\231\17\0\1\231\23\0\1\231"+
- "\23\0\1\231\6\0\3\231\37\0\1\231\7\0\1\231"+
- "\30\0\1\231\1\0\2\231\1\0\1\231\1\0\4\231"+
- "\1\0\1\231\1\0\1\231\1\0\2\231\1\0\3\231"+
- "\1\0\2\231\1\0\4\231\1\0\3\231\1\0\17\231"+
- "\1\0\2\231\1\0\21\231\1\0\2\231\1\0\41\231"+
- "\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+
- "\1\0\1\231\1\0\3\231\36\0\1\231\3\0\2\231"+
- "\12\0\2\231\13\0\1\231\6\0\1\231\2\0\2\231"+
- "\6\0\1\231\4\0\2\231\2\0\2\231\5\0\3\231"+
- "\20\0\1\231\16\0\1\231\7\0\1\231\30\0\1\231"+
- "\1\0\2\231\1\0\1\231\2\0\2\231\2\0\1\231"+
- "\3\0\2\231\1\0\3\231\1\0\2\231\1\0\4\231"+
- "\1\0\3\231\1\0\1\231\1\0\2\231\2\0\11\231"+
- "\1\0\2\231\1\0\1\231\1\0\2\231\1\0\14\231"+
- "\1\0\2\231\1\0\10\231\1\0\2\231\1\0\1\231"+
- "\1\0\23\231\1\0\1\231\1\0\2\231\2\0\1\231"+
- "\1\0\1\231\1\0\1\231\1\0\3\231\22\0\1\231"+
- "\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+
- "\1\64\65\0\1\232\11\0\1\64\15\0\4\231\2\0"+
- "\2\231\14\0\3\231\1\64\1\0\2\64\11\0\3\231"+
- "\3\0\1\231\1\0\1\64\4\0\1\64\2\231\1\0"+
- "\4\232\1\0\2\231\5\0\4\64\2\0\1\231\1\64"+
- "\12\0\1\64\7\0\1\231\44\0\1\231\3\0\2\231"+
- "\12\0\2\231\1\0\3\231\7\0\1\231\6\0\2\231"+
- "\1\0\2\231\6\0\1\231\4\0\2\231\2\0\2\231"+
- "\5\0\3\231\2\0\1\231\3\0\2\232\10\0\1\231"+
- "\16\0\1\231\7\0\1\231\30\0\1\231\4\0\1\231"+
- "\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
- "\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
- "\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
- "\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
- "\1\0\1\231\4\0\1\64\1\0\2\231\6\0\1\231"+
- "\7\0\1\231\1\0\1\231\42\0\1\231\17\0\2\231"+
- "\22\0\1\231\2\0\2\231\13\0\1\231\3\0\2\231"+
- "\5\0\3\231\20\0\1\231\16\0\1\231\7\0\1\231"+
- "\35\0\1\231\6\0\1\231\3\0\1\231\3\0\1\231"+
- "\7\0\1\231\31\0\20\231\5\0\3\231\4\0\1\231"+
- "\6\0\1\231\3\0\2\231\2\0\2\231\4\0\1\231"+
- "\4\64\1\0\1\231\2\0\1\231\4\0\1\231\1\0"+
- "\1\231\1\0\1\231\134\0\2\64\25\0\4\64\55\0"+
- "\1\64\15\0\2\64\10\0\2\64\1\0\1\64\1\0"+
- "\1\64\11\0\1\64\11\0\2\64\6\0\1\64\2\0"+
- "\4\64\3\0\1\64\2\0\2\64\1\0\3\64\1\0"+
- "\2\64\1\0\1\64\10\0\1\64\1\0\2\64\2\0"+
- "\2\64\1\0\4\64\23\0\1\64\21\0\1\211\1\0"+
- "\1\212\2\0\1\316\1\0\1\214\4\0\1\215\1\0"+
- "\1\216\1\0\1\217\2\0\1\220\3\0\1\317\2\0"+
- "\1\320\4\0\1\223\3\0\1\321\17\0\1\225\2\0"+
- "\1\322\21\0\1\323\2\0\1\324\61\0\2\231\1\232"+
- "\1\0\1\325\1\0\1\325\1\326\1\0\1\231\2\0"+
- "\1\325\1\0\1\233\1\231\1\0\1\211\1\0\1\212"+
- "\2\0\1\327\1\0\1\214\4\0\1\215\1\0\1\216"+
- "\1\0\1\217\2\0\1\220\3\0\1\330\2\0\1\331"+
- "\4\0\1\223\3\0\1\332\17\0\1\225\2\0\1\333"+
- "\21\0\1\334\2\0\1\335\61\0\1\231\2\232\2\0"+
- "\2\336\1\337\1\0\1\232\2\0\1\336\1\0\1\233"+
- "\1\231\1\0\1\211\1\0\1\212\2\0\1\340\1\0"+
- "\1\214\4\0\1\215\1\0\1\216\1\0\1\217\2\0"+
- "\1\220\3\0\1\341\2\0\1\342\4\0\1\223\3\0"+
- "\1\343\17\0\1\225\2\0\1\344\21\0\1\345\2\0"+
- "\1\346\61\0\1\231\1\233\1\232\1\0\1\325\1\0"+
- "\1\325\1\326\1\0\1\233\2\0\1\231\1\347\1\233"+
- "\1\231\71\0\1\76\2\0\1\76\33\0\4\76\102\0"+
- "\1\31\104\0\1\31\146\0\1\31\41\0\1\31\13\0"+
- "\1\76\65\0\1\31\11\0\1\76\44\0\1\76\1\0"+
- "\2\76\21\0\1\76\4\0\1\76\3\0\4\31\10\0"+
- "\4\76\3\0\1\76\12\0\1\76\164\0\2\31\233\0"+
- "\1\76\222\0\4\76\152\0\2\76\25\0\4\76\55\0"+
- "\1\76\15\0\2\76\10\0\2\76\1\0\1\76\1\0"+
- "\1\76\11\0\1\76\11\0\2\76\6\0\1\76\2\0"+
- "\4\76\3\0\1\76\2\0\2\76\1\0\3\76\1\0"+
- "\2\76\1\0\1\76\10\0\1\76\1\0\2\76\2\0"+
- "\2\76\1\0\4\76\23\0\1\76\27\0\1\231\4\0"+
- "\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
- "\1\77\2\0\1\77\10\0\1\231\22\0\4\77\35\0"+
- "\1\231\31\0\1\231\3\0\4\231\1\0\1\231\1\0"+
- "\1\256\2\0\1\231\1\0\2\231\2\0\2\231\2\0"+
- "\3\231\1\0\1\231\1\0\1\231\2\0\4\231\1\0"+
- "\3\231\1\0\1\231\1\0\3\231\1\0\2\231\1\0"+
- "\4\231\1\0\2\231\2\0\10\231\1\0\2\231\1\0"+
- "\10\231\1\256\1\0\7\231\1\0\10\231\1\0\6\231"+
- "\1\0\1\231\1\0\2\231\2\0\1\231\1\0\1\231"+
- "\3\0\3\231\22\0\1\231\26\0\2\231\23\0\1\256"+
- "\1\231\40\0\1\256\13\0\1\77\65\0\1\256\11\0"+
- "\1\77\15\0\4\231\2\0\2\231\14\0\3\231\1\77"+
- "\1\0\2\77\11\0\3\231\3\0\1\231\1\0\1\77"+
- "\4\0\1\77\2\231\1\0\4\256\1\0\2\231\5\0"+
- "\4\77\2\0\1\231\1\77\12\0\1\77\7\0\1\231"+
- "\44\0\1\231\3\0\2\231\12\0\2\231\1\0\3\231"+
- "\7\0\1\231\6\0\2\231\1\0\2\231\6\0\1\231"+
- "\4\0\2\231\2\0\2\231\5\0\3\231\2\0\1\231"+
- "\3\0\2\256\10\0\1\231\16\0\1\231\7\0\1\231"+
- "\30\0\1\231\4\0\1\231\6\0\1\231\3\0\1\231"+
- "\6\0\1\231\5\0\1\231\2\0\2\231\1\0\17\231"+
- "\2\0\1\231\13\0\7\231\2\0\1\231\1\0\1\231"+
- "\1\0\2\231\2\0\1\231\1\0\3\231\2\0\1\231"+
- "\1\0\1\231\1\0\1\231\1\0\1\231\4\0\1\77"+
- "\1\0\2\231\6\0\1\231\7\0\1\231\1\0\1\231"+
- "\33\0\1\231\6\0\1\231\3\0\1\231\3\0\1\231"+
- "\7\0\1\231\31\0\20\231\5\0\3\231\4\0\1\231"+
- "\6\0\1\231\3\0\2\231\2\0\2\231\4\0\1\231"+
- "\4\77\1\0\1\231\2\0\1\231\4\0\1\231\1\0"+
- "\1\231\1\0\1\231\134\0\2\77\25\0\4\77\55\0"+
- "\1\77\15\0\2\77\10\0\2\77\1\0\1\77\1\0"+
- "\1\77\11\0\1\77\11\0\2\77\6\0\1\77\2\0"+
- "\4\77\3\0\1\77\2\0\2\77\1\0\3\77\1\0"+
- "\2\77\1\0\1\77\10\0\1\77\1\0\2\77\2\0"+
- "\2\77\1\0\4\77\23\0\1\77\21\0\1\211\1\0"+
- "\1\212\2\0\1\350\1\0\1\246\4\0\1\215\1\0"+
- "\1\216\1\0\1\217\2\0\1\220\3\0\1\351\2\0"+
- "\1\352\4\0\1\251\3\0\1\353\17\0\1\225\2\0"+
- "\1\354\21\0\1\355\2\0\1\356\61\0\1\231\2\256"+
- "\2\0\2\357\1\360\1\0\1\256\2\0\1\357\1\0"+
- "\1\233\1\231\71\0\1\121\2\0\1\121\33\0\4\121"+
- "\216\0\1\121\77\0\1\121\44\0\1\121\1\0\2\121"+
- "\21\0\1\121\4\0\1\121\17\0\4\121\3\0\1\121"+
- "\12\0\1\121\203\0\1\121\222\0\4\121\152\0\2\121"+
- "\25\0\4\121\55\0\1\121\15\0\2\121\10\0\2\121"+
- "\1\0\1\121\1\0\1\121\11\0\1\121\11\0\2\121"+
- "\6\0\1\121\2\0\4\121\3\0\1\121\2\0\2\121"+
- "\1\0\3\121\1\0\2\121\1\0\1\121\10\0\1\121"+
- "\1\0\2\121\2\0\2\121\1\0\4\121\23\0\1\121"+
- "\27\0\1\30\4\0\1\30\11\0\1\30\22\0\1\30"+
- "\3\0\1\30\13\0\1\147\2\0\1\147\10\0\1\30"+
- "\22\0\4\147\35\0\1\30\26\0\1\30\26\0\2\30"+
- "\23\0\1\62\1\30\40\0\1\62\13\0\1\147\65\0"+
- "\1\62\11\0\1\147\15\0\4\30\2\0\2\30\14\0"+
- "\3\30\1\147\1\0\2\147\11\0\3\30\3\0\1\30"+
- "\1\0\1\147\4\0\1\147\2\30\1\0\4\62\1\0"+
- "\2\30\5\0\4\147\2\0\1\30\1\147\12\0\1\147"+
- "\7\0\1\30\30\0\1\30\4\0\1\30\6\0\1\30"+
- "\3\0\1\30\6\0\1\30\5\0\1\30\2\0\2\30"+
- "\1\0\17\30\2\0\1\30\13\0\7\30\2\0\1\30"+
- "\1\0\1\30\1\0\2\30\2\0\1\30\1\0\3\30"+
- "\2\0\1\30\1\0\1\30\1\0\1\30\1\0\1\30"+
- "\4\0\1\147\1\0\2\30\6\0\1\30\7\0\1\30"+
- "\1\0\1\30\33\0\1\30\6\0\1\30\3\0\1\30"+
- "\3\0\1\30\7\0\1\30\31\0\20\30\5\0\3\30"+
- "\4\0\1\30\6\0\1\30\3\0\2\30\2\0\2\30"+
- "\4\0\1\30\4\147\1\0\1\30\2\0\1\30\4\0"+
- "\1\30\1\0\1\30\1\0\1\30\134\0\2\147\25\0"+
- "\4\147\55\0\1\147\15\0\2\147\10\0\2\147\1\0"+
- "\1\147\1\0\1\147\11\0\1\147\11\0\2\147\6\0"+
- "\1\147\2\0\4\147\3\0\1\147\2\0\2\147\1\0"+
- "\3\147\1\0\2\147\1\0\1\147\10\0\1\147\1\0"+
- "\2\147\2\0\2\147\1\0\4\147\23\0\1\147\111\0"+
- "\1\150\2\0\1\150\33\0\4\150\216\0\1\150\77\0"+
- "\1\150\44\0\1\150\1\0\2\150\21\0\1\150\4\0"+
- "\1\150\17\0\4\150\3\0\1\150\12\0\1\150\203\0"+
- "\1\150\222\0\4\150\152\0\2\150\25\0\4\150\55\0"+
- "\1\150\15\0\2\150\10\0\2\150\1\0\1\150\1\0"+
- "\1\150\11\0\1\150\11\0\2\150\6\0\1\150\2\0"+
- "\4\150\3\0\1\150\2\0\2\150\1\0\3\150\1\0"+
- "\2\150\1\0\1\150\10\0\1\150\1\0\2\150\2\0"+
- "\2\150\1\0\4\150\23\0\1\150\26\0\1\361\21\0"+
- "\1\362\2\0\1\363\10\0\1\364\22\0\1\365\21\0"+
- "\1\366\2\0\1\367\55\0\1\167\4\0\1\304\7\0"+
- "\1\304\77\0\1\177\2\0\1\177\33\0\4\177\102\0"+
- "\1\62\104\0\1\62\146\0\1\62\41\0\1\62\13\0"+
- "\1\177\65\0\1\62\11\0\1\177\44\0\1\177\1\0"+
- "\2\177\21\0\1\177\4\0\1\177\3\0\4\62\10\0"+
- "\4\177\3\0\1\177\12\0\1\177\164\0\2\62\233\0"+
- "\1\177\222\0\4\177\152\0\2\177\25\0\4\177\55\0"+
- "\1\177\15\0\2\177\10\0\2\177\1\0\1\177\1\0"+
- "\1\177\11\0\1\177\11\0\2\177\6\0\1\177\2\0"+
- "\4\177\3\0\1\177\2\0\2\177\1\0\3\177\1\0"+
- "\2\177\1\0\1\177\10\0\1\177\1\0\2\177\2\0"+
- "\2\177\1\0\4\177\23\0\1\177\27\0\1\231\4\0"+
- "\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
- "\1\231\2\0\1\231\10\0\1\231\22\0\4\231\35\0"+
- "\1\231\26\0\1\231\26\0\2\231\23\0\1\232\1\231"+
- "\40\0\1\232\13\0\1\231\65\0\1\232\11\0\1\231"+
- "\15\0\4\231\2\0\2\231\14\0\4\231\1\0\2\231"+
- "\11\0\3\231\3\0\1\231\1\0\1\231\4\0\3\231"+
- "\1\0\4\232\1\0\2\231\5\0\4\231\2\0\2\231"+
- "\12\0\1\231\7\0\1\231\30\0\1\231\4\0\1\231"+
- "\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
- "\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
- "\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
- "\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
- "\1\0\1\231\4\0\1\231\1\0\2\231\6\0\1\231"+
- "\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
- "\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
- "\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
- "\2\0\2\231\4\0\5\231\1\0\1\231\2\0\1\231"+
- "\4\0\1\231\1\0\1\231\1\0\1\231\134\0\2\231"+
- "\25\0\4\231\55\0\1\231\15\0\2\231\10\0\2\231"+
- "\1\0\1\231\1\0\1\231\11\0\1\231\11\0\2\231"+
- "\6\0\1\231\2\0\4\231\3\0\1\231\2\0\2\231"+
- "\1\0\3\231\1\0\2\231\1\0\1\231\10\0\1\231"+
- "\1\0\2\231\2\0\2\231\1\0\4\231\23\0\1\231"+
- "\21\0\1\211\1\0\1\212\2\0\1\370\1\0\1\371"+
- "\4\0\1\215\1\0\1\216\1\0\1\217\2\0\1\220"+
- "\3\0\1\372\2\0\1\373\4\0\1\374\3\0\1\375"+
- "\17\0\1\225\2\0\1\376\21\0\1\377\2\0\1\u0100"+
- "\61\0\1\231\1\325\2\0\1\325\1\0\2\325\1\0"+
- "\1\325\2\0\1\325\1\0\2\231\1\0\1\211\1\0"+
- "\1\212\2\0\1\u0101\1\0\1\214\4\0\1\215\1\0"+
- "\1\216\1\0\1\217\2\0\1\220\3\0\1\u0102\2\0"+
- "\1\u0103\4\0\1\223\3\0\1\u0104\17\0\1\225\2\0"+
- "\1\u0105\21\0\1\u0106\2\0\1\u0107\41\0\1\117\17\0"+
- "\1\231\1\326\1\232\1\121\1\325\1\0\1\325\1\326"+
- "\1\0\1\326\2\0\1\325\1\0\1\233\1\231\7\0"+
- "\1\231\4\0\1\231\11\0\1\231\22\0\1\231\3\0"+
- "\1\231\13\0\1\232\2\0\1\232\10\0\1\231\22\0"+
- "\4\232\35\0\1\231\26\0\1\231\26\0\2\231\23\0"+
- "\1\232\1\231\40\0\1\232\13\0\1\232\65\0\1\232"+
- "\11\0\1\232\15\0\4\231\2\0\2\231\14\0\3\231"+
- "\1\232\1\0\2\232\11\0\3\231\3\0\1\231\1\0"+
- "\1\232\4\0\1\232\2\231\1\0\4\232\1\0\2\231"+
- "\5\0\4\232\2\0\1\231\1\232\12\0\1\232\7\0"+
- "\1\231\30\0\1\231\4\0\1\231\6\0\1\231\3\0"+
- "\1\231\6\0\1\231\5\0\1\231\2\0\2\231\1\0"+
- "\17\231\2\0\1\231\13\0\7\231\2\0\1\231\1\0"+
- "\1\231\1\0\2\231\2\0\1\231\1\0\3\231\2\0"+
- "\1\231\1\0\1\231\1\0\1\231\1\0\1\231\4\0"+
- "\1\232\1\0\2\231\6\0\1\231\7\0\1\231\1\0"+
- "\1\231\33\0\1\231\6\0\1\231\3\0\1\231\3\0"+
- "\1\231\7\0\1\231\31\0\20\231\5\0\3\231\4\0"+
- "\1\231\6\0\1\231\3\0\2\231\2\0\2\231\4\0"+
- "\1\231\4\232\1\0\1\231\2\0\1\231\4\0\1\231"+
- "\1\0\1\231\1\0\1\231\134\0\2\232\25\0\4\232"+
- "\55\0\1\232\15\0\2\232\10\0\2\232\1\0\1\232"+
- "\1\0\1\232\11\0\1\232\11\0\2\232\6\0\1\232"+
- "\2\0\4\232\3\0\1\232\2\0\2\232\1\0\3\232"+
- "\1\0\2\232\1\0\1\232\10\0\1\232\1\0\2\232"+
- "\2\0\2\232\1\0\4\232\23\0\1\232\26\0\1\u0108"+
- "\1\0\1\u0109\17\0\1\u010a\2\0\1\u010b\4\0\1\u010c"+
- "\3\0\1\u010d\22\0\1\u010e\21\0\1\u010f\2\0\1\u0110"+
- "\62\0\1\336\1\232\2\0\3\336\1\0\1\336\2\0"+
- "\1\336\4\0\1\211\1\0\1\212\2\0\1\u0111\1\0"+
- "\1\214\4\0\1\215\1\0\1\216\1\0\1\217\2\0"+
- "\1\220\3\0\1\u0112\2\0\1\u0113\4\0\1\223\3\0"+
- "\1\u0114\17\0\1\225\2\0\1\u0115\21\0\1\u0116\2\0"+
- "\1\u0117\41\0\1\117\17\0\1\231\1\337\1\232\1\121"+
- "\1\0\2\336\1\337\1\0\1\337\2\0\1\336\1\0"+
- "\1\233\1\231\7\0\1\231\4\0\1\231\11\0\1\231"+
- "\22\0\1\231\3\0\1\231\13\0\1\233\2\0\1\233"+
- "\10\0\1\231\22\0\4\233\35\0\1\231\26\0\1\231"+
- "\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+
- "\1\233\65\0\1\232\11\0\1\233\15\0\4\231\2\0"+
- "\2\231\14\0\3\231\1\233\1\0\2\233\11\0\3\231"+
- "\3\0\1\231\1\0\1\233\4\0\1\233\2\231\1\0"+
- "\4\232\1\0\2\231\5\0\4\233\2\0\1\231\1\233"+
- "\12\0\1\233\7\0\1\231\30\0\1\231\4\0\1\231"+
- "\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
- "\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
- "\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
- "\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
- "\1\0\1\231\4\0\1\233\1\0\2\231\6\0\1\231"+
- "\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
- "\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
- "\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
- "\2\0\2\231\4\0\1\231\4\233\1\0\1\231\2\0"+
- "\1\231\4\0\1\231\1\0\1\231\1\0\1\231\134\0"+
- "\2\233\25\0\4\233\55\0\1\233\15\0\2\233\10\0"+
- "\2\233\1\0\1\233\1\0\1\233\11\0\1\233\11\0"+
- "\2\233\6\0\1\233\2\0\4\233\3\0\1\233\2\0"+
- "\2\233\1\0\3\233\1\0\2\233\1\0\1\233\10\0"+
- "\1\233\1\0\2\233\2\0\2\233\1\0\4\233\23\0"+
- "\1\233\26\0\1\u0118\21\0\1\u0119\2\0\1\u011a\10\0"+
- "\1\u011b\22\0\1\u011c\21\0\1\u011d\2\0\1\u011e\62\0"+
- "\1\347\7\0\1\347\4\0\1\u011f\10\0\1\231\4\0"+
- "\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
- "\1\256\2\0\1\256\10\0\1\231\22\0\4\256\35\0"+
- "\1\231\26\0\1\231\26\0\2\231\23\0\1\256\1\231"+
- "\40\0\1\256\13\0\1\256\65\0\1\256\11\0\1\256"+
- "\15\0\4\231\2\0\2\231\14\0\3\231\1\256\1\0"+
- "\2\256\11\0\3\231\3\0\1\231\1\0\1\256\4\0"+
- "\1\256\2\231\1\0\4\256\1\0\2\231\5\0\4\256"+
- "\2\0\1\231\1\256\12\0\1\256\7\0\1\231\30\0"+
- "\1\231\4\0\1\231\6\0\1\231\3\0\1\231\6\0"+
- "\1\231\5\0\1\231\2\0\2\231\1\0\17\231\2\0"+
- "\1\231\13\0\7\231\2\0\1\231\1\0\1\231\1\0"+
- "\2\231\2\0\1\231\1\0\3\231\2\0\1\231\1\0"+
- "\1\231\1\0\1\231\1\0\1\231\4\0\1\256\1\0"+
- "\2\231\6\0\1\231\7\0\1\231\1\0\1\231\33\0"+
- "\1\231\6\0\1\231\3\0\1\231\3\0\1\231\7\0"+
- "\1\231\31\0\20\231\5\0\3\231\4\0\1\231\6\0"+
- "\1\231\3\0\2\231\2\0\2\231\4\0\1\231\4\256"+
- "\1\0\1\231\2\0\1\231\4\0\1\231\1\0\1\231"+
- "\1\0\1\231\134\0\2\256\25\0\4\256\55\0\1\256"+
- "\15\0\2\256\10\0\2\256\1\0\1\256\1\0\1\256"+
- "\11\0\1\256\11\0\2\256\6\0\1\256\2\0\4\256"+
- "\3\0\1\256\2\0\2\256\1\0\3\256\1\0\2\256"+
- "\1\0\1\256\10\0\1\256\1\0\2\256\2\0\2\256"+
- "\1\0\4\256\23\0\1\256\26\0\1\u0120\1\0\1\u0121"+
- "\17\0\1\u0122\2\0\1\u0123\4\0\1\u0124\3\0\1\u0125"+
- "\22\0\1\u0126\21\0\1\u0127\2\0\1\u0128\62\0\1\357"+
- "\1\256\2\0\3\336\1\0\1\357\2\0\1\336\4\0"+
- "\1\211\1\0\1\212\2\0\1\u0129\1\0\1\246\4\0"+
- "\1\215\1\0\1\216\1\0\1\217\2\0\1\220\3\0"+
- "\1\u012a\2\0\1\u012b\4\0\1\251\3\0\1\u012c\17\0"+
- "\1\225\2\0\1\u012d\21\0\1\u012e\2\0\1\u012f\41\0"+
- "\1\117\17\0\1\231\1\360\1\256\1\121\1\0\2\336"+
- "\1\360\1\0\1\360\2\0\1\336\1\0\1\233\1\231"+
- "\71\0\1\304\2\0\1\304\33\0\4\304\216\0\1\304"+
- "\77\0\1\304\44\0\1\304\1\0\2\304\21\0\1\304"+
- "\4\0\1\304\17\0\4\304\3\0\1\304\12\0\1\304"+
- "\203\0\1\304\222\0\4\304\152\0\2\304\25\0\4\304"+
- "\55\0\1\304\15\0\2\304\10\0\2\304\1\0\1\304"+
- "\1\0\1\304\11\0\1\304\11\0\2\304\6\0\1\304"+
- "\2\0\4\304\3\0\1\304\2\0\2\304\1\0\3\304"+
- "\1\0\2\304\1\0\1\304\10\0\1\304\1\0\2\304"+
- "\2\0\2\304\1\0\4\304\23\0\1\304\27\0\1\231"+
- "\4\0\1\231\11\0\1\231\22\0\1\231\3\0\1\231"+
- "\13\0\1\325\2\0\1\325\10\0\1\231\22\0\4\325"+
- "\35\0\1\231\31\0\1\231\3\0\4\231\1\0\1\231"+
- "\4\0\1\231\1\0\2\231\2\0\2\231\2\0\3\231"+
- "\1\0\1\231\1\0\1\231\2\0\4\231\1\0\3\231"+
- "\1\0\1\231\1\0\3\231\1\0\2\231\1\0\4\231"+
- "\1\0\2\231\2\0\10\231\1\0\2\231\1\0\10\231"+
- "\2\0\7\231\1\0\10\231\1\0\6\231\1\0\1\231"+
- "\1\0\2\231\2\0\1\231\1\0\1\231\3\0\3\231"+
- "\22\0\1\231\26\0\2\231\24\0\1\231\54\0\1\325"+
- "\77\0\1\325\15\0\4\231\2\0\2\231\14\0\3\231"+
- "\1\325\1\0\2\325\11\0\3\231\3\0\1\231\1\0"+
- "\1\325\4\0\1\325\2\231\6\0\2\231\5\0\4\325"+
- "\2\0\1\231\1\325\12\0\1\325\7\0\1\231\44\0"+
- "\1\231\3\0\2\231\12\0\2\231\1\0\3\231\7\0"+
- "\1\231\6\0\2\231\1\0\2\231\6\0\1\231\4\0"+
- "\2\231\2\0\2\231\5\0\3\231\2\0\1\231\15\0"+
- "\1\231\16\0\1\231\7\0\1\231\30\0\1\231\4\0"+
- "\1\231\6\0\1\231\3\0\1\231\6\0\1\231\5\0"+
- "\1\231\2\0\2\231\1\0\17\231\2\0\1\231\13\0"+
- "\7\231\2\0\1\231\1\0\1\231\1\0\2\231\2\0"+
- "\1\231\1\0\3\231\2\0\1\231\1\0\1\231\1\0"+
- "\1\231\1\0\1\231\4\0\1\325\1\0\2\231\6\0"+
- "\1\231\7\0\1\231\1\0\1\231\33\0\1\231\6\0"+
- "\1\231\3\0\1\231\3\0\1\231\7\0\1\231\31\0"+
- "\20\231\5\0\3\231\4\0\1\231\6\0\1\231\3\0"+
- "\2\231\2\0\2\231\4\0\1\231\4\325\1\0\1\231"+
- "\2\0\1\231\4\0\1\231\1\0\1\231\1\0\1\231"+
- "\134\0\2\325\25\0\4\325\55\0\1\325\15\0\2\325"+
- "\10\0\2\325\1\0\1\325\1\0\1\325\11\0\1\325"+
- "\11\0\2\325\6\0\1\325\2\0\4\325\3\0\1\325"+
- "\2\0\2\325\1\0\3\325\1\0\2\325\1\0\1\325"+
- "\10\0\1\325\1\0\2\325\2\0\2\325\1\0\4\325"+
- "\23\0\1\325\27\0\1\231\4\0\1\231\11\0\1\231"+
- "\22\0\1\231\3\0\1\231\13\0\1\326\2\0\1\326"+
- "\10\0\1\231\22\0\4\326\35\0\1\231\26\0\1\231"+
- "\26\0\2\231\23\0\1\232\1\231\40\0\1\232\13\0"+
- "\1\326\65\0\1\232\11\0\1\326\15\0\4\231\2\0"+
- "\2\231\14\0\3\231\1\326\1\0\2\326\11\0\3\231"+
- "\3\0\1\231\1\0\1\326\4\0\1\326\2\231\1\0"+
- "\4\232\1\0\2\231\5\0\4\326\2\0\1\231\1\326"+
- "\12\0\1\326\7\0\1\231\30\0\1\231\4\0\1\231"+
- "\6\0\1\231\3\0\1\231\6\0\1\231\5\0\1\231"+
- "\2\0\2\231\1\0\17\231\2\0\1\231\13\0\7\231"+
- "\2\0\1\231\1\0\1\231\1\0\2\231\2\0\1\231"+
- "\1\0\3\231\2\0\1\231\1\0\1\231\1\0\1\231"+
- "\1\0\1\231\4\0\1\326\1\0\2\231\6\0\1\231"+
- "\7\0\1\231\1\0\1\231\33\0\1\231\6\0\1\231"+
- "\3\0\1\231\3\0\1\231\7\0\1\231\31\0\20\231"+
- "\5\0\3\231\4\0\1\231\6\0\1\231\3\0\2\231"+
- "\2\0\2\231\4\0\1\231\4\326\1\0\1\231\2\0"+
- "\1\231\4\0\1\231\1\0\1\231\1\0\1\231\134\0"+
- "\2\326\25\0\4\326\55\0\1\326\15\0\2\326\10\0"+
- "\2\326\1\0\1\326\1\0\1\326\11\0\1\326\11\0"+
- "\2\326\6\0\1\326\2\0\4\326\3\0\1\326\2\0"+
- "\2\326\1\0\3\326\1\0\2\326\1\0\1\326\10\0"+
- "\1\326\1\0\2\326\2\0\2\326\1\0\4\326\23\0"+
- "\1\326\111\0\1\336\2\0\1\336\33\0\4\336\102\0"+
- "\1\232\104\0\1\232\146\0\1\232\41\0\1\232\13\0"+
- "\1\336\65\0\1\232\11\0\1\336\44\0\1\336\1\0"+
- "\2\336\21\0\1\336\4\0\1\336\3\0\4\232\10\0"+
- "\4\336\3\0\1\336\12\0\1\336\164\0\2\232\233\0"+
- "\1\336\222\0\4\336\152\0\2\336\25\0\4\336\55\0"+
- "\1\336\15\0\2\336\10\0\2\336\1\0\1\336\1\0"+
- "\1\336\11\0\1\336\11\0\2\336\6\0\1\336\2\0"+
- "\4\336\3\0\1\336\2\0\2\336\1\0\3\336\1\0"+
- "\2\336\1\0\1\336\10\0\1\336\1\0\2\336\2\0"+
- "\2\336\1\0\4\336\23\0\1\336\27\0\1\231\4\0"+
- "\1\231\11\0\1\231\22\0\1\231\3\0\1\231\13\0"+
- "\1\337\2\0\1\337\10\0\1\231\22\0\4\337\35\0"+
- "\1\231\26\0\1\231\26\0\2\231\23\0\1\232\1\231"+
- "\40\0\1\232\13\0\1\337\65\0\1\232\11\0\1\337"+
- "\15\0\4\231\2\0\2\231\14\0\3\231\1\337\1\0"+
- "\2\337\11\0\3\231\3\0\1\231\1\0\1\337\4\0"+
- "\1\337\2\231\1\0\4\232\1\0\2\231\5\0\4\337"+
- "\2\0\1\231\1\337\12\0\1\337\7\0\1\231\30\0"+
- "\1\231\4\0\1\231\6\0\1\231\3\0\1\231\6\0"+
- "\1\231\5\0\1\231\2\0\2\231\1\0\17\231\2\0"+
- "\1\231\13\0\7\231\2\0\1\231\1\0\1\231\1\0"+
- "\2\231\2\0\1\231\1\0\3\231\2\0\1\231\1\0"+
- "\1\231\1\0\1\231\1\0\1\231\4\0\1\337\1\0"+
- "\2\231\6\0\1\231\7\0\1\231\1\0\1\231\33\0"+
- "\1\231\6\0\1\231\3\0\1\231\3\0\1\231\7\0"+
- "\1\231\31\0\20\231\5\0\3\231\4\0\1\231\6\0"+
- "\1\231\3\0\2\231\2\0\2\231\4\0\1\231\4\337"+
- "\1\0\1\231\2\0\1\231\4\0\1\231\1\0\1\231"+
- "\1\0\1\231\134\0\2\337\25\0\4\337\55\0\1\337"+
- "\15\0\2\337\10\0\2\337\1\0\1\337\1\0\1\337"+
- "\11\0\1\337\11\0\2\337\6\0\1\337\2\0\4\337"+
- "\3\0\1\337\2\0\2\337\1\0\3\337\1\0\2\337"+
- "\1\0\1\337\10\0\1\337\1\0\2\337\2\0\2\337"+
- "\1\0\4\337\23\0\1\337\111\0\1\347\2\0\1\347"+
- "\33\0\4\347\216\0\1\347\77\0\1\347\44\0\1\347"+
- "\1\0\2\347\21\0\1\347\4\0\1\347\17\0\4\347"+
- "\3\0\1\347\12\0\1\347\203\0\1\347\222\0\4\347"+
- "\152\0\2\347\25\0\4\347\55\0\1\347\15\0\2\347"+
- "\10\0\2\347\1\0\1\347\1\0\1\347\11\0\1\347"+
- "\11\0\2\347\6\0\1\347\2\0\4\347\3\0\1\347"+
- "\2\0\2\347\1\0\3\347\1\0\2\347\1\0\1\347"+
- "\10\0\1\347\1\0\2\347\2\0\2\347\1\0\4\347"+
- "\23\0\1\347\21\0\1\211\1\0\1\212\2\0\1\u0130"+
- "\1\0\1\214\4\0\1\215\1\0\1\216\1\0\1\217"+
- "\2\0\1\220\3\0\1\u0131\2\0\1\u0132\4\0\1\223"+
- "\3\0\1\u0133\17\0\1\225\2\0\1\u0134\21\0\1\u0135"+
- "\2\0\1\u0136\61\0\1\231\1\u011f\1\232\4\0\1\64"+
- "\1\0\1\u011f\4\0\1\233\1\231\71\0\1\357\2\0"+
- "\1\357\33\0\4\357\102\0\1\256\104\0\1\256\146\0"+
- "\1\256\41\0\1\256\13\0\1\357\65\0\1\256\11\0"+
- "\1\357\44\0\1\357\1\0\2\357\21\0\1\357\4\0"+
- "\1\357\3\0\4\256\10\0\4\357\3\0\1\357\12\0"+
- "\1\357\164\0\2\256\233\0\1\357\222\0\4\357\152\0"+
- "\2\357\25\0\4\357\55\0\1\357\15\0\2\357\10\0"+
- "\2\357\1\0\1\357\1\0\1\357\11\0\1\357\11\0"+
- "\2\357\6\0\1\357\2\0\4\357\3\0\1\357\2\0"+
- "\2\357\1\0\3\357\1\0\2\357\1\0\1\357\10\0"+
- "\1\357\1\0\2\357\2\0\2\357\1\0\4\357\23\0"+
- "\1\357\27\0\1\231\4\0\1\231\11\0\1\231\22\0"+
- "\1\231\3\0\1\231\13\0\1\360\2\0\1\360\10\0"+
- "\1\231\22\0\4\360\35\0\1\231\26\0\1\231\26\0"+
- "\2\231\23\0\1\256\1\231\40\0\1\256\13\0\1\360"+
- "\65\0\1\256\11\0\1\360\15\0\4\231\2\0\2\231"+
- "\14\0\3\231\1\360\1\0\2\360\11\0\3\231\3\0"+
- "\1\231\1\0\1\360\4\0\1\360\2\231\1\0\4\256"+
- "\1\0\2\231\5\0\4\360\2\0\1\231\1\360\12\0"+
- "\1\360\7\0\1\231\30\0\1\231\4\0\1\231\6\0"+
- "\1\231\3\0\1\231\6\0\1\231\5\0\1\231\2\0"+
- "\2\231\1\0\17\231\2\0\1\231\13\0\7\231\2\0"+
- "\1\231\1\0\1\231\1\0\2\231\2\0\1\231\1\0"+
- "\3\231\2\0\1\231\1\0\1\231\1\0\1\231\1\0"+
- "\1\231\4\0\1\360\1\0\2\231\6\0\1\231\7\0"+
- "\1\231\1\0\1\231\33\0\1\231\6\0\1\231\3\0"+
- "\1\231\3\0\1\231\7\0\1\231\31\0\20\231\5\0"+
- "\3\231\4\0\1\231\6\0\1\231\3\0\2\231\2\0"+
- "\2\231\4\0\1\231\4\360\1\0\1\231\2\0\1\231"+
- "\4\0\1\231\1\0\1\231\1\0\1\231\134\0\2\360"+
- "\25\0\4\360\55\0\1\360\15\0\2\360\10\0\2\360"+
- "\1\0\1\360\1\0\1\360\11\0\1\360\11\0\2\360"+
- "\6\0\1\360\2\0\4\360\3\0\1\360\2\0\2\360"+
- "\1\0\3\360\1\0\2\360\1\0\1\360\10\0\1\360"+
- "\1\0\2\360\2\0\2\360\1\0\4\360\23\0\1\360"+
- "\27\0\1\231\4\0\1\231\11\0\1\231\22\0\1\231"+
- "\3\0\1\231\13\0\1\u011f\2\0\1\u011f\10\0\1\231"+
- "\22\0\4\u011f\35\0\1\231\26\0\1\231\26\0\2\231"+
- "\23\0\1\232\1\231\40\0\1\232\13\0\1\u011f\65\0"+
- "\1\232\11\0\1\u011f\15\0\4\231\2\0\2\231\14\0"+
- "\3\231\1\u011f\1\0\2\u011f\11\0\3\231\3\0\1\231"+
- "\1\0\1\u011f\4\0\1\u011f\2\231\1\0\4\232\1\0"+
- "\2\231\5\0\4\u011f\2\0\1\231\1\u011f\12\0\1\u011f"+
- "\7\0\1\231\30\0\1\231\4\0\1\231\6\0\1\231"+
- "\3\0\1\231\6\0\1\231\5\0\1\231\2\0\2\231"+
- "\1\0\17\231\2\0\1\231\13\0\7\231\2\0\1\231"+
- "\1\0\1\231\1\0\2\231\2\0\1\231\1\0\3\231"+
- "\2\0\1\231\1\0\1\231\1\0\1\231\1\0\1\231"+
- "\4\0\1\u011f\1\0\2\231\6\0\1\231\7\0\1\231"+
- "\1\0\1\231\33\0\1\231\6\0\1\231\3\0\1\231"+
- "\3\0\1\231\7\0\1\231\31\0\20\231\5\0\3\231"+
- "\4\0\1\231\6\0\1\231\3\0\2\231\2\0\2\231"+
- "\4\0\1\231\4\u011f\1\0\1\231\2\0\1\231\4\0"+
- "\1\231\1\0\1\231\1\0\1\231\134\0\2\u011f\25\0"+
- "\4\u011f\55\0\1\u011f\15\0\2\u011f\10\0\2\u011f\1\0"+
- "\1\u011f\1\0\1\u011f\11\0\1\u011f\11\0\2\u011f\6\0"+
- "\1\u011f\2\0\4\u011f\3\0\1\u011f\2\0\2\u011f\1\0"+
- "\3\u011f\1\0\2\u011f\1\0\1\u011f\10\0\1\u011f\1\0"+
- "\2\u011f\2\0\2\u011f\1\0\4\u011f\23\0\1\u011f\20\0";
+ "\2\63\2\0\2\63\1\0\4\63\23\0\1\63\27\0"+
+ "\1\30\4\0\1\30\11\0\1\30\22\0\1\30\3\0"+
+ "\1\30\13\0\1\64\2\0\1\64\10\0\1\30\22\0"+
+ "\4\64\35\0\1\30\26\0\1\30\26\0\2\30\23\0"+
+ "\1\62\1\30\40\0\1\62\13\0\1\64\65\0\1\62"+
+ "\11\0\1\64\15\0\4\30\2\0\2\30\14\0\3\30"+
+ "\1\64\1\0\2\64\11\0\3\30\3\0\1\30\1\0"+
+ "\1\64\4\0\1\64\2\30\1\0\4\62\1\0\2\30"+
+ "\5\0\4\64\2\0\1\30\1\64\12\0\1\64\7\0"+
+ "\1\30\30\0\1\30\4\0\1\30\6\0\1\30\3\0"+
+ "\1\30\6\0\1\30\5\0\1\30\2\0\2\30\1\0"+
+ "\17\30\2\0\1\30\13\0\7\30\2\0\1\30\1\0"+
+ "\1\30\1\0\2\30\2\0\1\30\1\0\3\30\2\0"+
+ "\1\30\1\0\1\30\1\0\1\30\1\0\1\30\4\0"+
+ "\1\64\1\0\2\30\6\0\1\30\7\0\1\30\1\0"+
+ "\1\30\33\0\1\30\6\0\1\30\3\0\1\30\3\0"+
+ "\1\30\7\0\1\30\31\0\20\30\5\0\3\30\4\0"+
+ "\1\30\6\0\1\30\3\0\2\30\2\0\2\30\4\0"+
+ "\1\30\4\64\1\0\1\30\2\0\1\30\4\0\1\30"+
+ "\1\0\1\30\1\0\1\30\134\0\2\64\25\0\4\64"+
+ "\55\0\1\64\15\0\2\64\10\0\2\64\1\0\1\64"+
+ "\1\0\1\64\11\0\1\64\11\0\2\64\6\0\1\64"+
+ "\2\0\4\64\3\0\1\64\2\0\2\64\1\0\3\64"+
+ "\1\0\2\64\1\0\1\64\10\0\1\64\1\0\2\64"+
+ "\2\0\2\64\1\0\4\64\23\0\1\64\111\0\1\76"+
+ "\2\0\1\76\33\0\4\76\102\0\1\31\104\0\1\31"+
+ "\146\0\1\31\41\0\1\31\13\0\1\76\65\0\1\31"+
+ "\11\0\1\76\44\0\1\76\1\0\2\76\21\0\1\76"+
+ "\4\0\1\76\3\0\4\31\10\0\4\76\3\0\1\76"+
+ "\12\0\1\76\164\0\2\31\233\0\1\76\222\0\4\76"+
+ "\152\0\2\76\25\0\4\76\55\0\1\76\15\0\2\76"+
+ "\10\0\2\76\1\0\1\76\1\0\1\76\11\0\1\76"+
+ "\11\0\2\76\6\0\1\76\2\0\4\76\3\0\1\76"+
+ "\2\0\2\76\1\0\3\76\1\0\2\76\1\0\1\76"+
+ "\10\0\1\76\1\0\2\76\2\0\2\76\1\0\4\76"+
+ "\23\0\1\76\27\0\1\30\4\0\1\30\11\0\1\30"+
+ "\22\0\1\30\3\0\1\30\13\0\1\77\2\0\1\77"+
+ "\10\0\1\30\22\0\4\77\35\0\1\30\26\0\1\30"+
+ "\26\0\2\30\23\0\1\31\1\30\40\0\1\31\13\0"+
+ "\1\77\65\0\1\31\11\0\1\77\15\0\4\30\2\0"+
+ "\2\30\14\0\3\30\1\77\1\0\2\77\11\0\3\30"+
+ "\3\0\1\30\1\0\1\77\4\0\1\77\2\30\1\0"+
+ "\4\31\1\0\2\30\5\0\4\77\2\0\1\30\1\77"+
+ "\12\0\1\77\7\0\1\30\30\0\1\30\4\0\1\30"+
+ "\6\0\1\30\3\0\1\30\6\0\1\30\5\0\1\30"+
+ "\2\0\2\30\1\0\17\30\2\0\1\30\13\0\7\30"+
+ "\2\0\1\30\1\0\1\30\1\0\2\30\2\0\1\30"+
+ "\1\0\3\30\2\0\1\30\1\0\1\30\1\0\1\30"+
+ "\1\0\1\30\4\0\1\77\1\0\2\30\6\0\1\30"+
+ "\7\0\1\30\1\0\1\30\33\0\1\30\6\0\1\30"+
+ "\3\0\1\30\3\0\1\30\7\0\1\30\31\0\20\30"+
+ "\5\0\3\30\4\0\1\30\6\0\1\30\3\0\2\30"+
+ "\2\0\2\30\4\0\1\30\4\77\1\0\1\30\2\0"+
+ "\1\30\4\0\1\30\1\0\1\30\1\0\1\30\134\0"+
+ "\2\77\25\0\4\77\55\0\1\77\15\0\2\77\10\0"+
+ "\2\77\1\0\1\77\1\0\1\77\11\0\1\77\11\0"+
+ "\2\77\6\0\1\77\2\0\4\77\3\0\1\77\2\0"+
+ "\2\77\1\0\3\77\1\0\2\77\1\0\1\77\10\0"+
+ "\1\77\1\0\2\77\2\0\2\77\1\0\4\77\23\0"+
+ "\1\77\111\0\1\121\2\0\1\121\33\0\4\121\216\0"+
+ "\1\121\77\0\1\121\44\0\1\121\1\0\2\121\21\0"+
+ "\1\121\4\0\1\121\17\0\4\121\3\0\1\121\12\0"+
+ "\1\121\203\0\1\121\222\0\4\121\152\0\2\121\25\0"+
+ "\4\121\55\0\1\121\15\0\2\121\10\0\2\121\1\0"+
+ "\1\121\1\0\1\121\11\0\1\121\11\0\2\121\6\0"+
+ "\1\121\2\0\4\121\3\0\1\121\2\0\2\121\1\0"+
+ "\3\121\1\0\2\121\1\0\1\121\10\0\1\121\1\0"+
+ "\2\121\2\0\2\121\1\0\4\121\23\0\1\121\27\0"+
+ "\1\30\4\0\1\30\11\0\1\30\22\0\1\30\3\0"+
+ "\1\30\13\0\1\147\2\0\1\147\10\0\1\30\22\0"+
+ "\4\147\35\0\1\30\26\0\1\30\26\0\2\30\23\0"+
+ "\1\62\1\30\40\0\1\62\13\0\1\147\65\0\1\62"+
+ "\11\0\1\147\15\0\4\30\2\0\2\30\14\0\3\30"+
+ "\1\147\1\0\2\147\11\0\3\30\3\0\1\30\1\0"+
+ "\1\147\4\0\1\147\2\30\1\0\4\62\1\0\2\30"+
+ "\5\0\4\147\2\0\1\30\1\147\12\0\1\147\7\0"+
+ "\1\30\30\0\1\30\4\0\1\30\6\0\1\30\3\0"+
+ "\1\30\6\0\1\30\5\0\1\30\2\0\2\30\1\0"+
+ "\17\30\2\0\1\30\13\0\7\30\2\0\1\30\1\0"+
+ "\1\30\1\0\2\30\2\0\1\30\1\0\3\30\2\0"+
+ "\1\30\1\0\1\30\1\0\1\30\1\0\1\30\4\0"+
+ "\1\147\1\0\2\30\6\0\1\30\7\0\1\30\1\0"+
+ "\1\30\33\0\1\30\6\0\1\30\3\0\1\30\3\0"+
+ "\1\30\7\0\1\30\31\0\20\30\5\0\3\30\4\0"+
+ "\1\30\6\0\1\30\3\0\2\30\2\0\2\30\4\0"+
+ "\1\30\4\147\1\0\1\30\2\0\1\30\4\0\1\30"+
+ "\1\0\1\30\1\0\1\30\134\0\2\147\25\0\4\147"+
+ "\55\0\1\147\15\0\2\147\10\0\2\147\1\0\1\147"+
+ "\1\0\1\147\11\0\1\147\11\0\2\147\6\0\1\147"+
+ "\2\0\4\147\3\0\1\147\2\0\2\147\1\0\3\147"+
+ "\1\0\2\147\1\0\1\147\10\0\1\147\1\0\2\147"+
+ "\2\0\2\147\1\0\4\147\23\0\1\147\111\0\1\150"+
+ "\2\0\1\150\33\0\4\150\216\0\1\150\77\0\1\150"+
+ "\44\0\1\150\1\0\2\150\21\0\1\150\4\0\1\150"+
+ "\17\0\4\150\3\0\1\150\12\0\1\150\203\0\1\150"+
+ "\222\0\4\150\152\0\2\150\25\0\4\150\55\0\1\150"+
+ "\15\0\2\150\10\0\2\150\1\0\1\150\1\0\1\150"+
+ "\11\0\1\150\11\0\2\150\6\0\1\150\2\0\4\150"+
+ "\3\0\1\150\2\0\2\150\1\0\3\150\1\0\2\150"+
+ "\1\0\1\150\10\0\1\150\1\0\2\150\2\0\2\150"+
+ "\1\0\4\150\23\0\1\150\26\0\1\277\21\0\1\300"+
+ "\2\0\1\301\10\0\1\302\22\0\1\303\21\0\1\304"+
+ "\2\0\1\305\55\0\1\167\4\0\1\265\7\0\1\265"+
+ "\77\0\1\177\2\0\1\177\33\0\4\177\102\0\1\62"+
+ "\104\0\1\62\146\0\1\62\41\0\1\62\13\0\1\177"+
+ "\65\0\1\62\11\0\1\177\44\0\1\177\1\0\2\177"+
+ "\21\0\1\177\4\0\1\177\3\0\4\62\10\0\4\177"+
+ "\3\0\1\177\12\0\1\177\164\0\2\62\233\0\1\177"+
+ "\222\0\4\177\152\0\2\177\25\0\4\177\55\0\1\177"+
+ "\15\0\2\177\10\0\2\177\1\0\1\177\1\0\1\177"+
+ "\11\0\1\177\11\0\2\177\6\0\1\177\2\0\4\177"+
+ "\3\0\1\177\2\0\2\177\1\0\3\177\1\0\2\177"+
+ "\1\0\1\177\10\0\1\177\1\0\2\177\2\0\2\177"+
+ "\1\0\4\177\23\0\1\177\111\0\1\265\2\0\1\265"+
+ "\33\0\4\265\216\0\1\265\77\0\1\265\44\0\1\265"+
+ "\1\0\2\265\21\0\1\265\4\0\1\265\17\0\4\265"+
+ "\3\0\1\265\12\0\1\265\203\0\1\265\222\0\4\265"+
+ "\152\0\2\265\25\0\4\265\55\0\1\265\15\0\2\265"+
+ "\10\0\2\265\1\0\1\265\1\0\1\265\11\0\1\265"+
+ "\11\0\2\265\6\0\1\265\2\0\4\265\3\0\1\265"+
+ "\2\0\2\265\1\0\3\265\1\0\2\265\1\0\1\265"+
+ "\10\0\1\265\1\0\2\265\2\0\2\265\1\0\4\265"+
+ "\23\0\1\265\20\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[42600];
+ int [] result = new int[26554];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -1235,12 +852,10 @@ public final class StandardTokenizerImpl
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\1\11\36\1\21\0\1\1\1\0\1\1\12\0"+
- "\1\1\21\0\1\1\25\0\1\1\61\0\3\1\22\0"+
- "\1\1\25\0\1\1\21\0\1\1\10\0\1\1\20\0"+
- "\1\1\56\0\1\1\27\0";
+ "\1\1\21\0\1\1\25\0\1\1\115\0\1\1\20\0";
private static int [] zzUnpackAttribute() {
- int [] result = new int[310];
+ int [] result = new int[197];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
Modified: lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex (original)
+++ lucene/dev/branches/solr4470/lucene/analysis/common/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex Thu Feb 20 08:57:51 2014
@@ -163,10 +163,10 @@ RegionalIndicatorEx = {RegionalIndicator
| {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} ) {HebrewOrALetterEx} )*
)+
)
-({ExtendNumLetEx}+ ( {KatakanaEx} ( {ExtendNumLetEx}* {KatakanaEx} )*
- | ( {HebrewLetterEx} ( {SingleQuoteEx} | {DoubleQuoteEx} {HebrewLetterEx} )
- | {NumericEx} ( ( {ExtendNumLetEx}* | {MidNumericEx} )* {NumericEx} )*
- | {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} )* {HebrewOrALetterEx} )*
+({ExtendNumLetEx}+ ( {KatakanaEx} ( {ExtendNumLetEx}* {KatakanaEx} )*
+ | ( {HebrewLetterEx} ( {SingleQuoteEx} | {DoubleQuoteEx} {HebrewLetterEx} )
+ | {NumericEx} ( ( {ExtendNumLetEx}* | {MidNumericEx} ) {NumericEx} )*
+ | {HebrewOrALetterEx} ( ( {ExtendNumLetEx}* | {MidLetterEx} ) {HebrewOrALetterEx} )*
)+
)
)*
Modified: lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStandardAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStandardAnalyzer.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStandardAnalyzer.java (original)
+++ lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStandardAnalyzer.java Thu Feb 20 08:57:51 2014
@@ -257,6 +257,25 @@ public class TestStandardAnalyzer extend
// Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" });
+
+ // '_' is in \p{WB:ExtendNumLet}
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A:B", new String[] { "A:B_A:B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A::B", new String[] { "A:B_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1.2", new String[] { "1.2_1.2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A.B", new String[] { "A.B_A.B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1..2", new String[] { "1.2_1", "2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A..B", new String[] { "A.B_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,2", new String[] { "1,2_1,2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,,2", new String[] { "1,2_1", "2" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A.:B", new String[] { "C_A", "B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A:.B", new String[] { "C_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1,.2", new String[] { "3_1", "2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1.,2", new String[] { "3_1", "2" });
}
Modified: lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java (original)
+++ lucene/dev/branches/solr4470/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java Thu Feb 20 08:57:51 2014
@@ -480,6 +480,25 @@ public class TestUAX29URLEmailTokenizer
// Mixed consecutive \p{WB:MidNum} and \p{WB:MidNumLet} should trigger a split
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,.2", new String[] { "1", "2" });
BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.,2", new String[] { "1", "2" });
+
+ // '_' is in \p{WB:ExtendNumLet}
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A:B", new String[] { "A:B_A:B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A:B_A::B", new String[] { "A:B_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1.2", new String[] { "1.2_1.2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A.B", new String[] { "A.B_A.B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1.2_1..2", new String[] { "1.2_1", "2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "A.B_A..B", new String[] { "A.B_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,2", new String[] { "1,2_1,2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "1,2_1,,2", new String[] { "1,2_1", "2" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A.:B", new String[] { "C_A", "B" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "C_A:.B", new String[] { "C_A", "B" });
+
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1,.2", new String[] { "3_1", "2" });
+ BaseTokenStreamTestCase.assertAnalyzesTo(a, "3_1.,2", new String[] { "3_1", "2" });
}
Modified: lucene/dev/branches/solr4470/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java (original)
+++ lucene/dev/branches/solr4470/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java Thu Feb 20 08:57:51 2014
@@ -29,6 +29,7 @@ import org.apache.lucene.index.CorruptIn
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.index.RandomAccessOrds;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SortedDocValues;
import org.apache.lucene.index.SortedSetDocValues;
@@ -350,7 +351,8 @@ class DirectDocValuesProducer extends Do
final BinaryDocValues values = instance.values;
// Must make a new instance since the iterator has state:
- return new SortedSetDocValues() {
+ return new RandomAccessOrds() {
+ int ordStart;
int ordUpto;
int ordLimit;
@@ -365,7 +367,7 @@ class DirectDocValuesProducer extends Do
@Override
public void setDocument(int docID) {
- ordUpto = (int) docToOrdAddress.get(docID);
+ ordStart = ordUpto = (int) docToOrdAddress.get(docID);
ordLimit = (int) docToOrdAddress.get(docID+1);
}
@@ -379,6 +381,16 @@ class DirectDocValuesProducer extends Do
return entry.values.count;
}
+ @Override
+ public long ordAt(int index) {
+ return ords.get(ordStart + index);
+ }
+
+ @Override
+ public int cardinality() {
+ return ordLimit - ordStart;
+ }
+
// Leave lookupTerm to super's binary search
// Leave termsEnum to super
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java Thu Feb 20 08:57:51 2014
@@ -43,6 +43,7 @@ import org.apache.lucene.index.FieldInfo
import org.apache.lucene.index.FieldInfos;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.index.RandomAccessOrds;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SingletonSortedSetDocValues;
import org.apache.lucene.index.SortedDocValues;
@@ -523,7 +524,8 @@ public class Lucene45DocValuesProducer e
// but the addresses to the ord stream are in RAM
final MonotonicBlockPackedReader ordIndex = getOrdIndexInstance(data, field, ordIndexes.get(field.number));
- return new SortedSetDocValues() {
+ return new RandomAccessOrds() {
+ long startOffset;
long offset;
long endOffset;
@@ -540,7 +542,7 @@ public class Lucene45DocValuesProducer e
@Override
public void setDocument(int docID) {
- offset = (docID == 0 ? 0 : ordIndex.get(docID-1));
+ startOffset = offset = (docID == 0 ? 0 : ordIndex.get(docID-1));
endOffset = ordIndex.get(docID);
}
@@ -571,6 +573,16 @@ public class Lucene45DocValuesProducer e
return super.termsEnum();
}
}
+
+ @Override
+ public long ordAt(int index) {
+ return ordinals.get(startOffset + index);
+ }
+
+ @Override
+ public int cardinality() {
+ return (int) (endOffset - startOffset);
+ }
};
}
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java Thu Feb 20 08:57:51 2014
@@ -1401,25 +1401,43 @@ public class CheckIndex {
if (docsWithField.get(i)) {
int ordCount = 0;
while ((ord = dv.nextOrd()) != SortedSetDocValues.NO_MORE_ORDS) {
- ordCount++;
if (ord <= lastOrd) {
throw new RuntimeException("ords out of order: " + ord + " <= " + lastOrd + " for doc: " + i);
}
if (ord < 0 || ord > maxOrd) {
throw new RuntimeException("ord out of bounds: " + ord);
}
+ if (dv instanceof RandomAccessOrds) {
+ long ord2 = ((RandomAccessOrds)dv).ordAt(ordCount);
+ if (ord != ord2) {
+ throw new RuntimeException("ordAt(" + ordCount + ") inconsistent, expected=" + ord + ",got=" + ord2 + " for doc: " + i);
+ }
+ }
lastOrd = ord;
maxOrd2 = Math.max(maxOrd2, ord);
seenOrds.set(ord);
+ ordCount++;
}
if (ordCount == 0) {
throw new RuntimeException("dv for field: " + fieldName + " has no ordinals but is not marked missing for doc: " + i);
}
+ if (dv instanceof RandomAccessOrds) {
+ long ordCount2 = ((RandomAccessOrds)dv).cardinality();
+ if (ordCount != ordCount2) {
+ throw new RuntimeException("cardinality inconsistent, expected=" + ordCount + ",got=" + ordCount2 + " for doc: " + i);
+ }
+ }
} else {
long o = dv.nextOrd();
if (o != SortedSetDocValues.NO_MORE_ORDS) {
throw new RuntimeException("dv for field: " + fieldName + " is marked missing but has ord=" + o + " for doc: " + i);
}
+ if (dv instanceof RandomAccessOrds) {
+ long ordCount2 = ((RandomAccessOrds)dv).cardinality();
+ if (ordCount2 != 0) {
+ throw new RuntimeException("dv for field: " + fieldName + " is marked missing but has cardinality " + ordCount2 + " for doc: " + i);
+ }
+ }
}
}
if (maxOrd != maxOrd2) {
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValues.java Thu Feb 20 08:57:51 2014
@@ -69,7 +69,7 @@ public abstract class SortedSetDocValues
/** An empty SortedDocValues which returns {@link #NO_MORE_ORDS} for every document */
- public static final SortedSetDocValues EMPTY = new SortedSetDocValues() {
+ public static final SortedSetDocValues EMPTY = new RandomAccessOrds() {
@Override
public long nextOrd() {
@@ -88,6 +88,16 @@ public abstract class SortedSetDocValues
public long getValueCount() {
return 0;
}
+
+ @Override
+ public long ordAt(int index) {
+ throw new IndexOutOfBoundsException();
+ }
+
+ @Override
+ public int cardinality() {
+ return 0;
+ }
};
/** If {@code key} exists, returns its ordinal, else
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/FieldComparator.java Thu Feb 20 08:57:51 2014
@@ -717,7 +717,7 @@ public abstract class FieldComparator<T>
* to large results, this comparator will be much faster
* than {@link org.apache.lucene.search.FieldComparator.TermValComparator}. For very small
* result sets it may be slower. */
- public static final class TermOrdValComparator extends FieldComparator<BytesRef> {
+ public static class TermOrdValComparator extends FieldComparator<BytesRef> {
/* Ords for each slot.
@lucene.internal */
final int[] ords;
@@ -767,8 +767,6 @@ public abstract class FieldComparator<T>
boolean topSameReader;
int topOrd;
- private int docBase;
-
final BytesRef tempBR = new BytesRef();
/** -1 if missing values are sorted first, 1 if they are
@@ -856,10 +854,14 @@ public abstract class FieldComparator<T>
readerGen[slot] = currentReaderGen;
}
+ /** Retrieves the SortedDocValues for the field in this segment */
+ protected SortedDocValues getSortedDocValues(AtomicReaderContext context, String field) throws IOException {
+ return FieldCache.DEFAULT.getTermsIndex(context.reader(), field);
+ }
+
@Override
public FieldComparator<BytesRef> setNextReader(AtomicReaderContext context) throws IOException {
- docBase = context.docBase;
- termsIndex = FieldCache.DEFAULT.getTermsIndex(context.reader(), field);
+ termsIndex = getSortedDocValues(context, field);
currentReaderGen++;
if (topValue != null) {
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/SortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/SortField.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/SortField.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/search/SortField.java Thu Feb 20 08:57:51 2014
@@ -23,10 +23,6 @@ import java.util.Comparator;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.StringHelper;
-// TODO(simonw) -- for cleaner transition, maybe we should make
-// a new SortField that subclasses this one and always uses
-// index values?
-
/**
* Stores information about how to sort documents by terms in an individual
* field. Fields must be indexed in order to sort by them.
@@ -106,9 +102,6 @@ public class SortField {
// Used for 'sortMissingFirst/Last'
public Object missingValue = null;
- // Only used with type=STRING
- public boolean sortMissingLast;
-
/** Creates a sort by terms in the given field with the type of term
* values explicitly given.
* @param field Name of field to sort by. Can be <code>null</code> if
Modified: lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java (original)
+++ lucene/dev/branches/solr4470/lucene/core/src/java/org/apache/lucene/util/SloppyMath.java Thu Feb 20 08:57:51 2014
@@ -48,11 +48,10 @@ public class SloppyMath {
double h2 = 1 - cos((lon1 - lon2) * TO_RADIANS);
double h = (h1 + cos(x1) * cos(x2) * h2) / 2;
- double avgLat = Math.abs((x1 + x2) / 2d);
- int index = (int)(avgLat * RADIUS_INDEXER + 0.5) % earthDiameterPerLatitude.length;
- double radius = earthDiameterPerLatitude[index];
+ double avgLat = (x1 + x2) / 2d;
+ double diameter = earthDiameter(avgLat);
- return radius * asin(Math.min(1, Math.sqrt(h)));
+ return diameter * asin(Math.min(1, Math.sqrt(h)));
}
@@ -137,7 +136,13 @@ public class SloppyMath {
}
}
}
-
+
+ /** Return an approximate value of the diameter of the earth at the given latitude, in kilometers. */
+ public static double earthDiameter(double latitude) {
+ final int index = (int)(Math.abs(latitude) * RADIUS_INDEXER + 0.5) % earthDiameterPerLatitude.length;
+ return earthDiameterPerLatitude[index];
+ }
+
// haversin
private static final double TO_RADIANS = Math.PI / 180D;
Modified: lucene/dev/branches/solr4470/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java (original)
+++ lucene/dev/branches/solr4470/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java Thu Feb 20 08:57:51 2014
@@ -456,31 +456,31 @@ public class PostingsHighlighter {
private Map<Integer,Object> highlightField(String field, String contents[], BreakIterator bi, BytesRef terms[], int[] docids, List<AtomicReaderContext> leaves, int maxPassages, Query query) throws IOException {
Map<Integer,Object> highlights = new HashMap<Integer,Object>();
- // reuse in the real sense... for docs in same segment we just advance our old enum
- DocsAndPositionsEnum postings[] = null;
- TermsEnum termsEnum = null;
- int lastLeaf = -1;
-
PassageFormatter fieldFormatter = getFormatter(field);
if (fieldFormatter == null) {
throw new NullPointerException("PassageFormatter cannot be null");
}
- // check if we should do any multitermprocessing
+ // check if we should do any multiterm processing
Analyzer analyzer = getIndexAnalyzer(field);
CharacterRunAutomaton automata[] = new CharacterRunAutomaton[0];
if (analyzer != null) {
automata = MultiTermHighlighting.extractAutomata(query, field);
}
- final BytesRef allTerms[];
+ // resize 'terms', where the last term is the multiterm matcher
if (automata.length > 0) {
- allTerms = new BytesRef[terms.length + 1];
- System.arraycopy(terms, 0, allTerms, 0, terms.length);
- } else {
- allTerms = terms;
+ BytesRef newTerms[] = new BytesRef[terms.length + 1];
+ System.arraycopy(terms, 0, newTerms, 0, terms.length);
+ terms = newTerms;
}
+ // we are processing in increasing docid order, so we only need to reinitialize stuff on segment changes
+ // otherwise, we will just advance() existing enums to the new document in the same segment.
+ DocsAndPositionsEnum postings[] = null;
+ TermsEnum termsEnum = null;
+ int lastLeaf = -1;
+
for (int i = 0; i < docids.length; i++) {
String content = contents[i];
if (content.length() == 0) {
@@ -491,28 +491,39 @@ public class PostingsHighlighter {
int leaf = ReaderUtil.subIndex(doc, leaves);
AtomicReaderContext subContext = leaves.get(leaf);
AtomicReader r = subContext.reader();
- Terms t = r.terms(field);
- if (t == null) {
- continue; // nothing to do
- }
+
+ assert leaf >= lastLeaf; // increasing order
+
+ // if the segment has changed, we must initialize new enums.
if (leaf != lastLeaf) {
- termsEnum = t.iterator(null);
- postings = new DocsAndPositionsEnum[allTerms.length];
+ Terms t = r.terms(field);
+ if (t != null) {
+ termsEnum = t.iterator(null);
+ postings = new DocsAndPositionsEnum[terms.length];
+ }
+ }
+ if (termsEnum == null) {
+ continue; // no terms for this field, nothing to do
}
+
+ // if there are multi-term matches, we have to initialize the "fake" enum for each document
if (automata.length > 0) {
DocsAndPositionsEnum dp = MultiTermHighlighting.getDocsEnum(analyzer.tokenStream(field, content), automata);
dp.advance(doc - subContext.docBase);
- postings[terms.length] = dp;
+ postings[terms.length-1] = dp; // last term is the multiterm matcher
}
- Passage passages[] = highlightDoc(field, allTerms, content.length(), bi, doc - subContext.docBase, termsEnum, postings, maxPassages);
+
+ Passage passages[] = highlightDoc(field, terms, content.length(), bi, doc - subContext.docBase, termsEnum, postings, maxPassages);
+
if (passages.length == 0) {
+ // no passages were returned, so ask for a default summary
passages = getEmptyHighlight(field, bi, maxPassages);
}
+
if (passages.length > 0) {
- // otherwise a null snippet (eg if field is missing
- // entirely from the doc)
highlights.put(doc, fieldFormatter.format(passages, content));
}
+
lastLeaf = leaf;
}
Modified: lucene/dev/branches/solr4470/lucene/ivy-versions.properties
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/lucene/ivy-versions.properties?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/lucene/ivy-versions.properties (original)
+++ lucene/dev/branches/solr4470/lucene/ivy-versions.properties Thu Feb 20 08:57:51 2014
@@ -21,7 +21,7 @@ com.codahale.metrics.version = 3.0.1
/com.cybozu.labs/langdetect = 1.1-20120112
/com.drewnoakes/metadata-extractor = 2.6.2
-com.fasterxml.jackson.core.version = 2.2.3
+com.fasterxml.jackson.core.version = 2.3.1
/com.fasterxml.jackson.core/jackson-annotations = ${com.fasterxml.jackson.core.version}
/com.fasterxml.jackson.core/jackson-core = ${com.fasterxml.jackson.core.version}
/com.fasterxml.jackson.core/jackson-databind = ${com.fasterxml.jackson.core.version}
@@ -77,8 +77,8 @@ com.sun.jersey.version = 1.8
/mecab/mecab-ipadic = 2.7.0-20070801
/mecab/mecab-naist-jdic = 0.6.3b-20111013
/net.arnx/jsonic = 1.2.7
-/net.sf.saxon/Saxon-HE = 9.5.1-3
-/net.sourceforge.argparse4j/argparse4j = 0.4.0
+/net.sf.saxon/Saxon-HE = 9.5.1-4
+/net.sourceforge.argparse4j/argparse4j = 0.4.3
/net.sourceforge.nekohtml/nekohtml = 1.9.17
/org.antlr/antlr-runtime = 3.5
/org.apache.ant/ant = 1.8.2
@@ -191,7 +191,7 @@ org.gagravarr.vorbis.java.version = 0.1
/org.gagravarr/vorbis-java-core = ${org.gagravarr.vorbis.java.version}
/org.gagravarr/vorbis-java-tika = ${org.gagravarr.vorbis.java.version}
-org.kitesdk.kite-morphlines.version = 0.10.0
+org.kitesdk.kite-morphlines.version = 0.11.0
/org.kitesdk/kite-morphlines-avro = ${org.kitesdk.kite-morphlines.version}
/org.kitesdk/kite-morphlines-core = ${org.kitesdk.kite-morphlines.version}
/org.kitesdk/kite-morphlines-hadoop-sequencefile = ${org.kitesdk.kite-morphlines.version}
Modified: lucene/dev/branches/solr4470/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/solr/CHANGES.txt?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/solr/CHANGES.txt (original)
+++ lucene/dev/branches/solr4470/solr/CHANGES.txt Thu Feb 20 08:57:51 2014
@@ -56,6 +56,27 @@ Other Changes
* SOLR-4792: Stop shipping a .war. (Robert Muir)
+================== 4.8.0 ==================
+
+Versions of Major Components
+---------------------
+Apache Tika 1.4
+Carrot2 3.8.0
+Velocity 1.7 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.4.5
+
+
+Detailed Change List
+----------------------
+
+New Features
+----------------------
+
+Bug Fixes
+----------------------
+
+
================== 4.7.0 ==================
Versions of Major Components
Modified: lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java?rev=1570113&r1=1570112&r2=1570113&view=diff
==============================================================================
--- lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java (original)
+++ lucene/dev/branches/solr4470/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java Thu Feb 20 08:57:51 2014
@@ -18,7 +18,6 @@ package org.apache.solr.morphlines.cell;
import java.io.IOException;
import java.io.InputStream;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -45,15 +44,12 @@ import org.apache.tika.metadata.Metadata
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.TeeContentHandler;
import org.apache.tika.sax.XHTMLContentHandler;
import org.apache.tika.sax.xpath.Matcher;
import org.apache.tika.sax.xpath.MatchingContentHandler;
import org.apache.tika.sax.xpath.XPathParser;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
import org.kitesdk.morphline.api.Command;
import org.kitesdk.morphline.api.CommandBuilder;
@@ -64,6 +60,9 @@ import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Configs;
import org.kitesdk.morphline.base.Fields;
import org.kitesdk.morphline.stdio.AbstractParser;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.ArrayListMultimap;
@@ -102,6 +101,7 @@ public final class SolrCellBuilder imple
private final String xpathExpr;
private final List<Parser> parsers = new ArrayList();
private final SolrContentHandlerFactory solrContentHandlerFactory;
+ private final Locale locale;
private final SolrParams solrParams;
private final Map<MediaType, Parser> mediaTypeToParserMap;
@@ -163,6 +163,8 @@ public final class SolrCellBuilder imple
}
this.solrContentHandlerFactory = getSolrContentHandlerFactory(factoryClass, dateFormats, config);
+ this.locale = getLocale(getConfigs().getString(config, "locale", ""));
+
this.mediaTypeToParserMap = new HashMap<MediaType, Parser>();
//MimeTypes mimeTypes = MimeTypes.getDefaultMimeTypes(); // FIXME getMediaTypeRegistry.normalize()
@@ -222,6 +224,7 @@ public final class SolrCellBuilder imple
}
ParseContext parseContext = new ParseContext();
+ parseContext.set(Locale.class, locale);
Metadata metadata = new Metadata();
for (Entry<String, Object> entry : record.getFields().entries()) {
@@ -233,12 +236,6 @@ public final class SolrCellBuilder imple
inputStream = TikaInputStream.get(inputStream);
ContentHandler parsingHandler = handler;
- StringWriter debugWriter = null;
- if (LOG.isTraceEnabled()) {
- debugWriter = new StringWriter();
- ContentHandler serializer = new XMLSerializer(debugWriter, new OutputFormat("XML", "UTF-8", true));
- parsingHandler = new TeeContentHandler(parsingHandler, serializer);
- }
// String xpathExpr = "/xhtml:html/xhtml:body/xhtml:div/descendant:node()";
if (xpathExpr != null) {
@@ -255,8 +252,6 @@ public final class SolrCellBuilder imple
} catch (TikaException e) {
throw new MorphlineRuntimeException("Cannot parse", e);
}
-
- LOG.trace("debug XML doc: {}", debugWriter);
} finally {
if (inputStream != null) {
Closeables.closeQuietly(inputStream);
@@ -336,6 +331,18 @@ public final class SolrCellBuilder imple
return record;
}
+ private Locale getLocale(String name) {
+ for (Locale locale : Locale.getAvailableLocales()) {
+ if (locale.toString().equals(name)) {
+ return locale;
+ }
+ }
+ assert Locale.ROOT.toString().equals("");
+ if (name.equals(Locale.ROOT.toString())) {
+ return Locale.ROOT;
+ }
+ throw new MorphlineCompilationException("Unknown locale: " + name, getConfig());
+ }
}
}