From d79fcf2b58ecd087984c943910cbb9f2e627beea Mon Sep 17 00:00:00 2001 From: Arseny Kositsin Date: Wed, 19 Feb 2025 15:18:25 +0300 Subject: [PATCH 01/11] [PGPRO-12159] Added pageinspect functions for rum. This commit adds three functions for low-level exploration of the index's rum pages: 1) rum_metapage_info() -- is used to examine the information posted on the meta page (flags: {meta}). 2) rum_page_opaque_info() -- is used to examine information that is placed in the opaque area of the index page (any index page). 3) rum_leaf_data_page_items() -- is used to examine the information that is placed on the leaf pages of the posting tree (flags: {leaf, data}). To extract information, all these functions need to pass the index name and the page number. Tags: rum --- Makefile | 2 +- rum_init.sql | 38 +++ src/rum_debug_funcs.c | 670 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 709 insertions(+), 1 deletion(-) create mode 100644 src/rum_debug_funcs.c diff --git a/Makefile b/Makefile index eda60baa31..57d48a8418 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ OBJS = src/rumsort.o src/rum_ts_utils.o src/rumtsquery.o \ src/rumbtree.o src/rumbulk.o src/rumdatapage.o \ src/rumentrypage.o src/rumget.o src/ruminsert.o \ src/rumscan.o src/rumutil.o src/rumvacuum.o src/rumvalidate.o \ - src/btree_rum.o src/rum_arr_utils.o $(WIN32RES) + src/btree_rum.o src/rum_arr_utils.o src/rum_debug_funcs.o $(WIN32RES) DATA_updates = rum--1.0--1.1.sql rum--1.1--1.2.sql \ rum--1.2--1.3.sql diff --git a/rum_init.sql b/rum_init.sql index 621c4d2b9f..7dcf3ef8ca 100644 --- a/rum_init.sql +++ b/rum_init.sql @@ -1724,3 +1724,41 @@ RETURNS float4 AS 'MODULE_PATHNAME', 'rum_ts_score_td' LANGUAGE C IMMUTABLE STRICT; +/*--------------------RUM debug functions-----------------------*/ + +CREATE FUNCTION rum_metapage_info( + IN rel_name text, + IN blk_num int8, + OUT pending_head bigint, + OUT pending_tail bigint, + OUT tail_free_size int4, + OUT n_pending_pages bigint, + OUT n_pending_tuples bigint, + OUT n_total_pages bigint, + OUT n_entry_pages bigint, + OUT n_data_pages bigint, + OUT n_entries bigint, + OUT version bigint) +AS 'MODULE_PATHNAME', 'rum_metapage_info' +LANGUAGE C STRICT PARALLEL SAFE; + +CREATE FUNCTION rum_page_opaque_info( + IN rel_name text, + IN blk_num int8, + OUT leftlink bigint, + OUT rightlink bigint, + OUT maxoff int4, + OUT freespace int4, + OUT flags text[]) +AS 'MODULE_PATHNAME', 'rum_page_opaque_info' +LANGUAGE C STRICT PARALLEL SAFE; + +CREATE FUNCTION rum_leaf_data_page_items( + IN rel_name text, + IN blk_num int8, + OUT tuple_id tid, + OUT add_info_is_null bool, + OUT addInfo varchar) +RETURNS SETOF record +AS 'MODULE_PATHNAME', 'rum_leaf_data_page_items' +LANGUAGE C STRICT PARALLEL SAFE; diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c new file mode 100644 index 0000000000..4e37fbf640 --- /dev/null +++ b/src/rum_debug_funcs.c @@ -0,0 +1,670 @@ +/* + * rum_debug_funcs.c + * Functions to investigate the content of RUM indexes + * + * Copyright (c) 2025, Postgres Professional + * + * IDENTIFICATION + * contrib/rum/rum_debug_funcs.c + * + * LIST OF ISSUES: + * 1) Strangely, the index version is returned in the + * rum_metapage_info() function. + * + * 2) Using obsolete macros in the addInfoGetText() function. + * + * 3) I/O functions were not available for all types in + * in the addInfoGetText() function. + * + * 4) The unclear logic of choosing the attribute number + * that the addInfo corresponds to. + */ + +#include "postgres.h" +#include "fmgr.h" +#include "funcapi.h" +#include "catalog/namespace.h" +#include "utils/array.h" +#include "utils/builtins.h" +#include "utils/fmgroids.h" +#include "access/relation.h" +#include "utils/varlena.h" +#include "rum.h" + +PG_FUNCTION_INFO_V1(rum_metapage_info); +PG_FUNCTION_INFO_V1(rum_page_opaque_info); +PG_FUNCTION_INFO_V1(rum_leaf_data_page_items); + +static Page get_page_from_raw(bytea *raw_page); +static Datum addInfoGetText(Datum addInfo, Oid atttypid); +static Relation get_rel_from_name(text *relname); +static bytea *get_rel_raw_page(Relation rel, BlockNumber blkno); + +/* + * The rum_metapage_info() function is used to retrieve + * information stored on the meta page of the rum index. + * To scan, need the index name and the page number. + * (for the meta page blkno = 0). + */ +Datum +rum_metapage_info(PG_FUNCTION_ARGS) +{ + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); + + Relation rel; /* needed to initialize the RumState + structure */ + + bytea *raw_page; /* the raw page obtained from rel */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + RumMetaPageData *metadata; /* data stored on the meta page */ + Page page; /* the page to be scanned */ + + TupleDesc tupdesc; /* description of the result tuple */ + HeapTuple resultTuple; /* for the results */ + Datum values[10]; /* return values */ + bool nulls[10]; /* true if the corresponding value is NULL */ + + /* Only the superuser can use this */ + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use raw page functions"))); + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + relation_close(rel, AccessShareLock); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + PG_RETURN_NULL(); + + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM metapage"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Checking the flags */ + if (opaq->flags != RUM_META) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM metapage"), + errdetail("Flags %04X, expected %04X", + opaq->flags, RUM_META))); + + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); + + /* Getting information from the meta page */ + metadata = RumPageGetMeta(page); + + memset(nulls, 0, sizeof(nulls)); + + /* + * Writing data from metadata to values. + * + * The first five values are obsolete because the + * pending list was removed from the rum index. + */ + values[0] = Int64GetDatum(metadata->head); + values[1] = Int64GetDatum(metadata->tail); + values[2] = Int32GetDatum(metadata->tailFreeSize); + values[3] = Int64GetDatum(metadata->nPendingPages); + values[4] = Int64GetDatum(metadata->nPendingHeapTuples); + values[5] = Int64GetDatum(metadata->nTotalPages); + values[6] = Int64GetDatum(metadata->nEntryPages); + values[7] = Int64GetDatum(metadata->nDataPages); + values[8] = Int64GetDatum(metadata->nEntries); + values[9] = Int64GetDatum(metadata->rumVersion); + + /* Build and return the result tuple */ + resultTuple = heap_form_tuple(tupdesc, values, nulls); + + /* Returning the result */ + return HeapTupleGetDatum(resultTuple); +} + +/* + * The rum_page_opaque_info() function is used to retrieve + * information stored in the opaque area of the index rum + * page. To scan, need the index name and the page number. + */ +Datum +rum_page_opaque_info(PG_FUNCTION_ARGS) +{ + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); + + Relation rel; /* needed to initialize the RumState + structure */ + + bytea *raw_page; /* the raw page obtained from rel */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + Page page; /* the page to be scanned */ + + HeapTuple resultTuple; /* for the results */ + TupleDesc tupdesc; /* description of the result tuple */ + + Datum values[5]; /* return values */ + bool nulls[5]; /* true if the corresponding value is NULL */ + Datum flags[16]; /* array with flags in text format */ + int nflags = 0; /* index in the array of flags */ + uint16 flagbits; /* flags in the opaque area of the page */ + + /* Only the superuser can use this */ + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use raw page functions"))); + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + relation_close(rel, AccessShareLock); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + PG_RETURN_NULL(); + + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM data leaf page"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); + + /* Convert the flags bitmask to an array of human-readable names */ + flagbits = opaq->flags; + if (flagbits & RUM_DATA) + flags[nflags++] = CStringGetTextDatum("data"); + if (flagbits & RUM_LEAF) + flags[nflags++] = CStringGetTextDatum("leaf"); + if (flagbits & RUM_DELETED) + flags[nflags++] = CStringGetTextDatum("deleted"); + if (flagbits & RUM_META) + flags[nflags++] = CStringGetTextDatum("meta"); + if (flagbits & RUM_LIST) + flags[nflags++] = CStringGetTextDatum("list"); + if (flagbits & RUM_LIST_FULLROW) + flags[nflags++] = CStringGetTextDatum("list_fullrow"); + flagbits &= ~(RUM_DATA | RUM_LEAF | RUM_DELETED | RUM_META | RUM_LIST | + RUM_LIST_FULLROW); + if (flagbits) + { + /* any flags we don't recognize are printed in hex */ + flags[nflags++] = DirectFunctionCall1(to_hex32, Int32GetDatum(flagbits)); + } + + memset(nulls, 0, sizeof(nulls)); + + /* + * Writing data from metadata to values. + */ + values[0] = Int64GetDatum(opaq->leftlink); + values[1] = Int64GetDatum(opaq->rightlink); + values[2] = Int32GetDatum(opaq->maxoff); + values[3] = Int32GetDatum(opaq->freespace); + values[4] = PointerGetDatum(construct_array_builtin(flags, nflags, TEXTOID)); + + /* Build and return the result tuple. */ + resultTuple = heap_form_tuple(tupdesc, values, nulls); + + /* Returning the result */ + return HeapTupleGetDatum(resultTuple); +} + +/* + * A structure that stores information between calls to the + * rum_leaf_data_page_items() function. This information is + * necessary to scan the page. + */ +typedef struct rum_leafpage_items_state +{ + /* Number of RumItem structures per {leaf, data} page */ + int maxoff; + + /* Pointer to the current RumItem */ + Pointer item_ptr; + + /* A pointer to the RumState structure, which is needed to scan the page */ + RumState *rum_state_ptr; + + /* A pointer to the description of the attribute, which is addInfo */ + Form_pg_attribute addInfo_att_ptr; +} rum_leafpage_items_state; + +/* + * The function rum_leaf_data_page_items() is designed to read + * information from the {leaf, data} pages of the rum index. + * The pages scanned by this function are the pages of the + * Posting Tree. The information on the page is stored in RumItem + * structures. The function returns tuple_id, add_info_is_null, + * addinfo. To scan, need the index name and the page number. + * It is an SRF function, i.e. it returns one value per call. + */ +Datum +rum_leaf_data_page_items(PG_FUNCTION_ARGS) +{ + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); + + /* + * The context of the function calls and the pointer + * to the long-lived inter_call_data structure + */ + FuncCallContext *fctx; + rum_leafpage_items_state *inter_call_data; + + /* Only the superuser can use this */ + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use this function"))); + + /* + * In the case of the first function call, it is necessary + * to get the page by its number and create a Runstate + * structure for scanning the page. + */ + if (SRF_IS_FIRSTCALL()) + { + + Relation rel; /* needed to initialize the RumState + structure */ + bytea *raw_page; /* The raw page obtained from rel */ + + TupleDesc tupdesc; /* description of the result tuple */ + MemoryContext oldmctx; /* the old function memory context */ + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + + /* + * Initializing the FuncCallContext structure and switching the memory + * context to the one needed for structures that must be saved during + * multiple calls + */ + fctx = SRF_FIRSTCALL_INIT(); + oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + + /* Allocating memory for a long-lived structure */ + inter_call_data = palloc(sizeof(rum_leafpage_items_state)); + + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + /* + * It is convenient to save a pointer to an attribute + * of addInfo in a long-lived structure for shorter + * access in the future. + */ + inter_call_data->addInfo_att_ptr = inter_call_data->rum_state_ptr-> + addAttrs[inter_call_data->rum_state_ptr->attrnAddToColumn - 1]; + + relation_close(rel, AccessShareLock); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + { + MemoryContextSwitchTo(oldmctx); + PG_RETURN_NULL(); + } + + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM page"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Checking the flags */ + if (opaq->flags != (RUM_DATA | RUM_LEAF)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {data, leaf} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, (RUM_DATA | RUM_LEAF)))); + + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); + + /* Needed to for subsequent recording tupledesc in fctx */ + BlessTupleDesc(tupdesc); + + /* + * Write to the long-lived structure the number of RumItem + * structures on the page and a pointer to the data on the page. + */ + inter_call_data->maxoff = opaq->maxoff; + inter_call_data->item_ptr = RumDataPageGetData(page); + + /* + * Save a pointer to a long-lived structure and + * tuple descriptor for our result type in fctx. + */ + fctx->user_fctx = inter_call_data; + fctx->tuple_desc = tupdesc; + + /* Switching to the old memory context */ + MemoryContextSwitchTo(oldmctx); + } + + /* Preparing to use the FuncCallContext */ + fctx = SRF_PERCALL_SETUP(); + + /* In the current call, we are reading data from the previous one */ + inter_call_data = fctx->user_fctx; + + /* Go through the page */ + if((fctx->call_cntr + 1) <= inter_call_data->maxoff) + { + RumItem rum_item; /* to read data from a page */ + Datum values[3]; /* return values */ + bool nulls[3]; /* true if the corresponding value is NULL */ + + /* For the results */ + HeapTuple resultTuple; + Datum result; + + memset(nulls, 0, sizeof(nulls)); + + /* Reading information from the page in rum_item */ + inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, + inter_call_data->rum_state_ptr->attrnAddToColumn, + &rum_item, false, inter_call_data->rum_state_ptr); + + /* Writing data from rum_item to values */ + values[0] = ItemPointerGetDatum(&(rum_item.iptr)); + values[1] = BoolGetDatum(rum_item.addInfoIsNull); + + /* + * If addInfo is not NULL, you need to return it as text. + * If addInfo is NULL, then you need to specify this in + * the corresponding value of the nulls array. + * + * You don't have to worry about freeing up memory in the + * addInfoGetText() function, because the memory context + * in which the current SRF function is called is temporary + * and it will be cleaned up between calls. + */ + if(!rum_item.addInfoIsNull) + values[2] = addInfoGetText(rum_item.addInfo, + inter_call_data->addInfo_att_ptr->atttypid); + else nulls[2] = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } + + /* Completing the function */ + SRF_RETURN_DONE(fctx); +} + +/* + * A copy of the get_page_from_raw() + * function from pageinspect. + * + * Get a palloc'd, maxalign'ed page image + * from the result of get_rel_raw_page() + */ +static Page +get_page_from_raw(bytea *raw_page) +{ + Page page; + int raw_page_size; + + raw_page_size = VARSIZE_ANY_EXHDR(raw_page); + + if (raw_page_size != BLCKSZ) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid page size"), + errdetail("Expected %d bytes, got %d.", + BLCKSZ, raw_page_size))); + + page = palloc(raw_page_size); + + memcpy(page, VARDATA_ANY(raw_page), raw_page_size); + + return page; +} + +/* + * An auxiliary function that is used to convert additional + * information into text. This is a universal way to return any type. + * + * The following types of data are checked: + * int2, int4, int8, float4, float8, money, oid, timestamp, + * timestamptz, time, timetz, date, interval, macaddr, inet, + * cidr, text, varchar, char, bytea, bit, varbit, numeric. + * + * All types accepted by rum must be checked, but + * perhaps some types are missing or some are superfluous. + */ +static Datum +addInfoGetText(Datum addInfo, Oid atttypid) +{ + char *str_addInfo = NULL; + + /* addInfo cannot be NULL */ + Assert(DatumGetPointer(addInfo) != NULL); + + /* + * Form a string depending on the type of addInfo. + * + * FIXME The macros used below are taken from the pg_type_d file.h, + * and it says not to use them in the new code, then it's not + * clear how to determine the attribute type. In addition, it + * was not possible to find conversion functions for several + * types below. + */ + switch (atttypid) + { + case INT2OID: + str_addInfo = OidOutputFunctionCall(F_INT2OUT, addInfo); + break; + + case INT4OID: + str_addInfo = OidOutputFunctionCall(F_INT4OUT, addInfo); + break; + + case INT8OID: + str_addInfo = OidOutputFunctionCall(F_INT8OUT, addInfo); + break; + + case FLOAT4OID: + str_addInfo = OidOutputFunctionCall(F_FLOAT4OUT, addInfo); + break; + + case FLOAT8OID: + str_addInfo = OidOutputFunctionCall(F_FLOAT8OUT, addInfo); + break; + + /*case MONEYOID:*/ + /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ + /* break;*/ + + case OIDOID: + str_addInfo = OidOutputFunctionCall(F_OIDOUT, addInfo); + break; + + case TIMESTAMPOID: + str_addInfo = OidOutputFunctionCall(F_TIMESTAMP_OUT, addInfo); + break; + + case TIMESTAMPTZOID: + str_addInfo = OidOutputFunctionCall(F_TIMESTAMPTZ_OUT, addInfo); + break; + + case TIMEOID: + str_addInfo = OidOutputFunctionCall(F_TIME_OUT, addInfo); + break; + + case TIMETZOID: + str_addInfo = OidOutputFunctionCall(F_TIMETZ_OUT, addInfo); + break; + + case DATEOID: + str_addInfo = OidOutputFunctionCall(F_DATE_OUT, addInfo); + break; + + case INTERVALOID: + str_addInfo = OidOutputFunctionCall(F_INTERVAL_OUT, addInfo); + break; + + case MACADDROID: + str_addInfo = OidOutputFunctionCall(F_MACADDR_OUT, addInfo); + break; + + case INETOID: + str_addInfo = OidOutputFunctionCall(F_INET_OUT, addInfo); + break; + + case CIDROID: + str_addInfo = OidOutputFunctionCall(F_CIDR_OUT, addInfo); + break; + + case TEXTOID: + str_addInfo = OidOutputFunctionCall(F_CIDR_OUT, addInfo); + break; + + /*case VARCHAROID:*/ + /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ + /* break;*/ + /**/ + /*case CHAROID:*/ + /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ + /* break;*/ + /**/ + /*case BYTEAOID:*/ + /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ + /* break;*/ + + case BITOID: + str_addInfo = OidOutputFunctionCall(F_BIT_OUT, addInfo); + break; + + case VARBITOID: + str_addInfo = OidOutputFunctionCall(F_VARBIT_OUT, addInfo); + break; + + case NUMERICOID: + str_addInfo = OidOutputFunctionCall(F_NUMERIC_OUT, addInfo); + break; + } + + return CStringGetTextDatum(str_addInfo); +} + +/* + * This function and get_rel_raw_page() are derived from the separation + * of the get_raw_page_internal() function, which was copied from the pageinspect code. + * It is needed in order to call the initRumState() function if necessary. + */ +static Relation +get_rel_from_name(text *relname) +{ + RangeVar *relrv; + Relation rel; + + relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); + rel = relation_openrv(relrv, AccessShareLock); + + if (!RELKIND_HAS_STORAGE(rel->rd_rel->relkind)) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from relation \"%s\"", + RelationGetRelationName(rel)), + errdetail_relkind_not_supported(rel->rd_rel->relkind))); + + /* + * Reject attempts to read non-local temporary relations; we would be + * likely to get wrong data since we have no visibility into the owning + * session's local buffers. + */ + if (RELATION_IS_OTHER_TEMP(rel)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot access temporary tables of other sessions"))); + + return rel; +} + +/* + * This function and get_rel_from_name() are derived from the separation + * of the get_raw_page_internal() function, which was copied from the pageinspect code. + * It is needed in order to call the initRumState() function if necessary. + */ +static bytea * +get_rel_raw_page(Relation rel, BlockNumber blkno) +{ + bytea *raw_page; + char *raw_page_data; + Buffer buf; + + if (blkno >= RelationGetNumberOfBlocksInFork(rel, MAIN_FORKNUM)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("block number %u is out of range for relation \"%s\"", + blkno, RelationGetRelationName(rel)))); + + /* Initialize buffer to copy to */ + raw_page = (bytea *) palloc(BLCKSZ + VARHDRSZ); + SET_VARSIZE(raw_page, BLCKSZ + VARHDRSZ); + raw_page_data = VARDATA(raw_page); + + /* Take a verbatim copy of the page */ + buf = ReadBufferExtended(rel, MAIN_FORKNUM, blkno, RBM_NORMAL, NULL); + LockBuffer(buf, BUFFER_LOCK_SHARE); + + memcpy(raw_page_data, BufferGetPage(buf), BLCKSZ); + + LockBuffer(buf, BUFFER_LOCK_UNLOCK); + ReleaseBuffer(buf); + + return raw_page; +} From c87497e0222101d622d409ec783610e37b33c509 Mon Sep 17 00:00:00 2001 From: Arseny Kositsin Date: Fri, 21 Feb 2025 10:43:50 +0300 Subject: [PATCH 02/11] [PGPRO-12159] Added three missing pageinspect functions for rum. 1) rum_internal_data_page_items() - it is intended for viewing information that is located on the internal pages of the posting tree (flags {data}). 2) rum_leaf_entry_page_items() - it is intended for viewing information that is located on the leaf pages of the entry tree (flags {leaf}). 3) rum_internal_entry_page_items() - it is intended for viewing information that is located on the internal pages of the entry tree (flags {}). To extract information, all these functions need to pass the index name and the page number. Tags: rum --- rum_init.sql | 44 +- src/rum_debug_funcs.c | 1414 ++++++++++++++++++++++++++++++++++------- 2 files changed, 1215 insertions(+), 243 deletions(-) diff --git a/rum_init.sql b/rum_init.sql index 7dcf3ef8ca..edfc54968f 100644 --- a/rum_init.sql +++ b/rum_init.sql @@ -6,7 +6,6 @@ LANGUAGE C; /* * RUM access method */ - CREATE ACCESS METHOD rum TYPE INDEX HANDLER rumhandler; /* @@ -1738,7 +1737,7 @@ CREATE FUNCTION rum_metapage_info( OUT n_entry_pages bigint, OUT n_data_pages bigint, OUT n_entries bigint, - OUT version bigint) + OUT version varchar) AS 'MODULE_PATHNAME', 'rum_metapage_info' LANGUAGE C STRICT PARALLEL SAFE; @@ -1756,9 +1755,48 @@ LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_leaf_data_page_items( IN rel_name text, IN blk_num int8, + OUT is_high_key bool, OUT tuple_id tid, OUT add_info_is_null bool, - OUT addInfo varchar) + OUT add_info varchar) RETURNS SETOF record AS 'MODULE_PATHNAME', 'rum_leaf_data_page_items' LANGUAGE C STRICT PARALLEL SAFE; + +CREATE FUNCTION rum_internal_data_page_items( + IN rel_name text, + IN blk_num int8, + OUT is_high_key bool, + OUT block_number int8, + OUT tuple_id tid, + OUT add_info_is_null bool, + OUT add_info varchar) +RETURNS SETOF record +AS 'MODULE_PATHNAME', 'rum_internal_data_page_items' +LANGUAGE C STRICT PARALLEL SAFE; + +CREATE FUNCTION rum_leaf_entry_page_items( + IN rel_name text, + IN blk_num int8, + OUT key varchar, + OUT attrnum int8, + OUT category varchar, + OUT tuple_id tid, + OUT add_info_is_null bool, + OUT add_info varchar, + OUT is_postring_tree bool, + OUT postring_tree_root int8) +RETURNS SETOF record +AS 'MODULE_PATHNAME', 'rum_leaf_entry_page_items' +LANGUAGE C STRICT PARALLEL SAFE; + +CREATE FUNCTION rum_internal_entry_page_items( + IN rel_name text, + IN blk_num int8, + OUT key varchar, + OUT attrnum int8, + OUT category varchar, + OUT down_link int8) +RETURNS SETOF record +AS 'MODULE_PATHNAME', 'rum_internal_entry_page_items' +LANGUAGE C STRICT PARALLEL SAFE; diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 4e37fbf640..80b4acee98 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -8,16 +8,13 @@ * contrib/rum/rum_debug_funcs.c * * LIST OF ISSUES: - * 1) Strangely, the index version is returned in the - * rum_metapage_info() function. * - * 2) Using obsolete macros in the addInfoGetText() function. + * 1) Using obsolete macros in the get_datum_text_by_oid() function. * - * 3) I/O functions were not available for all types in - * in the addInfoGetText() function. + * 2) I/O functions were not available for all types in + * in the get_datum_text_by_oid() function. * - * 4) The unclear logic of choosing the attribute number - * that the addInfo corresponds to. + * 3) SIGSEGV in case of bytea output as additional information. */ #include "postgres.h" @@ -34,11 +31,89 @@ PG_FUNCTION_INFO_V1(rum_metapage_info); PG_FUNCTION_INFO_V1(rum_page_opaque_info); PG_FUNCTION_INFO_V1(rum_leaf_data_page_items); +PG_FUNCTION_INFO_V1(rum_internal_data_page_items); +PG_FUNCTION_INFO_V1(rum_leaf_entry_page_items); +PG_FUNCTION_INFO_V1(rum_internal_entry_page_items); + +/* + * A structure that stores information between calls to the + * rum_leaf_data_page_items(), rum_internal_data_page_items(), + * rum_leaf_entry_page_items(), rum_internal_entry_page_items() + * functions. This information is necessary to scan the page. + */ +typedef struct rum_page_items_state +{ + /* Pointer to the beginning of the scanned page */ + Page page; + + /* + * The number of scanned items per page. + * + * On the {leaf, data} page, this is the number of + * RumItem structures that are in the compressed posting list. + * + * On the {data} page, this is the number of PostingItem structures. + * + * On the {leaf} page, this is the number of IndexTuple, each of + * which contains a compressed posting list. In this case, the size + * of the Posting list is determined using RumGetNPosting(itup). + * + * On the {} page, this is the number of IndexTuple. + */ + int maxoff; + + /* Current IndexTuple on the page */ + IndexTuple cur_itup; + + /* The number of the current IndexTuple on the page */ + int cur_tuple_num; + + /* Pointer to the current scanning item */ + Pointer item_ptr; + + /* The number of the current element in the current IndexTuple */ + int cur_tuple_item; + + /* The attribute number of the current tuple key */ + OffsetNumber cur_tuple_key_attnum; + + /* The current tuple key */ + Datum cur_tuple_key; + + /* Current tuple key category (see rum.h) */ + RumNullCategory cur_tuple_key_category; + + /* The number of the child page that is stored in the current IndexTuple */ + BlockNumber cur_tuple_down_link; + + /* It is necessary to scan the posting list */ + RumItem cur_rum_item; + + /* + * The Oid of the additional information in the index. + * It is read from the RumConfig structure. + */ + Oid add_info_oid; + + /* + * If the current IndexTuple is scanned, then + * you need to move on to the next one. + */ + bool need_new_tuple; + + /* A pointer to the RumState structure, which is needed to scan the page */ + RumState *rum_state_ptr; +} rum_page_items_state; static Page get_page_from_raw(bytea *raw_page); -static Datum addInfoGetText(Datum addInfo, Oid atttypid); +static Datum get_datum_text_by_oid(Datum addInfo, Oid atttypid); static Relation get_rel_from_name(text *relname); static bytea *get_rel_raw_page(Relation rel, BlockNumber blkno); +static void get_new_index_tuple(rum_page_items_state *inter_call_data); +static Oid get_cur_attr_oid(rum_page_items_state *inter_call_data); +static Datum category_get_datum_text(RumNullCategory category); +static Oid find_add_info_oid(RumState *rum_state_ptr); +static OffsetNumber find_add_info_atrr_num(RumState *rum_state_ptr); /* * The rum_metapage_info() function is used to retrieve @@ -50,21 +125,27 @@ Datum rum_metapage_info(PG_FUNCTION_ARGS) { /* Reading input arguments */ - text *relname = PG_GETARG_TEXT_PP(0); - uint32 blkno = PG_GETARG_UINT32(1); + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); + + Relation rel; /* needed to initialize the RumState structure */ - Relation rel; /* needed to initialize the RumState - structure */ + bytea *raw_page; /* the raw page obtained from rel */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + RumMetaPageData *metadata; /* data stored on the meta page */ + Page page; /* the page to be scanned */ - bytea *raw_page; /* the raw page obtained from rel */ - RumPageOpaque opaq; /* data from the opaque area of the page */ - RumMetaPageData *metadata; /* data stored on the meta page */ - Page page; /* the page to be scanned */ + TupleDesc tupdesc; /* description of the result tuple */ + HeapTuple resultTuple; /* for the results */ + Datum values[10]; /* return values */ + bool nulls[10]; /* true if the corresponding value is NULL */ - TupleDesc tupdesc; /* description of the result tuple */ - HeapTuple resultTuple; /* for the results */ - Datum values[10]; /* return values */ - bool nulls[10]; /* true if the corresponding value is NULL */ + /* + * To output the index version. + * If you change the index version, you + * may need to increase the buffer size. + */ + char version_buf[20]; /* Only the superuser can use this */ if (!superuser()) @@ -128,7 +209,8 @@ rum_metapage_info(PG_FUNCTION_ARGS) values[6] = Int64GetDatum(metadata->nEntryPages); values[7] = Int64GetDatum(metadata->nDataPages); values[8] = Int64GetDatum(metadata->nEntries); - values[9] = Int64GetDatum(metadata->rumVersion); + snprintf(version_buf, sizeof(version_buf), "0x%X", metadata->rumVersion); + values[9] = CStringGetTextDatum(version_buf); /* Build and return the result tuple */ resultTuple = heap_form_tuple(tupdesc, values, nulls); @@ -146,24 +228,23 @@ Datum rum_page_opaque_info(PG_FUNCTION_ARGS) { /* Reading input arguments */ - text *relname = PG_GETARG_TEXT_PP(0); - uint32 blkno = PG_GETARG_UINT32(1); + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); - Relation rel; /* needed to initialize the RumState - structure */ + Relation rel; /* needed to initialize the RumState structure */ - bytea *raw_page; /* the raw page obtained from rel */ - RumPageOpaque opaq; /* data from the opaque area of the page */ - Page page; /* the page to be scanned */ + bytea *raw_page; /* the raw page obtained from rel */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + Page page; /* the page to be scanned */ - HeapTuple resultTuple; /* for the results */ - TupleDesc tupdesc; /* description of the result tuple */ + HeapTuple resultTuple; /* for the results */ + TupleDesc tupdesc; /* description of the result tuple */ - Datum values[5]; /* return values */ - bool nulls[5]; /* true if the corresponding value is NULL */ - Datum flags[16]; /* array with flags in text format */ - int nflags = 0; /* index in the array of flags */ - uint16 flagbits; /* flags in the opaque area of the page */ + Datum values[5]; /* return values */ + bool nulls[5]; /* true if the corresponding value is NULL */ + Datum flags[16]; /* array with flags in text format */ + int nflags = 0; /* index in the array of flags */ + uint16 flagbits; /* flags in the opaque area of the page */ /* Only the superuser can use this */ if (!superuser()) @@ -239,48 +320,35 @@ rum_page_opaque_info(PG_FUNCTION_ARGS) return HeapTupleGetDatum(resultTuple); } -/* - * A structure that stores information between calls to the - * rum_leaf_data_page_items() function. This information is - * necessary to scan the page. - */ -typedef struct rum_leafpage_items_state -{ - /* Number of RumItem structures per {leaf, data} page */ - int maxoff; - - /* Pointer to the current RumItem */ - Pointer item_ptr; - - /* A pointer to the RumState structure, which is needed to scan the page */ - RumState *rum_state_ptr; - - /* A pointer to the description of the attribute, which is addInfo */ - Form_pg_attribute addInfo_att_ptr; -} rum_leafpage_items_state; - /* - * The function rum_leaf_data_page_items() is designed to read - * information from the {leaf, data} pages of the rum index. - * The pages scanned by this function are the pages of the - * Posting Tree. The information on the page is stored in RumItem - * structures. The function returns tuple_id, add_info_is_null, - * addinfo. To scan, need the index name and the page number. - * It is an SRF function, i.e. it returns one value per call. + * The function rum_leaf_data_page_items() is designed + * to view information that is located on the leaf + * pages of the index's rum posting tree. On these pages, + * information is stored in a set of compressed posting lists + * (similar to entry tree leaf pages), but these posting lists + * are not in IndexTuples, but are located between the PageHeader + * and pd_lower. The space between pd_lower and pd_upper is not used. + * + * The function returns the bool variable is_high_key (true if + * the current returned tuple is the high key of the current page) + * and the information contained in the corresponding structure of + * RumItem: tid, the bool variable add_info_is_null and add_info. + * + * It is a SRF function, i.e. it returns one tuple per call. */ Datum rum_leaf_data_page_items(PG_FUNCTION_ARGS) { /* Reading input arguments */ - text *relname = PG_GETARG_TEXT_PP(0); - uint32 blkno = PG_GETARG_UINT32(1); + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); /* * The context of the function calls and the pointer * to the long-lived inter_call_data structure */ FuncCallContext *fctx; - rum_leafpage_items_state *inter_call_data; + rum_page_items_state *inter_call_data; /* Only the superuser can use this */ if (!superuser()) @@ -295,15 +363,13 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) */ if (SRF_IS_FIRSTCALL()) { - - Relation rel; /* needed to initialize the RumState - structure */ - bytea *raw_page; /* The raw page obtained from rel */ + Relation rel; /* needed to initialize the RumState structure */ + bytea *raw_page; /* The raw page obtained from rel */ - TupleDesc tupdesc; /* description of the result tuple */ - MemoryContext oldmctx; /* the old function memory context */ - Page page; /* the page to be scanned */ - RumPageOpaque opaq; /* data from the opaque area of the page */ + TupleDesc tupdesc; /* description of the result tuple */ + MemoryContext oldmctx; /* the old function memory context */ + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ /* * Initializing the FuncCallContext structure and switching the memory @@ -318,20 +384,12 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) raw_page = get_rel_raw_page(rel, blkno); /* Allocating memory for a long-lived structure */ - inter_call_data = palloc(sizeof(rum_leafpage_items_state)); + inter_call_data = palloc(sizeof(rum_page_items_state)); /* Initializing the RumState structure */ inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); initRumState(inter_call_data->rum_state_ptr, rel); - /* - * It is convenient to save a pointer to an attribute - * of addInfo in a long-lived structure for shorter - * access in the future. - */ - inter_call_data->addInfo_att_ptr = inter_call_data->rum_state_ptr-> - addAttrs[inter_call_data->rum_state_ptr->attrnAddToColumn - 1]; - relation_close(rel, AccessShareLock); /* Getting a copy of the page from the raw page */ @@ -375,8 +433,16 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) * Write to the long-lived structure the number of RumItem * structures on the page and a pointer to the data on the page. */ + inter_call_data->page = page; inter_call_data->maxoff = opaq->maxoff; inter_call_data->item_ptr = RumDataPageGetData(page); + inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); + + /* + * It is necessary for the correct reading of the + * tid (see the function rumDataPageLeafRead()) + */ + memset(&(inter_call_data->cur_rum_item), 0, sizeof(RumItem)); /* * Save a pointer to a long-lived structure and @@ -395,42 +461,84 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* In the current call, we are reading data from the previous one */ inter_call_data = fctx->user_fctx; - /* Go through the page */ - if((fctx->call_cntr + 1) <= inter_call_data->maxoff) + /* + * Go through the page. It should be noted that fctx->call_cntr + * on the first call is 0. The very first function call is intended + * to return the high key of the scanned page (this is done because + * the high key is not taken into account in inter_call_data->maxoff). + */ + if(fctx->call_cntr <= inter_call_data->maxoff) { - RumItem rum_item; /* to read data from a page */ - Datum values[3]; /* return values */ - bool nulls[3]; /* true if the corresponding value is NULL */ + RumItem *high_key_ptr; + RumItem *rum_item_ptr; /* to read data from a page */ + Datum values[4]; /* return values */ + bool nulls[4]; /* true if the corresponding value is NULL */ /* For the results */ - HeapTuple resultTuple; - Datum result; + HeapTuple resultTuple; + Datum result; memset(nulls, 0, sizeof(nulls)); + rum_item_ptr = &(inter_call_data->cur_rum_item); + + /* + * The high key of the current page is the RumItem structure and + * it is located immediately after the PageHeader. On the first + * call, we return the information it stores. + */ + if (fctx->call_cntr == 0) + { + high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); + values[0] = BoolGetDatum(true); + values[1] = ItemPointerGetDatum(&(high_key_ptr->iptr)); + values[2] = BoolGetDatum(high_key_ptr->addInfoIsNull); + + /* Returning add info */ + if(!high_key_ptr->addInfoIsNull && inter_call_data->add_info_oid != 0) + values[3] = get_datum_text_by_oid(high_key_ptr->addInfo, + inter_call_data->add_info_oid); + else nulls[3] = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } - /* Reading information from the page in rum_item */ + /* + * Reading information from the page in rum_item. + * + * TODO: The fact is that being on the posting tree page, we don't know which + * index attribute this posting tree was built for, so we don't know the + * attribute number of the additional information. But the rumDataPageLeafRead() + * function requires it to read information from the page. Here we use the auxiliary + * function find_add_info_atr_num(), which simply iterates through the array with + * attributes that are additional information and selects the attribute number for + * which the additional information attribute is not NULL. This approach is incorrect + * because there may not be additional information for the attribute on the page, + * but we hope that in this case add_info_is_null will have the value true and the + * additional information will not be read. + * + * This problem can be solved by asking the user for the attribute number of + * additional information, because going through the index from top to bottom, + * he saw it next to the link to the posting tree root. + */ inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, - inter_call_data->rum_state_ptr->attrnAddToColumn, - &rum_item, false, inter_call_data->rum_state_ptr); + /* inter_call_data->cur_tuple_key_attnum, */ + find_add_info_atrr_num(inter_call_data->rum_state_ptr), + rum_item_ptr, false, inter_call_data->rum_state_ptr); /* Writing data from rum_item to values */ - values[0] = ItemPointerGetDatum(&(rum_item.iptr)); - values[1] = BoolGetDatum(rum_item.addInfoIsNull); + values[0] = false; + values[1] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); + values[2] = BoolGetDatum(rum_item_ptr->addInfoIsNull); - /* - * If addInfo is not NULL, you need to return it as text. - * If addInfo is NULL, then you need to specify this in - * the corresponding value of the nulls array. - * - * You don't have to worry about freeing up memory in the - * addInfoGetText() function, because the memory context - * in which the current SRF function is called is temporary - * and it will be cleaned up between calls. - */ - if(!rum_item.addInfoIsNull) - values[2] = addInfoGetText(rum_item.addInfo, - inter_call_data->addInfo_att_ptr->atttypid); - else nulls[2] = true; + /* Returning add info */ + if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0) + values[3] = get_datum_text_by_oid(rum_item_ptr->addInfo, inter_call_data->add_info_oid); + else nulls[3] = true; /* Forming the returned tuple */ resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); @@ -445,180 +553,956 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) } /* - * A copy of the get_page_from_raw() - * function from pageinspect. + * The function rum_internal_data_page_items() is designed + * to view information that is located on the internal + * pages of the index's rum posting tree. On these pages, + * information is stored in an array of PostingItem structures, + * which are located immediately after the PageHeader. Each + * PostingItem structure contains the child page number and + * RumItem in which iptr is the high key of the child page. * - * Get a palloc'd, maxalign'ed page image - * from the result of get_rel_raw_page() + * The function returns the bool variable is_high_key (true if + * the current returned tuple is the high key of the current page); + * the child page number; and the information contained in the + * corresponding structure of RumItem: tid, the bool variable + * add_info_is_null and add_info. + * + * It is a SRF function, i.e. it returns one tuple per call. */ -static Page -get_page_from_raw(bytea *raw_page) +Datum +rum_internal_data_page_items(PG_FUNCTION_ARGS) { - Page page; - int raw_page_size; + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); - raw_page_size = VARSIZE_ANY_EXHDR(raw_page); + /* + * The context of the function calls and the pointer + * to the long-lived inter_call_data structure + */ + FuncCallContext *fctx; + rum_page_items_state *inter_call_data; - if (raw_page_size != BLCKSZ) + /* Only the superuser can use this */ + if (!superuser()) ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid page size"), - errdetail("Expected %d bytes, got %d.", - BLCKSZ, raw_page_size))); + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use this function"))); - page = palloc(raw_page_size); + /* + * In the case of the first function call, it is necessary + * to get the page by its number and create a RumState + * structure for scanning the page. + */ + if (SRF_IS_FIRSTCALL()) + { + Relation rel; /* needed to initialize the RumState structure */ + bytea *raw_page; /* The raw page obtained from rel */ - memcpy(page, VARDATA_ANY(raw_page), raw_page_size); + TupleDesc tupdesc; /* description of the result tuple */ + MemoryContext oldmctx; /* the old function memory context */ + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ - return page; -} + /* + * Initializing the FuncCallContext structure and switching the memory + * context to the one needed for structures that must be saved during + * multiple calls. + */ + fctx = SRF_FIRSTCALL_INIT(); + oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); -/* - * An auxiliary function that is used to convert additional - * information into text. This is a universal way to return any type. - * - * The following types of data are checked: - * int2, int4, int8, float4, float8, money, oid, timestamp, - * timestamptz, time, timetz, date, interval, macaddr, inet, - * cidr, text, varchar, char, bytea, bit, varbit, numeric. - * - * All types accepted by rum must be checked, but - * perhaps some types are missing or some are superfluous. - */ -static Datum -addInfoGetText(Datum addInfo, Oid atttypid) -{ - char *str_addInfo = NULL; + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); - /* addInfo cannot be NULL */ - Assert(DatumGetPointer(addInfo) != NULL); + /* Allocating memory for a long-lived structure */ + inter_call_data = palloc(sizeof(rum_page_items_state)); - /* - * Form a string depending on the type of addInfo. - * - * FIXME The macros used below are taken from the pg_type_d file.h, - * and it says not to use them in the new code, then it's not - * clear how to determine the attribute type. In addition, it - * was not possible to find conversion functions for several - * types below. - */ - switch (atttypid) - { - case INT2OID: - str_addInfo = OidOutputFunctionCall(F_INT2OUT, addInfo); - break; + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); - case INT4OID: - str_addInfo = OidOutputFunctionCall(F_INT4OUT, addInfo); - break; + relation_close(rel, AccessShareLock); - case INT8OID: - str_addInfo = OidOutputFunctionCall(F_INT8OUT, addInfo); - break; + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); - case FLOAT4OID: - str_addInfo = OidOutputFunctionCall(F_FLOAT4OUT, addInfo); - break; + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + { + MemoryContextSwitchTo(oldmctx); + PG_RETURN_NULL(); + } - case FLOAT8OID: - str_addInfo = OidOutputFunctionCall(F_FLOAT8OUT, addInfo); - break; + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM page"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); - /*case MONEYOID:*/ - /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ - /* break;*/ + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); - case OIDOID: - str_addInfo = OidOutputFunctionCall(F_OIDOUT, addInfo); - break; + /* Checking the flags */ + if (opaq->flags != (RUM_DATA & ~RUM_LEAF)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {data} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, (RUM_DATA & ~RUM_LEAF)))); - case TIMESTAMPOID: - str_addInfo = OidOutputFunctionCall(F_TIMESTAMP_OUT, addInfo); - break; + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); - case TIMESTAMPTZOID: - str_addInfo = OidOutputFunctionCall(F_TIMESTAMPTZ_OUT, addInfo); - break; + /* Needed to for subsequent recording tupledesc in fctx */ + BlessTupleDesc(tupdesc); - case TIMEOID: - str_addInfo = OidOutputFunctionCall(F_TIME_OUT, addInfo); - break; + /* + * Write to the long-lived structure the number of RumItem + * structures on the page and a pointer to the data on the page. + */ + inter_call_data->page = page; + inter_call_data->maxoff = opaq->maxoff; + inter_call_data->item_ptr = RumDataPageGetData(page); + inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); - case TIMETZOID: - str_addInfo = OidOutputFunctionCall(F_TIMETZ_OUT, addInfo); - break; + /* + * Save a pointer to a long-lived structure and + * tuple descriptor for our result type in fctx. + */ + fctx->user_fctx = inter_call_data; + fctx->tuple_desc = tupdesc; - case DATEOID: - str_addInfo = OidOutputFunctionCall(F_DATE_OUT, addInfo); - break; + /* Switching to the old memory context */ + MemoryContextSwitchTo(oldmctx); + } - case INTERVALOID: - str_addInfo = OidOutputFunctionCall(F_INTERVAL_OUT, addInfo); - break; + /* Preparing to use the FuncCallContext */ + fctx = SRF_PERCALL_SETUP(); - case MACADDROID: - str_addInfo = OidOutputFunctionCall(F_MACADDR_OUT, addInfo); - break; + /* In the current call, we are reading data from the previous one */ + inter_call_data = fctx->user_fctx; - case INETOID: - str_addInfo = OidOutputFunctionCall(F_INET_OUT, addInfo); - break; + /* + * Go through the page. It should be noted that fctx->call_cntr + * on the first call is 0. The very first function call is intended + * to return the high key of the scanned page (this is done because + * the high key is not taken into account in inter_call_data->maxoff). + */ + if(fctx->call_cntr <= inter_call_data->maxoff) + { + RumItem *high_key_ptr; + PostingItem *posting_item_ptr; /* to read data from a page */ + Datum values[5]; /* returned values */ + bool nulls[5]; /* true if the corresponding returned value is NULL */ - case CIDROID: - str_addInfo = OidOutputFunctionCall(F_CIDR_OUT, addInfo); - break; + /* For the results */ + HeapTuple resultTuple; + Datum result; - case TEXTOID: - str_addInfo = OidOutputFunctionCall(F_CIDR_OUT, addInfo); - break; + memset(nulls, 0, sizeof(nulls)); + + /* + * The high key of the current page is the RumItem structure and + * it is located immediately after the PageHeader. On the first + * call, we return the information it stores. + */ + if (fctx->call_cntr == 0) + { + high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); + values[0] = BoolGetDatum(true); + nulls[1] = true; + values[2] = ItemPointerGetDatum(&(high_key_ptr->iptr)); + values[3] = BoolGetDatum(high_key_ptr->addInfoIsNull); + + /* Returning add info */ + if(!high_key_ptr->addInfoIsNull && inter_call_data->add_info_oid != 0) + values[4] = get_datum_text_by_oid(high_key_ptr->addInfo, + inter_call_data->add_info_oid); + else nulls[4] = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } - /*case VARCHAROID:*/ - /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ - /* break;*/ - /**/ - /*case CHAROID:*/ - /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ - /* break;*/ - /**/ - /*case BYTEAOID:*/ - /* str_addInfo = OidOutputFunctionCall(, addInfo);*/ - /* break;*/ + /* Reading information from the page */ + posting_item_ptr = (PostingItem *) inter_call_data->item_ptr; + inter_call_data->item_ptr += sizeof(PostingItem); - case BITOID: - str_addInfo = OidOutputFunctionCall(F_BIT_OUT, addInfo); - break; + /* Writing data from posting_item_ptr to values */ + values[0] = BoolGetDatum(false); + values[1] = UInt32GetDatum(PostingItemGetBlockNumber(posting_item_ptr)); + values[2] = ItemPointerGetDatum(&(posting_item_ptr->item.iptr)); + values[3] = BoolGetDatum(posting_item_ptr->item.addInfoIsNull); - case VARBITOID: - str_addInfo = OidOutputFunctionCall(F_VARBIT_OUT, addInfo); - break; + /* Returning add info */ + if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0) + values[4] = get_datum_text_by_oid(posting_item_ptr->item.addInfo, + inter_call_data->add_info_oid); + else nulls[4] = true; - case NUMERICOID: - str_addInfo = OidOutputFunctionCall(F_NUMERIC_OUT, addInfo); - break; + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); } - return CStringGetTextDatum(str_addInfo); + /* Completing the function */ + SRF_RETURN_DONE(fctx); } /* - * This function and get_rel_raw_page() are derived from the separation - * of the get_raw_page_internal() function, which was copied from the pageinspect code. - * It is needed in order to call the initRumState() function if necessary. + * The function rum_leaf_entry_page_items() is designed + * to view information that is located on the leaf + * pages of the index's rum entry tree. On these pages, + * information is stored in compressed posting lists (which + * consist of RumItem structures), which conteins in the IndexTuples. + * + * The function returns the key; the key attribute number; + * the key category (see rum.h); and the information contained + * in the corresponding structure of RumItem: tid, the bool variable + * add_info_is_null and add_info. Also, in the case of the posting list, + * the bool variable is_postring_true = false and the page number of + * the root of posting tree is NULL. + * + * If posting tree is placed instead of posting list, the function + * returns the bool variable is_postring_true = true and the page + * number on which the root of the posting tree is located. The rest + * of the returned values contain NULL (except for the key itself). + * + * It is a SRF function, i.e. it returns one tuple per call. */ -static Relation -get_rel_from_name(text *relname) +Datum +rum_leaf_entry_page_items(PG_FUNCTION_ARGS) { - RangeVar *relrv; - Relation rel; + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); - relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); - rel = relation_openrv(relrv, AccessShareLock); + /* + * The context of the function calls and the pointer + * to the long-lived inter_call_data structure. + */ + FuncCallContext *fctx; + rum_page_items_state *inter_call_data; - if (!RELKIND_HAS_STORAGE(rel->rd_rel->relkind)) + /* Only the superuser can use this */ + if (!superuser()) ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot get raw page from relation \"%s\"", - RelationGetRelationName(rel)), + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use this function"))); + + /* + * In the case of the first function call, it is necessary + * to get the page by its number and create a RumState + * structure for scanning the page. + */ + if (SRF_IS_FIRSTCALL()) + { + Relation rel; /* needed to initialize the RumState structure */ + bytea *raw_page; /* The raw page obtained from rel */ + + TupleDesc tupdesc; /* description of the result tuple */ + MemoryContext oldmctx; /* the old function memory context */ + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + + /* + * Initializing the FuncCallContext structure and switching the memory + * context to the one needed for structures that must be saved during + * multiple calls + */ + fctx = SRF_FIRSTCALL_INIT(); + oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + + /* Allocating memory for a long-lived structure */ + inter_call_data = palloc(sizeof(rum_page_items_state)); + + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + { + MemoryContextSwitchTo(oldmctx); + PG_RETURN_NULL(); + } + + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM page"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Checking the flags */ + if (opaq->flags != RUM_LEAF) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {leaf} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, RUM_LEAF))); + + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); + + /* Needed to for subsequent recording tupledesc in fctx */ + BlessTupleDesc(tupdesc); + + /* + * We save all the necessary information for + * scanning the page in a long-lived structure. + */ + inter_call_data->page = page; + inter_call_data->maxoff = PageGetMaxOffsetNumber(page); + inter_call_data->need_new_tuple = true; + inter_call_data->cur_tuple_num = FirstOffsetNumber; + inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); + + /* + * Save a pointer to a long-lived structure and + * tuple descriptor for our result type in fctx. + */ + fctx->user_fctx = inter_call_data; + fctx->tuple_desc = tupdesc; + + /* Switching to the old memory context */ + MemoryContextSwitchTo(oldmctx); + } + + /* Preparing to use the FuncCallContext */ + fctx = SRF_PERCALL_SETUP(); + + /* In the current call, we are reading data from the previous one */ + inter_call_data = fctx->user_fctx; + + /* Go through the page */ + if(inter_call_data->cur_tuple_num <= inter_call_data->maxoff) + { + RumItem *rum_item_ptr; /* to read data from a page */ + Oid key_oid; /* to convert key to text */ + + Datum values[8]; /* returned values */ + bool nulls[8]; /* true if the corresponding returned value is NULL */ + + /* For the results */ + HeapTuple resultTuple; + Datum result; + + memset(nulls, 0, sizeof(nulls)); + rum_item_ptr = &(inter_call_data->cur_rum_item); + + /* + * The function reads information from compressed Posting lists, + * each of which is located in the corresponding IndexTuple. + * Therefore, first, if the previous IndexTuple has ended, + * the new one is read. After that, the current IndexTuple is + * scanned until it runs out. The IndexTuple themselves are read + * until they end on the page. + */ + if(inter_call_data->need_new_tuple) + { + /* Read the new IndexTuple */ + get_new_index_tuple(inter_call_data); + + /* + * Every time you read a new IndexTuple, you need to reset the + * tid for the rumDataPageLeafRead() function to work correctly. + */ + memset(rum_item_ptr, 0, sizeof(RumItem)); + + /* Getting the posting list */ + inter_call_data->item_ptr = RumGetPosting(inter_call_data->cur_itup); + inter_call_data->cur_tuple_item = 1; + inter_call_data->need_new_tuple = false; + inter_call_data->cur_tuple_num++; + + /* Getting key and key attribute number */ + inter_call_data->cur_tuple_key_attnum = rumtuple_get_attrnum(inter_call_data->rum_state_ptr, + inter_call_data->cur_itup); + inter_call_data->cur_tuple_key = rumtuple_get_key(inter_call_data->rum_state_ptr, + inter_call_data->cur_itup, + &(inter_call_data->cur_tuple_key_category)); + + /* The case when there is a posting tree instead of a compressed posting list */ + if(RumIsPostingTree(inter_call_data->cur_itup)) + { + /* Returning the key value */ + key_oid = get_cur_attr_oid(inter_call_data); + if(inter_call_data->cur_tuple_key_category == RUM_CAT_NORM_KEY) + values[0] = get_datum_text_by_oid(inter_call_data->cur_tuple_key, key_oid); + else nulls[0] = true; + + /* Returning the key attribute number */ + values[1] = UInt16GetDatum(inter_call_data->cur_tuple_key_attnum); + + /* Returning the key category */ + values[2] = category_get_datum_text(inter_call_data->cur_tuple_key_category); + + /* Everything stored in the RumItem structure has a NULL value */ + nulls[3] = true; + nulls[4] = true; + nulls[5] = true; + + /* Returning the root of the posting tree */ + values[6] = true; + values[7] = UInt32GetDatum(RumGetPostingTree(inter_call_data->cur_itup)); + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* The next call will require a new IndexTuple */ + inter_call_data->need_new_tuple = true; + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } + } + + /* Reading the RumItem structures from the IndexTuple */ + inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, + inter_call_data->cur_tuple_key_attnum, + rum_item_ptr, false, inter_call_data->rum_state_ptr); + + /* Returning the key value */ + key_oid = get_cur_attr_oid(inter_call_data); + if(inter_call_data->cur_tuple_key_category == RUM_CAT_NORM_KEY) + values[0] = get_datum_text_by_oid(inter_call_data->cur_tuple_key, key_oid); + else nulls[0] = true; + + /* Returning the key attribute number */ + values[1] = UInt16GetDatum(inter_call_data->cur_tuple_key_attnum); + + /* Returning the key category */ + values[2] = category_get_datum_text(inter_call_data->cur_tuple_key_category); + + /* Writing data from rum_item to values */ + values[3] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); + values[4] = BoolGetDatum(rum_item_ptr->addInfoIsNull); + + + /* Returning add info */ + if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0) + values[5] = get_datum_text_by_oid(rum_item_ptr->addInfo, inter_call_data->add_info_oid); + else nulls[5] = true; + + /* The current IndexTuple does not contain a posting tree */ + values[6] = BoolGetDatum(false); + nulls[7] = true; + + /* + * If the current IndexTuple has ended, i.e. we have scanned all + * its RumItems, then we need to enable the need_new_tuple flag + * so that the next time the function is called, we can read + * a new IndexTuple from the page. + */ + inter_call_data->cur_tuple_item++; + if(inter_call_data->cur_tuple_item > RumGetNPosting(inter_call_data->cur_itup)) + inter_call_data->need_new_tuple = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } + + /* Completing the function */ + SRF_RETURN_DONE(fctx); +} + +/* + * The function rum_internal_entry_page_items() is designed + * to view information that is located on the internal + * pages of the index's rum entry tree. On these pages, + * information is stored in the IndexTuples. + * + * The function returns the key, the key attribute number, + * the key category (see rum.h), and the child page number. + * + * It is a SRF function, i.e. it returns one tuple per call. + */ +Datum +rum_internal_entry_page_items(PG_FUNCTION_ARGS) +{ + /* Reading input arguments */ + text *relname = PG_GETARG_TEXT_PP(0); + uint32 blkno = PG_GETARG_UINT32(1); + + /* + * The context of the function calls and the pointer + * to the long-lived inter_call_data structure. + */ + FuncCallContext *fctx; + rum_page_items_state *inter_call_data; + + /* Only the superuser can use this */ + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use this function"))); + + /* + * In the case of the first function call, it is necessary + * to get the page by its number and create a RumState + * structure for scanning the page. + */ + if (SRF_IS_FIRSTCALL()) + { + Relation rel; /* needed to initialize the RumState structure */ + bytea *raw_page; /* the raw page obtained from rel */ + + TupleDesc tupdesc; /* description of the result tuple */ + MemoryContext oldmctx; /* the old function memory context */ + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + + /* + * Initializing the FuncCallContext structure and switching the memory + * context to the one needed for structures that must be saved during + * multiple calls. + */ + fctx = SRF_FIRSTCALL_INIT(); + oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + + /* Allocating memory for a long-lived structure */ + inter_call_data = palloc(sizeof(rum_page_items_state)); + + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new, the function should return NULL */ + if (PageIsNew(page)) + { + MemoryContextSwitchTo(oldmctx); + PG_RETURN_NULL(); + } + + /* Checking the size of the opaque area of the page */ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM page"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Checking the flags */ + if (opaq->flags != 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, 0))); + + /* Build a tuple descriptor for our result type */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + elog(ERROR, "return type must be a row type"); + + /* Needed to for subsequent recording tupledesc in fctx */ + BlessTupleDesc(tupdesc); + + /* + * We save all the necessary information for + * scanning the page in a long-lived structure. + */ + inter_call_data->page = page; + inter_call_data->maxoff = PageGetMaxOffsetNumber(page); + inter_call_data->cur_tuple_num = FirstOffsetNumber; + + /* + * Save a pointer to a long-lived structure and + * tuple descriptor for our result type in fctx. + */ + fctx->user_fctx = inter_call_data; + fctx->tuple_desc = tupdesc; + + /* Switching to the old memory context */ + MemoryContextSwitchTo(oldmctx); + } + + /* Preparing to use the FuncCallContext */ + fctx = SRF_PERCALL_SETUP(); + + /* In the current call, we are reading data from the previous one */ + inter_call_data = fctx->user_fctx; + + /* Go through the page */ + if(inter_call_data->cur_tuple_num <= inter_call_data->maxoff) + { + /* returned values */ + Datum values[4]; + + /* true if the corresponding returned value is NULL */ + bool nulls[4]; + + /* For the results */ + HeapTuple resultTuple; + Datum result; + + /* To convert a key to text */ + Oid key_oid; + + memset(nulls, 0, sizeof(nulls)); + + /* Read the new IndexTuple and get the values that are stored in it */ + get_new_index_tuple(inter_call_data); + + /* Scanning the IndexTuple that we received earlier */ + inter_call_data->cur_tuple_key_attnum = rumtuple_get_attrnum(inter_call_data->rum_state_ptr, + inter_call_data->cur_itup); + inter_call_data->cur_tuple_key = rumtuple_get_key(inter_call_data->rum_state_ptr, + inter_call_data->cur_itup, + &(inter_call_data->cur_tuple_key_category)); + inter_call_data->cur_tuple_down_link = RumGetDownlink(inter_call_data->cur_itup); + + /* + * On the rightmost page, in the last IndexTuple, there is a + * high key, which is assumed to be equal to +inf. + */ + if (RumPageRightMost(inter_call_data->page) && + inter_call_data->cur_tuple_num == inter_call_data->maxoff) + { + values[0] = CStringGetTextDatum("+inf"); + nulls[1] = true; + nulls[2] = true; + values[3] = UInt32GetDatum(inter_call_data->cur_tuple_down_link); + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Increase the counter before the next call */ + inter_call_data->cur_tuple_num++; + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } + + /* Increase the counter before the next call */ + inter_call_data->cur_tuple_num++; + + /* Getting the key attribute number */ + key_oid = get_cur_attr_oid(inter_call_data); + + /* Filling in the returned values */ + if (inter_call_data->cur_tuple_key_category == RUM_CAT_NORM_KEY) + values[0] = get_datum_text_by_oid(inter_call_data->cur_tuple_key, key_oid); + else nulls[0] = true; + + values[1] = UInt16GetDatum(inter_call_data->cur_tuple_key_attnum); + values[2] = category_get_datum_text(inter_call_data->cur_tuple_key_category); + values[3] = UInt32GetDatum(inter_call_data->cur_tuple_down_link); + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); + result = HeapTupleGetDatum(resultTuple); + + /* Returning the result of the current call */ + SRF_RETURN_NEXT(fctx, result); + } + + /* Completing the function */ + SRF_RETURN_DONE(fctx); +} + +/* + * This function returns the key category as text. + */ +static Datum +category_get_datum_text(RumNullCategory category) +{ + char category_arr[][20] = {"RUM_CAT_NORM_KEY", + "RUM_CAT_NULL_KEY", + "RUM_CAT_EMPTY_ITEM", + "RUM_CAT_NULL_ITEM", + "RUM_CAT_EMPTY_QUERY"}; + + switch(category) + { + case RUM_CAT_NORM_KEY: + return CStringGetTextDatum(category_arr[0]); + + case RUM_CAT_NULL_KEY: + return CStringGetTextDatum(category_arr[1]); + + case RUM_CAT_EMPTY_ITEM: + return CStringGetTextDatum(category_arr[2]); + + case RUM_CAT_NULL_ITEM: + return CStringGetTextDatum(category_arr[3]); + + case RUM_CAT_EMPTY_QUERY: + return CStringGetTextDatum(category_arr[4]); + } + + /* In case of an error, return 0 */ + return (Datum) 0; +} + +/* + * This function places a pointer to a new IndexTuple + * in the rum_page_items_state structure. + */ +static void +get_new_index_tuple(rum_page_items_state *inter_call_data) +{ + inter_call_data->cur_itup = (IndexTuple) PageGetItem(inter_call_data->page, + PageGetItemId(inter_call_data->page, inter_call_data->cur_tuple_num)); +} + +/* + * This function gets the attribute number of the + * current key from the RumState structure. + */ +static Oid +get_cur_attr_oid(rum_page_items_state *inter_call_data) +{ + Oid result; + TupleDesc orig_tuple_desc; + OffsetNumber attnum; + FormData_pg_attribute *attrs; + + attnum = inter_call_data->cur_tuple_key_attnum; + orig_tuple_desc = inter_call_data->rum_state_ptr->origTupdesc; + attrs = orig_tuple_desc->attrs; + result = (attrs[attnum - 1]).atttypid; + + return result; +} + +/* + * A copy of the get_page_from_raw() + * function from pageinspect. + * + * Get a palloc'd, maxalign'ed page image + * from the result of get_rel_raw_page() + */ +static Page +get_page_from_raw(bytea *raw_page) +{ + Page page; + int raw_page_size; + + raw_page_size = VARSIZE_ANY_EXHDR(raw_page); + + if (raw_page_size != BLCKSZ) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid page size"), + errdetail("Expected %d bytes, got %d.", + BLCKSZ, raw_page_size))); + + page = palloc(raw_page_size); + + memcpy(page, VARDATA_ANY(raw_page), raw_page_size); + + return page; +} + +/* + * An auxiliary function that is used to convert information + * (being a Datum) into text. This is a universal way to + * return any type. + * + * The following types of data are checked: + * int2, int4, int8, float4, float8, money, oid, timestamp, + * timestamptz, time, timetz, date, interval, macaddr, inet, + * cidr, text, varchar, char, bytea, bit, varbit, numeric. + * + * TODO: All types accepted by rum must be checked, but + * perhaps some types are missing or some are superfluous. + */ +static Datum +get_datum_text_by_oid(Datum info, Oid info_oid) +{ + char *str_info = NULL; + + /* info cannot be NULL */ + Assert(DatumGetPointer(info) != NULL); + + /* + * Form a string depending on the type of info. + * + * FIXME: The macros used below are taken from the + * pg_type_d file.h, and it says not to use them + * in the new code. + */ + switch (info_oid) + { + case INT2OID: + str_info = OidOutputFunctionCall(F_INT2OUT, info); + break; + + case INT4OID: + str_info = OidOutputFunctionCall(F_INT4OUT, info); + break; + + case INT8OID: + str_info = OidOutputFunctionCall(F_INT8OUT, info); + break; + + case FLOAT4OID: + str_info = OidOutputFunctionCall(F_FLOAT4OUT, info); + break; + + case FLOAT8OID: + str_info = OidOutputFunctionCall(F_FLOAT8OUT, info); + break; + + /* + * TODO: The oid of the function for displaying this + * type as text could not be found. + */ + case MONEYOID: + /* str_addInfo = OidOutputFunctionCall(, addInfo); */ + /* break; */ + return CStringGetTextDatum("MONEYOID is not supported"); + + case OIDOID: + str_info = OidOutputFunctionCall(F_OIDOUT, info); + break; + + case TIMESTAMPOID: + str_info = OidOutputFunctionCall(F_TIMESTAMP_OUT, info); + break; + + case TIMESTAMPTZOID: + str_info = OidOutputFunctionCall(F_TIMESTAMPTZ_OUT, info); + break; + + case TIMEOID: + str_info = OidOutputFunctionCall(F_TIME_OUT, info); + break; + + case TIMETZOID: + str_info = OidOutputFunctionCall(F_TIMETZ_OUT, info); + break; + + case DATEOID: + str_info = OidOutputFunctionCall(F_DATE_OUT, info); + break; + + case INTERVALOID: + str_info = OidOutputFunctionCall(F_INTERVAL_OUT, info); + break; + + case MACADDROID: + str_info = OidOutputFunctionCall(F_MACADDR_OUT, info); + break; + + case INETOID: + str_info = OidOutputFunctionCall(F_INET_OUT, info); + break; + + case CIDROID: + str_info = OidOutputFunctionCall(F_CIDR_OUT, info); + break; + + case TEXTOID: + return info; + + case VARCHAROID: + str_info = OidOutputFunctionCall(F_VARCHAROUT, info); + break; + + case CHAROID: + str_info = OidOutputFunctionCall(F_CHAROUT, info); + break; + + /* + * TODO: For some reason, the rum index created for a single tsv + * field contains additional information as bytea. In addition, + * if additional information in this format is extracted from + * posting tree pages, it cannot be displayed correctly as text. + * If the additional information was extracted from the entry + * tree pages, then it is displayed correctly. + */ + case BYTEAOID: + /* str_info = OidOutputFunctionCall(F_BYTEAOUT, info); */ + /* break; */ + return CStringGetTextDatum("BYTEAOID is not supported"); + + case BITOID: + str_info = OidOutputFunctionCall(F_BIT_OUT, info); + break; + + case VARBITOID: + str_info = OidOutputFunctionCall(F_VARBIT_OUT, info); + break; + + case NUMERICOID: + str_info = OidOutputFunctionCall(F_NUMERIC_OUT, info); + break; + + default: + return CStringGetTextDatum("unsupported type"); + } + + return CStringGetTextDatum(str_info); +} + +/* + * This function and get_rel_raw_page() are derived from the separation + * of the get_raw_page_internal() function, which was copied from the pageinspect code. + * It is needed in order to call the initRumState() function if necessary. + */ +static Relation +get_rel_from_name(text *relname) +{ + RangeVar *relrv; + Relation rel; + + relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); + rel = relation_openrv(relrv, AccessShareLock); + + if (!RELKIND_HAS_STORAGE(rel->rd_rel->relkind)) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from relation \"%s\"", + RelationGetRelationName(rel)), errdetail_relkind_not_supported(rel->rd_rel->relkind))); /* @@ -668,3 +1552,53 @@ get_rel_raw_page(Relation rel, BlockNumber blkno) return raw_page; } + +/* + * This function looks through the addAttrs array and extracts + * the Oid of additional information for an attribute for + * which it is not NULL. + * + * TODO: The logic of the function assumes that there cannot + * be several types of additional information in the index, + * otherwise it will not work. + */ +static Oid +find_add_info_oid(RumState *rum_state_ptr) +{ + Oid add_info_oid = 0; + + /* Number of index attributes */ + int num_attrs = rum_state_ptr->origTupdesc->natts; + + /* + * For each of the attributes, we read the + * oid of additional information. + */ + for (int i = 0; i < num_attrs; i++) + if ((rum_state_ptr->addAttrs)[i] != NULL) + add_info_oid = ((rum_state_ptr->addAttrs)[i])->atttypid; + + return add_info_oid; +} + +/* + * This is an auxiliary function to get the attribute number + * for additional information. It is used in the rum_leaf_data_page_items() + * function to call the rumDataPageLeafRead() function. + */ +static OffsetNumber +find_add_info_atrr_num(RumState *rum_state_ptr) +{ + OffsetNumber add_info_attr_num = 0; + + /* Number of index attributes */ + int num_attrs = rum_state_ptr->origTupdesc->natts; + + /* Go through the addAttrs array */ + for (int i = 0; i < num_attrs; i++) + if ((rum_state_ptr->addAttrs)[i] != NULL) + add_info_attr_num = i; + + /* Need to add 1 because the attributes are numbered from 1 */ + return add_info_attr_num + 1; +} From cd5b05714d97e8387ec9e071faced13315ed61b8 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Mon, 21 Apr 2025 22:01:45 +0300 Subject: [PATCH 03/11] [PGPRO-12159] Added the output of tsv lexemes positions. If you create an index with the operator class rum_tsvector_ops, the positions of the lexemes will be saved as additional information. The positions are stored in compressed form in bytea. There is a problem that is related to the fact that in the posting tree, additional information for the senior keys is stored in a different way, which is why it has not yet been possible to output it. For all other cases, the output of additional information works correctly. Tags: rum --- src/rum.h | 6 ++ src/rum_debug_funcs.c | 206 +++++++++++++++++++++++++++++++++++------- src/rum_ts_utils.c | 8 +- 3 files changed, 182 insertions(+), 38 deletions(-) diff --git a/src/rum.h b/src/rum.h index 2139774d08..188e3da241 100644 --- a/src/rum.h +++ b/src/rum.h @@ -21,6 +21,7 @@ #include "storage/bufmgr.h" #include "utils/datum.h" #include "utils/memutils.h" +#include "tsearch/ts_type.h" #include "rumsort.h" @@ -836,6 +837,8 @@ extern RumItem *rumGetBAEntry(BuildAccumulator *accum, #define RUM_ADDINFO_JOIN 10 #define RUMNProcs 10 +#define LOWERMASK 0x1F + extern PGDLLEXPORT Datum rum_extract_tsvector(PG_FUNCTION_ARGS); extern PGDLLEXPORT Datum rum_extract_tsquery(PG_FUNCTION_ARGS); extern PGDLLEXPORT Datum rum_tsvector_config(PG_FUNCTION_ARGS); @@ -847,6 +850,9 @@ extern PGDLLEXPORT Datum rum_ts_distance_td(PG_FUNCTION_ARGS); extern PGDLLEXPORT Datum tsquery_to_distance_query(PG_FUNCTION_ARGS); +extern char* decompress_pos(char *ptr, WordEntryPos *pos); +extern unsigned int count_pos(char *ptr, int len); + /* rum_arr_utils.c */ typedef enum SimilarityType { diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 80b4acee98..96138709c5 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -27,6 +27,7 @@ #include "access/relation.h" #include "utils/varlena.h" #include "rum.h" +#include "tsearch/ts_type.h" PG_FUNCTION_INFO_V1(rum_metapage_info); PG_FUNCTION_INFO_V1(rum_page_opaque_info); @@ -115,6 +116,8 @@ static Datum category_get_datum_text(RumNullCategory category); static Oid find_add_info_oid(RumState *rum_state_ptr); static OffsetNumber find_add_info_atrr_num(RumState *rum_state_ptr); +static Datum get_positions_to_text_datum(Datum add_info); + /* * The rum_metapage_info() function is used to retrieve * information stored on the meta page of the rum index. @@ -386,12 +389,6 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* Allocating memory for a long-lived structure */ inter_call_data = palloc(sizeof(rum_page_items_state)); - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Getting a copy of the page from the raw page */ page = get_page_from_raw(raw_page); @@ -422,6 +419,12 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) errdetail("Flags %04X, expected %04X", opaq->flags, (RUM_DATA | RUM_LEAF)))); + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -494,9 +497,24 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) values[2] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ - if(!high_key_ptr->addInfoIsNull && inter_call_data->add_info_oid != 0) + if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid != BYTEAOID) + { values[3] = get_datum_text_by_oid(high_key_ptr->addInfo, inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of tokens and they need to be decoded. + */ + else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid == BYTEAOID) + { + /* values[3] = get_positions_to_text_datum(high_key_ptr->addInfo); */ + values[3] = CStringGetTextDatum("high key positions in posting tree is not supported"); + } + else nulls[3] = true; /* Forming the returned tuple */ @@ -536,8 +554,23 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) values[2] = BoolGetDatum(rum_item_ptr->addInfoIsNull); /* Returning add info */ - if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0) - values[3] = get_datum_text_by_oid(rum_item_ptr->addInfo, inter_call_data->add_info_oid); + if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid != BYTEAOID) + { + values[3] = get_datum_text_by_oid(rum_item_ptr->addInfo, + inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of tokens and they need to be decoded. + */ + else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid == BYTEAOID) + { + values[3] = get_positions_to_text_datum(rum_item_ptr->addInfo); + } + else nulls[3] = true; /* Forming the returned tuple */ @@ -619,12 +652,6 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) /* Allocating memory for a long-lived structure */ inter_call_data = palloc(sizeof(rum_page_items_state)); - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Getting a copy of the page from the raw page */ page = get_page_from_raw(raw_page); @@ -655,6 +682,12 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) errdetail("Flags %04X, expected %04X", opaq->flags, (RUM_DATA & ~RUM_LEAF)))); + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -721,9 +754,24 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) values[3] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ - if(!high_key_ptr->addInfoIsNull && inter_call_data->add_info_oid != 0) + if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid != BYTEAOID) + { values[4] = get_datum_text_by_oid(high_key_ptr->addInfo, inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of tokens and they need to be decoded. + */ + else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid == BYTEAOID) + { + /* values[4] = get_positions_to_text_datum(high_key_ptr->addInfo); */ + values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); + } + else nulls[4] = true; /* Forming the returned tuple */ @@ -745,9 +793,24 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) values[3] = BoolGetDatum(posting_item_ptr->item.addInfoIsNull); /* Returning add info */ - if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0) + if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid != BYTEAOID) + { values[4] = get_datum_text_by_oid(posting_item_ptr->item.addInfo, inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of tokens and they need to be decoded. + */ + else if (!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid == BYTEAOID) + { + /* values[4] = get_positions_to_text_datum(posting_item_ptr->item.addInfo); */ + values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); + } + else nulls[4] = true; /* Forming the returned tuple */ @@ -833,12 +896,6 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) /* Allocating memory for a long-lived structure */ inter_call_data = palloc(sizeof(rum_page_items_state)); - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Getting a copy of the page from the raw page */ page = get_page_from_raw(raw_page); @@ -869,6 +926,12 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) errdetail("Flags %04X, expected %04X", opaq->flags, RUM_LEAF))); + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -1008,10 +1071,23 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) values[3] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); values[4] = BoolGetDatum(rum_item_ptr->addInfoIsNull); - /* Returning add info */ - if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0) + if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 && + inter_call_data->add_info_oid != BYTEAOID) + { values[5] = get_datum_text_by_oid(rum_item_ptr->addInfo, inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of tokens and they need to be decoded. + */ + else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + && inter_call_data->add_info_oid == BYTEAOID) + { + values[5] = get_positions_to_text_datum(rum_item_ptr->addInfo); + } + else nulls[5] = true; /* The current IndexTuple does not contain a posting tree */ @@ -1101,12 +1177,6 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) /* Allocating memory for a long-lived structure */ inter_call_data = palloc(sizeof(rum_page_items_state)); - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Getting a copy of the page from the raw page */ page = get_page_from_raw(raw_page); @@ -1137,6 +1207,12 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) errdetail("Flags %04X, expected %04X", opaq->flags, 0))); + /* Initializing the RumState structure */ + inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); + initRumState(inter_call_data->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -1355,7 +1431,7 @@ get_page_from_raw(bytea *raw_page) * TODO: All types accepted by rum must be checked, but * perhaps some types are missing or some are superfluous. */ -static Datum +static Datum get_datum_text_by_oid(Datum info, Oid info_oid) { char *str_info = NULL; @@ -1602,3 +1678,69 @@ find_add_info_atrr_num(RumState *rum_state_ptr) /* Need to add 1 because the attributes are numbered from 1 */ return add_info_attr_num + 1; } + +#define POS_STR_BUF_LENGHT 1024 +#define POS_MAX_VAL_LENGHT 6 + +/* + * A function for extracting the positions of tokens from additional + * information. Returns a string in which the positions of the tokens + * are recorded. The memory that the string occupies must be cleared later. + */ +static Datum +get_positions_to_text_datum(Datum add_info) +{ + bytea *positions; + char *ptrt; + WordEntryPos position = 0; + int32 npos; + + Datum res; + char *positions_str; + char *positions_str_cur_ptr; + int cur_max_str_lenght; + + positions = DatumGetByteaP(add_info); + ptrt = (char *) VARDATA_ANY(positions); + npos = count_pos(VARDATA_ANY(positions), + VARSIZE_ANY_EXHDR(positions)); + + /* Initialize the string */ + positions_str = (char*) palloc(POS_STR_BUF_LENGHT * sizeof(char)); + positions_str[0] = '\0'; + cur_max_str_lenght = POS_STR_BUF_LENGHT; + positions_str_cur_ptr = positions_str; + + /* Extract the positions of the tokens and put them in the string */ + for (int i = 0; i < npos; i++) + { + /* At each iteration decode the position */ + ptrt = decompress_pos(ptrt, &position); + + /* Write this position in the string */ + sprintf(positions_str_cur_ptr, "%d,", position); + + /* Moving the pointer forward */ + positions_str_cur_ptr += strlen(positions_str_cur_ptr); + + /* + * Check that there is not too little left to the + * end of the line and, if necessary, overspend + * the memory. + */ + if (cur_max_str_lenght - (positions_str_cur_ptr - positions_str) <= POS_MAX_VAL_LENGHT) + { + cur_max_str_lenght += POS_STR_BUF_LENGHT; + positions_str = (char*) repalloc(positions_str, cur_max_str_lenght * sizeof(char)); + positions_str_cur_ptr = positions_str + strlen(positions_str); + } + } + + /* Delete the last comma if there has been at least one iteration of the loop */ + if (npos > 0) + positions_str[strlen(positions_str) - 1] = '\0'; + + res = CStringGetTextDatum(positions_str); + pfree(positions_str); + return res; +} diff --git a/src/rum_ts_utils.c b/src/rum_ts_utils.c index d3b9c5478a..042f0f2d81 100644 --- a/src/rum_ts_utils.c +++ b/src/rum_ts_utils.c @@ -16,7 +16,6 @@ #include "catalog/pg_type.h" #include "funcapi.h" #include "miscadmin.h" -#include "tsearch/ts_type.h" #include "tsearch/ts_utils.h" #include "utils/array.h" #include "utils/builtins.h" @@ -80,8 +79,6 @@ PG_FUNCTION_INFO_V1(rum_ts_join_pos); PG_FUNCTION_INFO_V1(tsquery_to_distance_query); -static unsigned int count_pos(char *ptr, int len); -static char *decompress_pos(char *ptr, WordEntryPos *pos); static Datum build_tsvector_entry(TSVector vector, WordEntry *we); static Datum build_tsvector_hash_entry(TSVector vector, WordEntry *we); static Datum build_tsquery_entry(TSQuery query, QueryOperand *operand); @@ -964,7 +961,6 @@ rum_tsquery_timestamp_consistent(PG_FUNCTION_ARGS) } #define SIXTHBIT 0x20 -#define LOWERMASK 0x1F static unsigned int compress_pos(char *target, WordEntryPos *pos, int npos) @@ -999,7 +995,7 @@ compress_pos(char *target, WordEntryPos *pos, int npos) return ptr - target; } -static char * +extern char * decompress_pos(char *ptr, WordEntryPos *pos) { int i; @@ -1027,7 +1023,7 @@ decompress_pos(char *ptr, WordEntryPos *pos) } } -static unsigned int +extern unsigned int count_pos(char *ptr, int len) { int count = 0, From 6b087bc8d178044ac336ad58303449dde7920288 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Mon, 28 Apr 2025 17:08:00 +0300 Subject: [PATCH 04/11] [PGPRO-12159] Added the output of weights. If the index is created with the appropriate class of operators, then in addition to the positions of the lexemes, weights (A, B, C, D) are also stored in the additional information. Their output has been added. In addition, Asserts have been added to the find_add_info_atr_num() and find_add_info_oid() functions, which check that there is only one (or zero) type of additional information in the index. Tags: rum --- src/rum_debug_funcs.c | 141 ++++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 68 deletions(-) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 96138709c5..0b48a74d21 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -14,10 +14,12 @@ * 2) I/O functions were not available for all types in * in the get_datum_text_by_oid() function. * - * 3) SIGSEGV in case of bytea output as additional information. + * 3) The output of lexeme positions in the high keys of the posting + * tree is not supported. */ #include "postgres.h" +#include "miscadmin.h" #include "fmgr.h" #include "funcapi.h" #include "catalog/namespace.h" @@ -115,8 +117,8 @@ static Oid get_cur_attr_oid(rum_page_items_state *inter_call_data); static Datum category_get_datum_text(RumNullCategory category); static Oid find_add_info_oid(RumState *rum_state_ptr); static OffsetNumber find_add_info_atrr_num(RumState *rum_state_ptr); - static Datum get_positions_to_text_datum(Datum add_info); +static char pos_get_weight(WordEntryPos position); /* * The rum_metapage_info() function is used to retrieve @@ -472,7 +474,7 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) */ if(fctx->call_cntr <= inter_call_data->maxoff) { - RumItem *high_key_ptr; + RumItem *high_key_ptr; /* to read high key from a page */ RumItem *rum_item_ptr; /* to read data from a page */ Datum values[4]; /* return values */ bool nulls[4]; /* true if the corresponding value is NULL */ @@ -497,7 +499,7 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) values[2] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ - if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid != BYTEAOID) { values[3] = get_datum_text_by_oid(high_key_ptr->addInfo, @@ -506,12 +508,11 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* * In this case, we are dealing with the positions - * of tokens and they need to be decoded. + * of lexemes and they need to be decoded. */ - else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid == BYTEAOID) { - /* values[3] = get_positions_to_text_datum(high_key_ptr->addInfo); */ values[3] = CStringGetTextDatum("high key positions in posting tree is not supported"); } @@ -525,26 +526,8 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) SRF_RETURN_NEXT(fctx, result); } - /* - * Reading information from the page in rum_item. - * - * TODO: The fact is that being on the posting tree page, we don't know which - * index attribute this posting tree was built for, so we don't know the - * attribute number of the additional information. But the rumDataPageLeafRead() - * function requires it to read information from the page. Here we use the auxiliary - * function find_add_info_atr_num(), which simply iterates through the array with - * attributes that are additional information and selects the attribute number for - * which the additional information attribute is not NULL. This approach is incorrect - * because there may not be additional information for the attribute on the page, - * but we hope that in this case add_info_is_null will have the value true and the - * additional information will not be read. - * - * This problem can be solved by asking the user for the attribute number of - * additional information, because going through the index from top to bottom, - * he saw it next to the link to the posting tree root. - */ + /* Reading information from the page in rum_item */ inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, - /* inter_call_data->cur_tuple_key_attnum, */ find_add_info_atrr_num(inter_call_data->rum_state_ptr), rum_item_ptr, false, inter_call_data->rum_state_ptr); @@ -554,7 +537,7 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) values[2] = BoolGetDatum(rum_item_ptr->addInfoIsNull); /* Returning add info */ - if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid != BYTEAOID) { values[3] = get_datum_text_by_oid(rum_item_ptr->addInfo, @@ -563,9 +546,9 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* * In this case, we are dealing with the positions - * of tokens and they need to be decoded. + * of lexemes and they need to be decoded. */ - else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid == BYTEAOID) { values[3] = get_positions_to_text_datum(rum_item_ptr->addInfo); @@ -729,7 +712,7 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) */ if(fctx->call_cntr <= inter_call_data->maxoff) { - RumItem *high_key_ptr; + RumItem *high_key_ptr; /* to read high key from a page */ PostingItem *posting_item_ptr; /* to read data from a page */ Datum values[5]; /* returned values */ bool nulls[5]; /* true if the corresponding returned value is NULL */ @@ -754,7 +737,7 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) values[3] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ - if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid != BYTEAOID) { values[4] = get_datum_text_by_oid(high_key_ptr->addInfo, @@ -763,12 +746,11 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) /* * In this case, we are dealing with the positions - * of tokens and they need to be decoded. + * of lexemes and they need to be decoded. */ - else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid == BYTEAOID) { - /* values[4] = get_positions_to_text_datum(high_key_ptr->addInfo); */ values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); } @@ -793,7 +775,7 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) values[3] = BoolGetDatum(posting_item_ptr->item.addInfoIsNull); /* Returning add info */ - if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0 + if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid != BYTEAOID) { values[4] = get_datum_text_by_oid(posting_item_ptr->item.addInfo, @@ -802,12 +784,11 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) /* * In this case, we are dealing with the positions - * of tokens and they need to be decoded. + * of lexemes and they need to be decoded. */ - else if (!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != 0 + else if (!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid == BYTEAOID) { - /* values[4] = get_positions_to_text_datum(posting_item_ptr->item.addInfo); */ values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); } @@ -1072,7 +1053,7 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) values[4] = BoolGetDatum(rum_item_ptr->addInfoIsNull); /* Returning add info */ - if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 && + if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid != BYTEAOID) { values[5] = get_datum_text_by_oid(rum_item_ptr->addInfo, inter_call_data->add_info_oid); @@ -1080,9 +1061,9 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) /* * In this case, we are dealing with the positions - * of tokens and they need to be decoded. + * of lexemes and they need to be decoded. */ - else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != 0 + else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid && inter_call_data->add_info_oid == BYTEAOID) { values[5] = get_positions_to_text_datum(rum_item_ptr->addInfo); @@ -1427,22 +1408,16 @@ get_page_from_raw(bytea *raw_page) * int2, int4, int8, float4, float8, money, oid, timestamp, * timestamptz, time, timetz, date, interval, macaddr, inet, * cidr, text, varchar, char, bytea, bit, varbit, numeric. - * - * TODO: All types accepted by rum must be checked, but - * perhaps some types are missing or some are superfluous. */ static Datum get_datum_text_by_oid(Datum info, Oid info_oid) { char *str_info = NULL; - /* info cannot be NULL */ - Assert(DatumGetPointer(info) != NULL); - /* * Form a string depending on the type of info. * - * FIXME: The macros used below are taken from the + * TODO: The macros used below are taken from the * pg_type_d file.h, and it says not to use them * in the new code. */ @@ -1528,18 +1503,9 @@ get_datum_text_by_oid(Datum info, Oid info_oid) str_info = OidOutputFunctionCall(F_CHAROUT, info); break; - /* - * TODO: For some reason, the rum index created for a single tsv - * field contains additional information as bytea. In addition, - * if additional information in this format is extracted from - * posting tree pages, it cannot be displayed correctly as text. - * If the additional information was extracted from the entry - * tree pages, then it is displayed correctly. - */ case BYTEAOID: - /* str_info = OidOutputFunctionCall(F_BYTEAOUT, info); */ - /* break; */ - return CStringGetTextDatum("BYTEAOID is not supported"); + str_info = OidOutputFunctionCall(F_BYTEAOUT, info); + break; case BITOID: str_info = OidOutputFunctionCall(F_BIT_OUT, info); @@ -1634,14 +1600,14 @@ get_rel_raw_page(Relation rel, BlockNumber blkno) * the Oid of additional information for an attribute for * which it is not NULL. * - * TODO: The logic of the function assumes that there cannot + * The logic of the function assumes that there cannot * be several types of additional information in the index, * otherwise it will not work. */ static Oid find_add_info_oid(RumState *rum_state_ptr) { - Oid add_info_oid = 0; + Oid add_info_oid = InvalidOid; /* Number of index attributes */ int num_attrs = rum_state_ptr->origTupdesc->natts; @@ -1651,8 +1617,13 @@ find_add_info_oid(RumState *rum_state_ptr) * oid of additional information. */ for (int i = 0; i < num_attrs; i++) + { if ((rum_state_ptr->addAttrs)[i] != NULL) + { + Assert(add_info_oid == InvalidOid); add_info_oid = ((rum_state_ptr->addAttrs)[i])->atttypid; + } + } return add_info_oid; } @@ -1661,19 +1632,28 @@ find_add_info_oid(RumState *rum_state_ptr) * This is an auxiliary function to get the attribute number * for additional information. It is used in the rum_leaf_data_page_items() * function to call the rumDataPageLeafRead() function. + * + * The logic of the function assumes that there cannot + * be several types of additional information in the index, + * otherwise it will not work. */ static OffsetNumber find_add_info_atrr_num(RumState *rum_state_ptr) { - OffsetNumber add_info_attr_num = 0; + OffsetNumber add_info_attr_num = InvalidOffsetNumber; /* Number of index attributes */ int num_attrs = rum_state_ptr->origTupdesc->natts; /* Go through the addAttrs array */ - for (int i = 0; i < num_attrs; i++) + for (int i = 0; i < num_attrs; i++) + { if ((rum_state_ptr->addAttrs)[i] != NULL) + { + Assert(add_info_attr_num == InvalidOffsetNumber); add_info_attr_num = i; + } + } /* Need to add 1 because the attributes are numbered from 1 */ return add_info_attr_num + 1; @@ -1683,8 +1663,8 @@ find_add_info_atrr_num(RumState *rum_state_ptr) #define POS_MAX_VAL_LENGHT 6 /* - * A function for extracting the positions of tokens from additional - * information. Returns a string in which the positions of the tokens + * A function for extracting the positions of lexemes from additional + * information. Returns a string in which the positions of the lexemes * are recorded. The memory that the string occupies must be cleared later. */ static Datum @@ -1711,14 +1691,17 @@ get_positions_to_text_datum(Datum add_info) cur_max_str_lenght = POS_STR_BUF_LENGHT; positions_str_cur_ptr = positions_str; - /* Extract the positions of the tokens and put them in the string */ + /* Extract the positions of the lexemes and put them in the string */ for (int i = 0; i < npos; i++) { /* At each iteration decode the position */ ptrt = decompress_pos(ptrt, &position); - /* Write this position in the string */ - sprintf(positions_str_cur_ptr, "%d,", position); + /* Write this position and weight in the string */ + if(pos_get_weight(position) == 'D') + sprintf(positions_str_cur_ptr, "%d,", WEP_GETPOS(position)); + else + sprintf(positions_str_cur_ptr, "%d%c,", WEP_GETPOS(position), pos_get_weight(position)); /* Moving the pointer forward */ positions_str_cur_ptr += strlen(positions_str_cur_ptr); @@ -1744,3 +1727,25 @@ get_positions_to_text_datum(Datum add_info) pfree(positions_str); return res; } + +/* + * The function extracts the weight and + * returns the corresponding letter. + */ +static char +pos_get_weight(WordEntryPos position) +{ + char res = 'D'; + + switch(WEP_GETWEIGHT(position)) + { + case 3: + return 'A'; + case 2: + return 'B'; + case 1: + return 'C'; + } + + return res; +} From bffb9cb6b0cff4f3d8c7c7dac47a0a49ec5ce175 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Wed, 14 May 2025 11:26:45 +0300 Subject: [PATCH 05/11] [PGPRO-12159] Fixed test crashes on version 15 of PostgreSQL. The crashes were due to the fact that the construct_array_builtin() function is not defined on versions below 16. Tags: rum --- src/rum_debug_funcs.c | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 0b48a74d21..424b18c9b8 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -316,7 +316,13 @@ rum_page_opaque_info(PG_FUNCTION_ARGS) values[1] = Int64GetDatum(opaq->rightlink); values[2] = Int32GetDatum(opaq->maxoff); values[3] = Int32GetDatum(opaq->freespace); - values[4] = PointerGetDatum(construct_array_builtin(flags, nflags, TEXTOID)); + +#if PG_VERSION_NUM >= 160000 + values[4] = ItemPointerGetDatum(construct_array_builtin(flags, nflags, TEXTOID)); +#else + values[4] = PointerGetDatum(construct_array(flags, nflags, + TEXTOID, -1, false, TYPALIGN_INT)); +#endif /* Build and return the result tuple. */ resultTuple = heap_form_tuple(tupdesc, values, nulls); @@ -495,7 +501,13 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) { high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); values[0] = BoolGetDatum(true); + +#if PG_VERSION_NUM >= 160000 values[1] = ItemPointerGetDatum(&(high_key_ptr->iptr)); +#else + values[1] = PointerGetDatum(&(high_key_ptr->iptr)); +#endif + values[2] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ @@ -533,7 +545,13 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* Writing data from rum_item to values */ values[0] = false; + +#if PG_VERSION_NUM >= 160000 values[1] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); +#else + values[1] = PointerGetDatum(&(rum_item_ptr->iptr)); +#endif + values[2] = BoolGetDatum(rum_item_ptr->addInfoIsNull); /* Returning add info */ @@ -733,7 +751,13 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); values[0] = BoolGetDatum(true); nulls[1] = true; + +#if PG_VERSION_NUM >= 160000 values[2] = ItemPointerGetDatum(&(high_key_ptr->iptr)); +#else + values[2] = PointerGetDatum(&(high_key_ptr->iptr)); +#endif + values[3] = BoolGetDatum(high_key_ptr->addInfoIsNull); /* Returning add info */ @@ -771,7 +795,13 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) /* Writing data from posting_item_ptr to values */ values[0] = BoolGetDatum(false); values[1] = UInt32GetDatum(PostingItemGetBlockNumber(posting_item_ptr)); + +#if PG_VERSION_NUM >= 160000 values[2] = ItemPointerGetDatum(&(posting_item_ptr->item.iptr)); +#else + values[2] = PointerGetDatum(&(posting_item_ptr->item.iptr)); +#endif + values[3] = BoolGetDatum(posting_item_ptr->item.addInfoIsNull); /* Returning add info */ @@ -1049,7 +1079,12 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) values[2] = category_get_datum_text(inter_call_data->cur_tuple_key_category); /* Writing data from rum_item to values */ +#if PG_VERSION_NUM >= 160000 values[3] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); +#else + values[3] = PointerGetDatum(&(rum_item_ptr->iptr)); +#endif + values[4] = BoolGetDatum(rum_item_ptr->addInfoIsNull); /* Returning add info */ From cae844189248ff5e7e2134e8a55aedf67e9fbf32 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Wed, 14 May 2025 15:12:18 +0300 Subject: [PATCH 06/11] [PGPRO-12159] Fixed test crashes on version 14 of PostgreSQL. The crashes were due to the fact that the errdetail_relkind_not_supported() function is not defined on versions below 15. Tags: rum --- src/rum_debug_funcs.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 424b18c9b8..8516a9b624 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -1575,12 +1575,41 @@ get_rel_from_name(text *relname) relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); rel = relation_openrv(relrv, AccessShareLock); +#if PG_VERSION_NUM >= 150000 if (!RELKIND_HAS_STORAGE(rel->rd_rel->relkind)) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("cannot get raw page from relation \"%s\"", RelationGetRelationName(rel)), errdetail_relkind_not_supported(rel->rd_rel->relkind))); +#else + /* Check that this relation has storage */ + if (rel->rd_rel->relkind == RELKIND_VIEW) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from view \"%s\"", + RelationGetRelationName(rel)))); + if (rel->rd_rel->relkind == RELKIND_COMPOSITE_TYPE) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from composite type \"%s\"", + RelationGetRelationName(rel)))); + if (rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from foreign table \"%s\"", + RelationGetRelationName(rel)))); + if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from partitioned table \"%s\"", + RelationGetRelationName(rel)))); + if (rel->rd_rel->relkind == RELKIND_PARTITIONED_INDEX) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("cannot get raw page from partitioned index \"%s\"", + RelationGetRelationName(rel)))); +#endif /* * Reject attempts to read non-local temporary relations; we would be From 71e623099f93514c356d6f1942000a8ad9ac9eac Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Wed, 14 May 2025 18:44:32 +0300 Subject: [PATCH 07/11] [PGPRO-12159] Fixed test crashes on version 13 of PostgreSQL. The crashes were due to the fact that the MONEYOID is not defined on versions below 14. Tags: rum --- src/rum_debug_funcs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 8516a9b624..df24aea98a 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -318,7 +318,7 @@ rum_page_opaque_info(PG_FUNCTION_ARGS) values[3] = Int32GetDatum(opaq->freespace); #if PG_VERSION_NUM >= 160000 - values[4] = ItemPointerGetDatum(construct_array_builtin(flags, nflags, TEXTOID)); + values[4] = PointerGetDatum(construct_array_builtin(flags, nflags, TEXTOID)); #else values[4] = PointerGetDatum(construct_array(flags, nflags, TEXTOID, -1, false, TYPALIGN_INT)); @@ -1478,6 +1478,7 @@ get_datum_text_by_oid(Datum info, Oid info_oid) str_info = OidOutputFunctionCall(F_FLOAT8OUT, info); break; +#if PG_VERSION_NUM >= 140000 /* * TODO: The oid of the function for displaying this * type as text could not be found. @@ -1486,6 +1487,7 @@ get_datum_text_by_oid(Datum info, Oid info_oid) /* str_addInfo = OidOutputFunctionCall(, addInfo); */ /* break; */ return CStringGetTextDatum("MONEYOID is not supported"); +#endif case OIDOID: str_info = OidOutputFunctionCall(F_OIDOUT, info); From 17420af6473ce3dad791d8c33988b721f22569ec Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Mon, 23 Jun 2025 11:43:33 +0300 Subject: [PATCH 08/11] [PGPRO-12159] Code review. Added functions for checks. Added auxiliary functions to reduce code duplication. Tags: rum --- src/rum_debug_funcs.c | 471 +++++++++++++++++++----------------------- 1 file changed, 215 insertions(+), 256 deletions(-) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index df24aea98a..69d272e2a8 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -38,6 +38,18 @@ PG_FUNCTION_INFO_V1(rum_internal_data_page_items); PG_FUNCTION_INFO_V1(rum_leaf_entry_page_items); PG_FUNCTION_INFO_V1(rum_internal_entry_page_items); +/* + * This is necessary in order for the prepare_scan() + * function to determine the type of the scanned page. + */ +typedef enum +{ + LEAF_DATA_PAGE, + INTERNAL_DATA_PAGE, + LEAF_ENTRY_PAGE, + INTERNAL_ENTRY_PAGE +} page_type_flags; + /* * A structure that stores information between calls to the * rum_leaf_data_page_items(), rum_internal_data_page_items(), @@ -119,6 +131,16 @@ static Oid find_add_info_oid(RumState *rum_state_ptr); static OffsetNumber find_add_info_atrr_num(RumState *rum_state_ptr); static Datum get_positions_to_text_datum(Datum add_info); static char pos_get_weight(WordEntryPos position); +static void check_superuser(void); +static void check_page_opaque_data_size(Page page); +static void check_page_is_meta_page(RumPageOpaque opaq); +static void check_page_is_leaf_data_page(RumPageOpaque opaq); +static void check_page_is_internal_data_page(RumPageOpaque opaq); +static void check_page_is_leaf_entry_page(RumPageOpaque opaq); +static void check_page_is_internal_entry_page(RumPageOpaque opaq); +static bool prepare_scan(text *relname, uint32 blkno, + rum_page_items_state **inter_call_data, + page_type_flags page_type); /* * The rum_metapage_info() function is used to retrieve @@ -153,10 +175,7 @@ rum_metapage_info(PG_FUNCTION_ARGS) char version_buf[20]; /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use raw page functions"))); + check_superuser(); /* Getting rel by name and raw page by number */ rel = get_rel_from_name(relname); @@ -171,24 +190,13 @@ rum_metapage_info(PG_FUNCTION_ARGS) PG_RETURN_NULL(); /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM metapage"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); + check_page_opaque_data_size(page); /* Getting a page description from an opaque area */ opaq = RumPageGetOpaque(page); /* Checking the flags */ - if (opaq->flags != RUM_META) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a RUM metapage"), - errdetail("Flags %04X, expected %04X", - opaq->flags, RUM_META))); + check_page_is_meta_page(opaq); /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) @@ -252,10 +260,7 @@ rum_page_opaque_info(PG_FUNCTION_ARGS) uint16 flagbits; /* flags in the opaque area of the page */ /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use raw page functions"))); + check_superuser(); /* Getting rel by name and raw page by number */ rel = get_rel_from_name(relname); @@ -270,13 +275,7 @@ rum_page_opaque_info(PG_FUNCTION_ARGS) PG_RETURN_NULL(); /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM data leaf page"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); + check_page_opaque_data_size(page); /* Getting a page description from an opaque area */ opaq = RumPageGetOpaque(page); @@ -362,77 +361,33 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) rum_page_items_state *inter_call_data; /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use this function"))); + check_superuser(); /* * In the case of the first function call, it is necessary - * to get the page by its number and create a Runstate + * to get the page by its number and create a RumState * structure for scanning the page. */ if (SRF_IS_FIRSTCALL()) { - Relation rel; /* needed to initialize the RumState structure */ - bytea *raw_page; /* The raw page obtained from rel */ - TupleDesc tupdesc; /* description of the result tuple */ MemoryContext oldmctx; /* the old function memory context */ - Page page; /* the page to be scanned */ - RumPageOpaque opaq; /* data from the opaque area of the page */ /* * Initializing the FuncCallContext structure and switching the memory * context to the one needed for structures that must be saved during - * multiple calls + * multiple calls. */ fctx = SRF_FIRSTCALL_INIT(); oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); - /* Getting rel by name and raw page by number */ - rel = get_rel_from_name(relname); - raw_page = get_rel_raw_page(rel, blkno); - - /* Allocating memory for a long-lived structure */ - inter_call_data = palloc(sizeof(rum_page_items_state)); - - /* Getting a copy of the page from the raw page */ - page = get_page_from_raw(raw_page); - /* If the page is new, the function should return NULL */ - if (PageIsNew(page)) + if (!prepare_scan(relname, blkno, &inter_call_data, LEAF_DATA_PAGE)) { MemoryContextSwitchTo(oldmctx); PG_RETURN_NULL(); } - /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM page"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); - - /* Getting a page description from an opaque area */ - opaq = RumPageGetOpaque(page); - - /* Checking the flags */ - if (opaq->flags != (RUM_DATA | RUM_LEAF)) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a RUM {data, leaf} page"), - errdetail("Flags %04X, expected %04X", - opaq->flags, (RUM_DATA | RUM_LEAF)))); - - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -440,21 +395,6 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) /* Needed to for subsequent recording tupledesc in fctx */ BlessTupleDesc(tupdesc); - /* - * Write to the long-lived structure the number of RumItem - * structures on the page and a pointer to the data on the page. - */ - inter_call_data->page = page; - inter_call_data->maxoff = opaq->maxoff; - inter_call_data->item_ptr = RumDataPageGetData(page); - inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); - - /* - * It is necessary for the correct reading of the - * tid (see the function rumDataPageLeafRead()) - */ - memset(&(inter_call_data->cur_rum_item), 0, sizeof(RumItem)); - /* * Save a pointer to a long-lived structure and * tuple descriptor for our result type in fctx. @@ -618,10 +558,7 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) rum_page_items_state *inter_call_data; /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use this function"))); + check_superuser(); /* * In the case of the first function call, it is necessary @@ -630,13 +567,8 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) */ if (SRF_IS_FIRSTCALL()) { - Relation rel; /* needed to initialize the RumState structure */ - bytea *raw_page; /* The raw page obtained from rel */ - TupleDesc tupdesc; /* description of the result tuple */ MemoryContext oldmctx; /* the old function memory context */ - Page page; /* the page to be scanned */ - RumPageOpaque opaq; /* data from the opaque area of the page */ /* * Initializing the FuncCallContext structure and switching the memory @@ -646,49 +578,13 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) fctx = SRF_FIRSTCALL_INIT(); oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); - /* Getting rel by name and raw page by number */ - rel = get_rel_from_name(relname); - raw_page = get_rel_raw_page(rel, blkno); - - /* Allocating memory for a long-lived structure */ - inter_call_data = palloc(sizeof(rum_page_items_state)); - - /* Getting a copy of the page from the raw page */ - page = get_page_from_raw(raw_page); - /* If the page is new, the function should return NULL */ - if (PageIsNew(page)) + if (!prepare_scan(relname, blkno, &inter_call_data, INTERNAL_DATA_PAGE)) { MemoryContextSwitchTo(oldmctx); PG_RETURN_NULL(); } - /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM page"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); - - /* Getting a page description from an opaque area */ - opaq = RumPageGetOpaque(page); - - /* Checking the flags */ - if (opaq->flags != (RUM_DATA & ~RUM_LEAF)) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a RUM {data} page"), - errdetail("Flags %04X, expected %04X", - opaq->flags, (RUM_DATA & ~RUM_LEAF)))); - - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -696,15 +592,6 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) /* Needed to for subsequent recording tupledesc in fctx */ BlessTupleDesc(tupdesc); - /* - * Write to the long-lived structure the number of RumItem - * structures on the page and a pointer to the data on the page. - */ - inter_call_data->page = page; - inter_call_data->maxoff = opaq->maxoff; - inter_call_data->item_ptr = RumDataPageGetData(page); - inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); - /* * Save a pointer to a long-lived structure and * tuple descriptor for our result type in fctx. @@ -872,10 +759,7 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) rum_page_items_state *inter_call_data; /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use this function"))); + check_superuser(); /* * In the case of the first function call, it is necessary @@ -884,13 +768,8 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) */ if (SRF_IS_FIRSTCALL()) { - Relation rel; /* needed to initialize the RumState structure */ - bytea *raw_page; /* The raw page obtained from rel */ - TupleDesc tupdesc; /* description of the result tuple */ MemoryContext oldmctx; /* the old function memory context */ - Page page; /* the page to be scanned */ - RumPageOpaque opaq; /* data from the opaque area of the page */ /* * Initializing the FuncCallContext structure and switching the memory @@ -900,49 +779,13 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) fctx = SRF_FIRSTCALL_INIT(); oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); - /* Getting rel by name and raw page by number */ - rel = get_rel_from_name(relname); - raw_page = get_rel_raw_page(rel, blkno); - - /* Allocating memory for a long-lived structure */ - inter_call_data = palloc(sizeof(rum_page_items_state)); - - /* Getting a copy of the page from the raw page */ - page = get_page_from_raw(raw_page); - /* If the page is new, the function should return NULL */ - if (PageIsNew(page)) + if (!prepare_scan(relname, blkno, &inter_call_data, LEAF_ENTRY_PAGE)) { MemoryContextSwitchTo(oldmctx); PG_RETURN_NULL(); } - /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM page"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); - - /* Getting a page description from an opaque area */ - opaq = RumPageGetOpaque(page); - - /* Checking the flags */ - if (opaq->flags != RUM_LEAF) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a RUM {leaf} page"), - errdetail("Flags %04X, expected %04X", - opaq->flags, RUM_LEAF))); - - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -950,16 +793,6 @@ rum_leaf_entry_page_items(PG_FUNCTION_ARGS) /* Needed to for subsequent recording tupledesc in fctx */ BlessTupleDesc(tupdesc); - /* - * We save all the necessary information for - * scanning the page in a long-lived structure. - */ - inter_call_data->page = page; - inter_call_data->maxoff = PageGetMaxOffsetNumber(page); - inter_call_data->need_new_tuple = true; - inter_call_data->cur_tuple_num = FirstOffsetNumber; - inter_call_data->add_info_oid = find_add_info_oid(inter_call_data->rum_state_ptr); - /* * Save a pointer to a long-lived structure and * tuple descriptor for our result type in fctx. @@ -1158,10 +991,7 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) rum_page_items_state *inter_call_data; /* Only the superuser can use this */ - if (!superuser()) - ereport(ERROR, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser to use this function"))); + check_superuser(); /* * In the case of the first function call, it is necessary @@ -1170,13 +1000,8 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) */ if (SRF_IS_FIRSTCALL()) { - Relation rel; /* needed to initialize the RumState structure */ - bytea *raw_page; /* the raw page obtained from rel */ - TupleDesc tupdesc; /* description of the result tuple */ MemoryContext oldmctx; /* the old function memory context */ - Page page; /* the page to be scanned */ - RumPageOpaque opaq; /* data from the opaque area of the page */ /* * Initializing the FuncCallContext structure and switching the memory @@ -1186,49 +1011,13 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) fctx = SRF_FIRSTCALL_INIT(); oldmctx = MemoryContextSwitchTo(fctx->multi_call_memory_ctx); - /* Getting rel by name and raw page by number */ - rel = get_rel_from_name(relname); - raw_page = get_rel_raw_page(rel, blkno); - - /* Allocating memory for a long-lived structure */ - inter_call_data = palloc(sizeof(rum_page_items_state)); - - /* Getting a copy of the page from the raw page */ - page = get_page_from_raw(raw_page); - /* If the page is new, the function should return NULL */ - if (PageIsNew(page)) + if (!prepare_scan(relname, blkno, &inter_call_data, INTERNAL_ENTRY_PAGE)) { MemoryContextSwitchTo(oldmctx); PG_RETURN_NULL(); } - /* Checking the size of the opaque area of the page */ - if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a valid RUM page"), - errdetail("Expected special size %d, got %d.", - (int) MAXALIGN(sizeof(RumPageOpaqueData)), - (int) PageGetSpecialSize(page)))); - - /* Getting a page description from an opaque area */ - opaq = RumPageGetOpaque(page); - - /* Checking the flags */ - if (opaq->flags != 0) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("input page is not a RUM {} page"), - errdetail("Flags %04X, expected %04X", - opaq->flags, 0))); - - /* Initializing the RumState structure */ - inter_call_data->rum_state_ptr = palloc(sizeof(RumState)); - initRumState(inter_call_data->rum_state_ptr, rel); - - relation_close(rel, AccessShareLock); - /* Build a tuple descriptor for our result type */ if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) elog(ERROR, "return type must be a row type"); @@ -1236,14 +1025,6 @@ rum_internal_entry_page_items(PG_FUNCTION_ARGS) /* Needed to for subsequent recording tupledesc in fctx */ BlessTupleDesc(tupdesc); - /* - * We save all the necessary information for - * scanning the page in a long-lived structure. - */ - inter_call_data->page = page; - inter_call_data->maxoff = PageGetMaxOffsetNumber(page); - inter_call_data->cur_tuple_num = FirstOffsetNumber; - /* * Save a pointer to a long-lived structure and * tuple descriptor for our result type in fctx. @@ -1815,3 +1596,181 @@ pos_get_weight(WordEntryPos position) return res; } + +/* + * Functions for checks. + */ +static void +check_superuser(void) +{ + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to use this function"))); +} + +static void +check_page_opaque_data_size(Page page) +{ + if (PageGetSpecialSize(page) != MAXALIGN(sizeof(RumPageOpaqueData))) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a valid RUM metapage"), + errdetail("Expected special size %d, got %d.", + (int) MAXALIGN(sizeof(RumPageOpaqueData)), + (int) PageGetSpecialSize(page)))); +} + +static void +check_page_is_meta_page(RumPageOpaque opaq) +{ + if (opaq->flags != RUM_META) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM metapage"), + errdetail("Flags %04X, expected %04X", + opaq->flags, RUM_META))); +} + +static void +check_page_is_leaf_data_page(RumPageOpaque opaq) +{ + if (opaq->flags != (RUM_DATA | RUM_LEAF)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {data, leaf} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, (RUM_DATA | RUM_LEAF)))); +} + +static void +check_page_is_internal_data_page(RumPageOpaque opaq) +{ + if (opaq->flags != (RUM_DATA & ~RUM_LEAF)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {data} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, (RUM_DATA & ~RUM_LEAF)))); +} + +static void +check_page_is_leaf_entry_page(RumPageOpaque opaq) +{ + if (opaq->flags != RUM_LEAF) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {leaf} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, RUM_LEAF))); +} + +static void +check_page_is_internal_entry_page(RumPageOpaque opaq) +{ + if (opaq->flags != 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("input page is not a RUM {} page"), + errdetail("Flags %04X, expected %04X", + opaq->flags, 0))); +} + +/* + * An auxiliary function for preparing the scan. + * Depending on the type of page, it fills in + * inter_call_data and makes the necessary checks. + */ +static bool +prepare_scan(text *relname, uint32 blkno, + rum_page_items_state **inter_call_data, + page_type_flags page_type) +{ + Relation rel; /* needed to initialize the RumState structure */ + bytea *raw_page; /* The raw page obtained from rel */ + + Page page; /* the page to be scanned */ + RumPageOpaque opaq; /* data from the opaque area of the page */ + + /* Getting rel by name and raw page by number */ + rel = get_rel_from_name(relname); + raw_page = get_rel_raw_page(rel, blkno); + + /* Allocating memory for a long-lived structure */ + *inter_call_data = palloc(sizeof(rum_page_items_state)); + + /* Getting a copy of the page from the raw page */ + page = get_page_from_raw(raw_page); + + /* If the page is new */ + if (PageIsNew(page)) + { + pfree(*inter_call_data); + return false; + } + + /* Checking the size of the opaque area of the page */ + check_page_opaque_data_size(page); + + /* Getting a page description from an opaque area */ + opaq = RumPageGetOpaque(page); + + /* Initializing the RumState structure */ + (*inter_call_data)->rum_state_ptr = palloc(sizeof(RumState)); + initRumState((*inter_call_data)->rum_state_ptr, rel); + + relation_close(rel, AccessShareLock); + + /* Writing the page into a long-lived structure */ + (*inter_call_data)->page = page; + + /* + * Depending on the type of page, it performs the + * necessary checks and writes the necessary data + * into a long-lived structure. + */ + if (page_type == LEAF_DATA_PAGE || page_type == INTERNAL_DATA_PAGE) + { + if (page_type == LEAF_DATA_PAGE) + { + check_page_is_leaf_data_page(opaq); + + /* + * It is necessary for the correct reading of the + * tid (see the function rumDataPageLeafRead()) + */ + memset(&((*inter_call_data)->cur_rum_item), 0, sizeof(RumItem)); + } + + else check_page_is_internal_data_page(opaq); + + (*inter_call_data)->maxoff = opaq->maxoff; + (*inter_call_data)->item_ptr = RumDataPageGetData(page); + (*inter_call_data)->add_info_oid = find_add_info_oid((*inter_call_data)->rum_state_ptr); + } + + else if (page_type == LEAF_ENTRY_PAGE || page_type == INTERNAL_ENTRY_PAGE) + { + if (page_type == LEAF_ENTRY_PAGE) + { + check_page_is_leaf_entry_page(opaq); + + (*inter_call_data)->need_new_tuple = true; + (*inter_call_data)->add_info_oid = find_add_info_oid((*inter_call_data)->rum_state_ptr); + } + + else check_page_is_internal_entry_page(opaq); + + (*inter_call_data)->maxoff = PageGetMaxOffsetNumber(page); + (*inter_call_data)->cur_tuple_num = FirstOffsetNumber; + } + + else + { + pfree((*inter_call_data)->rum_state_ptr); + pfree(*inter_call_data); + return false; + } + + return true; +} From 850da09115e006bfa63176928d3057078da82654 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Wed, 25 Jun 2025 11:14:01 +0300 Subject: [PATCH 09/11] [PGPRO-12159] Code review. Added an auxiliary universal function for scanning leaf and internal pages of the Posting Tree. Added an auxiliary function for reading the high key from the pages of the Posting Tree. Tags: rum --- src/rum_debug_funcs.c | 384 +++++++++++++++++++++--------------------- 1 file changed, 194 insertions(+), 190 deletions(-) diff --git a/src/rum_debug_funcs.c b/src/rum_debug_funcs.c index 69d272e2a8..d4fe15d529 100644 --- a/src/rum_debug_funcs.c +++ b/src/rum_debug_funcs.c @@ -50,6 +50,16 @@ typedef enum INTERNAL_ENTRY_PAGE } page_type_flags; +/* + * The size of the result arrays + * depends on the type of page. + */ +typedef enum +{ + LEAF_DATA_PAGE_RES_SIZE = 4, + INTERNAL_DATA_PAGE_RES_SIZE = 5 +} page_type_res_size; + /* * A structure that stores information between calls to the * rum_leaf_data_page_items(), rum_internal_data_page_items(), @@ -104,6 +114,9 @@ typedef struct rum_page_items_state /* It is necessary to scan the posting list */ RumItem cur_rum_item; + /* For the data_page_get_next_result() function */ + PostingItem cur_pitem; + /* * The Oid of the additional information in the index. * It is read from the RumConfig structure. @@ -142,6 +155,13 @@ static bool prepare_scan(text *relname, uint32 blkno, rum_page_items_state **inter_call_data, page_type_flags page_type); +static bool data_page_get_next_result(Datum *result, rum_page_items_state *inter_call_data, + page_type_flags page_type, FuncCallContext *srf_fctx); +static void data_page_get_high_key_result(Datum *result, Datum *values, bool *nulls, + rum_page_items_state *inter_call_data, + FuncCallContext *srf_fctx, + page_type_flags page_type); + /* * The rum_metapage_info() function is used to retrieve * information stored on the meta page of the rum index. @@ -420,103 +440,10 @@ rum_leaf_data_page_items(PG_FUNCTION_ARGS) */ if(fctx->call_cntr <= inter_call_data->maxoff) { - RumItem *high_key_ptr; /* to read high key from a page */ - RumItem *rum_item_ptr; /* to read data from a page */ - Datum values[4]; /* return values */ - bool nulls[4]; /* true if the corresponding value is NULL */ - - /* For the results */ - HeapTuple resultTuple; Datum result; - memset(nulls, 0, sizeof(nulls)); - rum_item_ptr = &(inter_call_data->cur_rum_item); - - /* - * The high key of the current page is the RumItem structure and - * it is located immediately after the PageHeader. On the first - * call, we return the information it stores. - */ - if (fctx->call_cntr == 0) - { - high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); - values[0] = BoolGetDatum(true); - -#if PG_VERSION_NUM >= 160000 - values[1] = ItemPointerGetDatum(&(high_key_ptr->iptr)); -#else - values[1] = PointerGetDatum(&(high_key_ptr->iptr)); -#endif - - values[2] = BoolGetDatum(high_key_ptr->addInfoIsNull); - - /* Returning add info */ - if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid != BYTEAOID) - { - values[3] = get_datum_text_by_oid(high_key_ptr->addInfo, - inter_call_data->add_info_oid); - } - - /* - * In this case, we are dealing with the positions - * of lexemes and they need to be decoded. - */ - else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid == BYTEAOID) - { - values[3] = CStringGetTextDatum("high key positions in posting tree is not supported"); - } - - else nulls[3] = true; - - /* Forming the returned tuple */ - resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); - result = HeapTupleGetDatum(resultTuple); - - /* Returning the result of the current call */ - SRF_RETURN_NEXT(fctx, result); - } - - /* Reading information from the page in rum_item */ - inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, - find_add_info_atrr_num(inter_call_data->rum_state_ptr), - rum_item_ptr, false, inter_call_data->rum_state_ptr); - - /* Writing data from rum_item to values */ - values[0] = false; - -#if PG_VERSION_NUM >= 160000 - values[1] = ItemPointerGetDatum(&(rum_item_ptr->iptr)); -#else - values[1] = PointerGetDatum(&(rum_item_ptr->iptr)); -#endif - - values[2] = BoolGetDatum(rum_item_ptr->addInfoIsNull); - - /* Returning add info */ - if(!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid != BYTEAOID) - { - values[3] = get_datum_text_by_oid(rum_item_ptr->addInfo, - inter_call_data->add_info_oid); - } - - /* - * In this case, we are dealing with the positions - * of lexemes and they need to be decoded. - */ - else if (!(rum_item_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid == BYTEAOID) - { - values[3] = get_positions_to_text_datum(rum_item_ptr->addInfo); - } - - else nulls[3] = true; - - /* Forming the returned tuple */ - resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); - result = HeapTupleGetDatum(resultTuple); + data_page_get_next_result(&result, inter_call_data, + LEAF_DATA_PAGE, fctx); /* Returning the result of the current call */ SRF_RETURN_NEXT(fctx, result); @@ -617,103 +544,10 @@ rum_internal_data_page_items(PG_FUNCTION_ARGS) */ if(fctx->call_cntr <= inter_call_data->maxoff) { - RumItem *high_key_ptr; /* to read high key from a page */ - PostingItem *posting_item_ptr; /* to read data from a page */ - Datum values[5]; /* returned values */ - bool nulls[5]; /* true if the corresponding returned value is NULL */ - - /* For the results */ - HeapTuple resultTuple; Datum result; - memset(nulls, 0, sizeof(nulls)); - - /* - * The high key of the current page is the RumItem structure and - * it is located immediately after the PageHeader. On the first - * call, we return the information it stores. - */ - if (fctx->call_cntr == 0) - { - high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); - values[0] = BoolGetDatum(true); - nulls[1] = true; - -#if PG_VERSION_NUM >= 160000 - values[2] = ItemPointerGetDatum(&(high_key_ptr->iptr)); -#else - values[2] = PointerGetDatum(&(high_key_ptr->iptr)); -#endif - - values[3] = BoolGetDatum(high_key_ptr->addInfoIsNull); - - /* Returning add info */ - if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid != BYTEAOID) - { - values[4] = get_datum_text_by_oid(high_key_ptr->addInfo, - inter_call_data->add_info_oid); - } - - /* - * In this case, we are dealing with the positions - * of lexemes and they need to be decoded. - */ - else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid == BYTEAOID) - { - values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); - } - - else nulls[4] = true; - - /* Forming the returned tuple */ - resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); - result = HeapTupleGetDatum(resultTuple); - - /* Returning the result of the current call */ - SRF_RETURN_NEXT(fctx, result); - } - - /* Reading information from the page */ - posting_item_ptr = (PostingItem *) inter_call_data->item_ptr; - inter_call_data->item_ptr += sizeof(PostingItem); - - /* Writing data from posting_item_ptr to values */ - values[0] = BoolGetDatum(false); - values[1] = UInt32GetDatum(PostingItemGetBlockNumber(posting_item_ptr)); - -#if PG_VERSION_NUM >= 160000 - values[2] = ItemPointerGetDatum(&(posting_item_ptr->item.iptr)); -#else - values[2] = PointerGetDatum(&(posting_item_ptr->item.iptr)); -#endif - - values[3] = BoolGetDatum(posting_item_ptr->item.addInfoIsNull); - - /* Returning add info */ - if(!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid != BYTEAOID) - { - values[4] = get_datum_text_by_oid(posting_item_ptr->item.addInfo, - inter_call_data->add_info_oid); - } - - /* - * In this case, we are dealing with the positions - * of lexemes and they need to be decoded. - */ - else if (!posting_item_ptr->item.addInfoIsNull && inter_call_data->add_info_oid != InvalidOid - && inter_call_data->add_info_oid == BYTEAOID) - { - values[4] = CStringGetTextDatum("high key positions in posting tree is not supported"); - } - - else nulls[4] = true; - - /* Forming the returned tuple */ - resultTuple = heap_form_tuple(fctx->tuple_desc, values, nulls); - result = HeapTupleGetDatum(resultTuple); + data_page_get_next_result(&result, inter_call_data, + INTERNAL_DATA_PAGE, fctx); /* Returning the result of the current call */ SRF_RETURN_NEXT(fctx, result); @@ -1740,6 +1574,7 @@ prepare_scan(text *relname, uint32 blkno, * tid (see the function rumDataPageLeafRead()) */ memset(&((*inter_call_data)->cur_rum_item), 0, sizeof(RumItem)); + memset(&((*inter_call_data)->cur_pitem), 0, sizeof(PostingItem)); } else check_page_is_internal_data_page(opaq); @@ -1774,3 +1609,172 @@ prepare_scan(text *relname, uint32 blkno, return true; } + +/* + * An auxiliary function for reading information from leaf + * and internal pages of the Posting Tree. For each call, + * it returns the next result to be returned from the SRF + * function. + * + * Note: although Posting Item is only used on internal + * pages of Posting True, in this function it is used as + * a storage for the information being read. This is + * convenient in order to make this function universal + * for internal and leaf pages of the Posting Tree. + */ +static bool +data_page_get_next_result(Datum *result, rum_page_items_state *inter_call_data, + page_type_flags page_type, FuncCallContext *srf_fctx) +{ + PostingItem *pitem_ptr; /* to read data from a page */ + Datum *values; /* return values */ + bool *nulls; /* true if the corresponding value is NULL */ + int res_size; /* size of arrays with results */ + int counter = 0; /* counter for filling arrays */ + HeapTuple resultTuple; /* to generate the results */ + + /* The size of the result array depends on the type of page */ + if (page_type == LEAF_DATA_PAGE) + res_size = LEAF_DATA_PAGE_RES_SIZE; + else if (page_type == INTERNAL_DATA_PAGE) + res_size = INTERNAL_DATA_PAGE_RES_SIZE; + else return false; + + values = (Datum*) palloc(res_size * sizeof(Datum)); + nulls = (bool*) palloc(res_size * sizeof(bool)); + memset(nulls, 0, sizeof(bool) * res_size); + + /* Pointer to the currently readable element */ + pitem_ptr = &(inter_call_data->cur_pitem); + + /* + * The high key of the current page is the RumItem structure and + * it is located immediately after the PageHeader. On the first + * call, we return the information it stores. + */ + if (srf_fctx->call_cntr == 0) + { + data_page_get_high_key_result(result, values, nulls, + inter_call_data, + srf_fctx, page_type); + + /* Returning the result */ + pfree(values); + pfree(nulls); + return true; + } + + /* Reading information from the leaf data page */ + if (page_type == LEAF_DATA_PAGE) + { + inter_call_data->item_ptr = rumDataPageLeafRead(inter_call_data->item_ptr, + find_add_info_atrr_num(inter_call_data->rum_state_ptr), + &(pitem_ptr->item), false, inter_call_data->rum_state_ptr); + } + + /* Reading information from the internal data page */ + else + { + pitem_ptr = (PostingItem*) inter_call_data->item_ptr; + inter_call_data->item_ptr += sizeof(PostingItem); + } + + /* Write the read information into arrays of results */ + values[counter++] = BoolGetDatum(false); + + if (page_type == INTERNAL_DATA_PAGE) + values[counter++] = UInt32GetDatum(PostingItemGetBlockNumber(pitem_ptr)); + +#if PG_VERSION_NUM >= 160000 + values[counter++] = ItemPointerGetDatum(&(pitem_ptr->item.iptr)); +#else + values[counter++] = PointerGetDatum(&(pitem_ptr->item.iptr)); +#endif + + values[counter++] = BoolGetDatum(pitem_ptr->item.addInfoIsNull); + + /* Writing add info */ + if(!(pitem_ptr->item.addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid + && inter_call_data->add_info_oid != BYTEAOID) + { + values[counter] = get_datum_text_by_oid(pitem_ptr->item.addInfo, + inter_call_data->add_info_oid); + } + + else if (!(pitem_ptr->item.addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid + && inter_call_data->add_info_oid == BYTEAOID) + { + if (page_type == LEAF_DATA_PAGE) + values[counter] = get_positions_to_text_datum(pitem_ptr->item.addInfo); + else + values[counter] = CStringGetTextDatum("high key positions in posting tree is not supported"); + } + + else nulls[counter] = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(srf_fctx->tuple_desc, values, nulls); + *result = HeapTupleGetDatum(resultTuple); + + pfree(values); + pfree(nulls); + return true; +} + +/* + * An auxiliary function for reading the high key + * from the internal and leaf pages of the Posting Tree. + */ +static void +data_page_get_high_key_result(Datum *result, Datum *values, bool *nulls, + rum_page_items_state *inter_call_data, + FuncCallContext *srf_fctx, page_type_flags page_type) +{ + RumItem *high_key_ptr; /* to read high key from a page */ + int counter = 0; /* counter for filling arrays */ + HeapTuple resultTuple; /* to generate the results */ + + /* Reading the high key from the page */ + high_key_ptr = RumDataPageGetRightBound(inter_call_data->page); + + /* Write the read information into arrays of results */ + values[counter++] = BoolGetDatum(true); + + if (page_type == INTERNAL_DATA_PAGE) + nulls[counter++] = true; + +#if PG_VERSION_NUM >= 160000 + values[counter++] = ItemPointerGetDatum(&(high_key_ptr->iptr)); +#else + values[counter++] = PointerGetDatum(&(high_key_ptr->iptr)); +#endif + + values[counter++] = BoolGetDatum(high_key_ptr->addInfoIsNull); + + /* Writing add info */ + if(!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid + && inter_call_data->add_info_oid != BYTEAOID) + { + values[counter] = get_datum_text_by_oid(high_key_ptr->addInfo, + inter_call_data->add_info_oid); + } + + /* + * In this case, we are dealing with the positions + * of lexemes and they need to be decoded. + * + * TODO: At the moment high key positions + * in posting tree is not supported. + */ + else if (!(high_key_ptr->addInfoIsNull) && inter_call_data->add_info_oid != InvalidOid + && inter_call_data->add_info_oid == BYTEAOID) + { + values[counter] = CStringGetTextDatum("high key positions in posting tree is not supported"); + } + + else nulls[counter] = true; + + /* Forming the returned tuple */ + resultTuple = heap_form_tuple(srf_fctx->tuple_desc, values, nulls); + *result = HeapTupleGetDatum(resultTuple); +} From a2a3c3b3e8d2aef04170749c4527a5f13038f465 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Mon, 30 Jun 2025 11:45:59 +0300 Subject: [PATCH 10/11] [PGPRO-12159] Fixed incorrect behaviour on 32-bit machines. Tags: rum --- rum_init.sql | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/rum_init.sql b/rum_init.sql index edfc54968f..1457c8a5f7 100644 --- a/rum_init.sql +++ b/rum_init.sql @@ -1727,7 +1727,7 @@ LANGUAGE C IMMUTABLE STRICT; CREATE FUNCTION rum_metapage_info( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT pending_head bigint, OUT pending_tail bigint, OUT tail_free_size int4, @@ -1743,7 +1743,7 @@ LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_page_opaque_info( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT leftlink bigint, OUT rightlink bigint, OUT maxoff int4, @@ -1754,7 +1754,7 @@ LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_leaf_data_page_items( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT is_high_key bool, OUT tuple_id tid, OUT add_info_is_null bool, @@ -1765,9 +1765,9 @@ LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_internal_data_page_items( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT is_high_key bool, - OUT block_number int8, + OUT block_number int4, OUT tuple_id tid, OUT add_info_is_null bool, OUT add_info varchar) @@ -1777,26 +1777,26 @@ LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_leaf_entry_page_items( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT key varchar, - OUT attrnum int8, + OUT attrnum int4, OUT category varchar, OUT tuple_id tid, OUT add_info_is_null bool, OUT add_info varchar, OUT is_postring_tree bool, - OUT postring_tree_root int8) + OUT postring_tree_root int4) RETURNS SETOF record AS 'MODULE_PATHNAME', 'rum_leaf_entry_page_items' LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION rum_internal_entry_page_items( IN rel_name text, - IN blk_num int8, + IN blk_num int4, OUT key varchar, - OUT attrnum int8, + OUT attrnum int4, OUT category varchar, - OUT down_link int8) + OUT down_link int4) RETURNS SETOF record AS 'MODULE_PATHNAME', 'rum_internal_entry_page_items' LANGUAGE C STRICT PARALLEL SAFE; From 94bf9c18e7e50cdfbb8ba4b3132bde40f2107371 Mon Sep 17 00:00:00 2001 From: Arseny Kositsyn Date: Thu, 26 Jun 2025 17:57:32 +0300 Subject: [PATCH 11/11] [PGPRO-12159] Added tests for rum_debug_funcs. rum_debug_funcs tests added only for enterprise. Tags: rum --- Makefile | 7 +- expected/rum_debug_funcs.out | 9257 ++++++++++++++++++++++++++++++++ expected/rum_debug_funcs_1.out | 7895 +++++++++++++++++++++++++++ sql/rum_debug_funcs.sql | 126 + 4 files changed, 17284 insertions(+), 1 deletion(-) create mode 100644 expected/rum_debug_funcs.out create mode 100644 expected/rum_debug_funcs_1.out create mode 100644 sql/rum_debug_funcs.sql diff --git a/Makefile b/Makefile index 57d48a8418..a0aea6eeb8 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ REGRESS = security rum rum_validate rum_hash ruminv timestamp \ int2 int4 int8 float4 float8 money oid \ time timetz date interval \ macaddr inet cidr text varchar char bytea bit varbit \ - numeric rum_weight expr array + numeric rum_weight expr array rum_debug_funcs TAP_TESTS = 1 @@ -48,6 +48,11 @@ endif $(EXTENSION)--$(EXTVERSION).sql: rum_init.sql cat $^ > $@ +# rum_debug_funcs tests only for enterprise +ifneq ($(PGPRO_EDITION), enterprise) + REGRESS := $(filter-out rum_debug_funcs, $(REGRESS)) +endif + # # On versions 12 and 13 isolation tests cannot be run using pgxs. # Override installcheck target to avoid the error. This is just a diff --git a/expected/rum_debug_funcs.out b/expected/rum_debug_funcs.out new file mode 100644 index 0000000000..90957a6605 --- /dev/null +++ b/expected/rum_debug_funcs.out @@ -0,0 +1,9257 @@ +CREATE TABLE test_debug_table (id int, t tsvector, d timestamp); +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +-- It is necessary to create all types of pages in the Posting Tree +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table(id, t, d) + VALUES(i, 'b9', '2016-05-02 00:21:22.326724'); + END LOOP; +END; +$$; +-- Testing on the index without additional information +CREATE INDEX test_without_addinfo_idx ON test_debug_table +USING rum (t, d); +SELECT * FROM rum_metapage_info('test_without_addinfo_idx', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 87 +n_entry_pages | 80 +n_data_pages | 6 +n_entries | 1650 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_without_addinfo_idx', 1); + key | attrnum | category | down_link +---------------------------------+---------+------------------+----------- + 3d | 1 | RUM_CAT_NORM_KEY | 3 + 6k | 1 | RUM_CAT_NORM_KEY | 2 + a8 | 1 | RUM_CAT_NORM_KEY | 4 + al | 1 | RUM_CAT_NORM_KEY | 5 + ax | 1 | RUM_CAT_NORM_KEY | 6 + bj | 1 | RUM_CAT_NORM_KEY | 10 + c7 | 1 | RUM_CAT_NORM_KEY | 11 + cq | 1 | RUM_CAT_NORM_KEY | 12 + da | 1 | RUM_CAT_NORM_KEY | 13 + dm | 1 | RUM_CAT_NORM_KEY | 14 + dz | 1 | RUM_CAT_NORM_KEY | 15 + eb | 1 | RUM_CAT_NORM_KEY | 16 + ei | 1 | RUM_CAT_NORM_KEY | 17 + ep | 1 | RUM_CAT_NORM_KEY | 18 + ew | 1 | RUM_CAT_NORM_KEY | 19 + fc | 1 | RUM_CAT_NORM_KEY | 20 + fo | 1 | RUM_CAT_NORM_KEY | 21 + g3 | 1 | RUM_CAT_NORM_KEY | 22 + gj | 1 | RUM_CAT_NORM_KEY | 23 + gw | 1 | RUM_CAT_NORM_KEY | 24 + he | 1 | RUM_CAT_NORM_KEY | 25 + hr | 1 | RUM_CAT_NORM_KEY | 26 + i7 | 1 | RUM_CAT_NORM_KEY | 27 + ii | 1 | RUM_CAT_NORM_KEY | 28 + is | 1 | RUM_CAT_NORM_KEY | 29 + j6 | 1 | RUM_CAT_NORM_KEY | 30 + jm | 1 | RUM_CAT_NORM_KEY | 31 + k2 | 1 | RUM_CAT_NORM_KEY | 32 + kl | 1 | RUM_CAT_NORM_KEY | 33 + l1 | 1 | RUM_CAT_NORM_KEY | 34 + lk | 1 | RUM_CAT_NORM_KEY | 35 + lz | 1 | RUM_CAT_NORM_KEY | 36 + mo | 1 | RUM_CAT_NORM_KEY | 37 + nc | 1 | RUM_CAT_NORM_KEY | 38 + nx | 1 | RUM_CAT_NORM_KEY | 39 + od | 1 | RUM_CAT_NORM_KEY | 40 + on | 1 | RUM_CAT_NORM_KEY | 41 + oy | 1 | RUM_CAT_NORM_KEY | 42 + pe | 1 | RUM_CAT_NORM_KEY | 43 + pp | 1 | RUM_CAT_NORM_KEY | 44 + q1 | 1 | RUM_CAT_NORM_KEY | 45 + qa | 1 | RUM_CAT_NORM_KEY | 46 + qg | 1 | RUM_CAT_NORM_KEY | 47 + ql | 1 | RUM_CAT_NORM_KEY | 48 + qr | 1 | RUM_CAT_NORM_KEY | 49 + qw | 1 | RUM_CAT_NORM_KEY | 50 + r5 | 1 | RUM_CAT_NORM_KEY | 51 + rf | 1 | RUM_CAT_NORM_KEY | 52 + rn | 1 | RUM_CAT_NORM_KEY | 53 + rv | 1 | RUM_CAT_NORM_KEY | 54 + s8 | 1 | RUM_CAT_NORM_KEY | 55 + sk | 1 | RUM_CAT_NORM_KEY | 56 + sw | 1 | RUM_CAT_NORM_KEY | 57 + ta | 1 | RUM_CAT_NORM_KEY | 58 + tj | 1 | RUM_CAT_NORM_KEY | 59 + ts | 1 | RUM_CAT_NORM_KEY | 60 + u1 | 1 | RUM_CAT_NORM_KEY | 61 + uf | 1 | RUM_CAT_NORM_KEY | 62 + uo | 1 | RUM_CAT_NORM_KEY | 63 + uy | 1 | RUM_CAT_NORM_KEY | 64 + vk | 1 | RUM_CAT_NORM_KEY | 65 + w2 | 1 | RUM_CAT_NORM_KEY | 66 + wc | 1 | RUM_CAT_NORM_KEY | 67 + wj | 1 | RUM_CAT_NORM_KEY | 68 + wq | 1 | RUM_CAT_NORM_KEY | 69 + ww | 1 | RUM_CAT_NORM_KEY | 70 + xe | 1 | RUM_CAT_NORM_KEY | 71 + xv | 1 | RUM_CAT_NORM_KEY | 72 + yb | 1 | RUM_CAT_NORM_KEY | 73 + yk | 1 | RUM_CAT_NORM_KEY | 74 + ys | 1 | RUM_CAT_NORM_KEY | 75 + z5 | 1 | RUM_CAT_NORM_KEY | 76 + zp | 1 | RUM_CAT_NORM_KEY | 77 + Tue May 03 01:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 81 + Fri May 06 23:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 82 + Tue May 10 21:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 83 + Sat May 14 19:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 84 + Wed May 18 17:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 85 + +inf | | | 86 +(79 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 10); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 6 | 11 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_without_addinfo_idx', 10); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +-----+---------+------------------+----------+------------------+----------+------------------+-------------------- + ay | 1 | RUM_CAT_NORM_KEY | (0,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (0,23) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (2,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (2,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (4,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (4,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (4,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (5,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (6,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (6,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (6,20) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (9,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (9,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (12,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (12,4) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (13,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (15,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (15,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (16,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (17,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (17,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (18,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (19,19) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (19,23) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (20,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (20,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (21,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (23,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (23,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (24,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (24,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (25,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (25,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (26,20) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (27,4) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (29,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (29,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (29,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (30,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (30,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (31,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (31,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (31,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (34,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (34,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (36,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (37,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (37,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (38,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (39,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (40,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (40,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (41,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (41,19) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (42,4) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (42,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (43,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (44,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (44,21) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (44,24) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (45,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (46,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (48,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (48,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (49,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (50,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (50,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (51,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (52,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (54,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (54,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (54,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (55,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (55,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (56,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (56,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (56,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (59,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (59,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (61,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (62,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (62,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (63,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (64,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (65,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (65,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (66,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (66,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (67,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (67,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (68,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (69,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (69,19) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (69,22) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (70,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (71,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (73,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (73,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (74,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (75,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (75,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (76,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (77,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (79,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (79,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (79,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (80,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (80,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (81,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (81,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (81,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (84,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (84,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (86,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (87,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (87,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (88,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (89,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (90,10) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (90,13) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (91,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (91,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (92,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (92,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (93,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (94,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (94,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (94,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (95,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (96,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (97,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (98,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (98,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (99,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (99,25) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (100,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (101,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (101,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (104,4) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (104,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (105,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (105,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (105,18) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (105,19) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (106,9) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (109,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (109,8) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (111,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (111,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (112,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (113,2) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (113,21) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (115,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (115,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (116,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (116,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (116,15) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (117,3) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (118,5) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (119,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (119,11) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (119,14) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (120,7) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (121,1) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (122,17) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (123,6) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (123,12) | t | | f | + ay | 1 | RUM_CAT_NORM_KEY | (124,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (0,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (1,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (1,20) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (3,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (3,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (3,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (3,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (4,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (5,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (5,9) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (5,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (5,20) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (7,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (9,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (9,9) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (11,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (12,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (13,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (13,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (14,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (14,17) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (16,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (16,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (17,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (17,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (18,17) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (19,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (20,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (22,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (22,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (23,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (24,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (25,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (26,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (26,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (28,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (28,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (28,9) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (28,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (29,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (30,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (30,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (30,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (30,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (32,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (34,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (34,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (36,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (36,17) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (38,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (38,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (38,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (39,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (39,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (41,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (41,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (42,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (42,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (43,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (43,20) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (44,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (45,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (46,22) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (47,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (48,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (49,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (50,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (50,22) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (51,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (52,21) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (53,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (53,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (53,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (54,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (55,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (55,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (55,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (55,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (57,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (59,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (59,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (61,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (61,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (62,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (63,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (63,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (64,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (64,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (65,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (66,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (67,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (67,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (68,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (69,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (70,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (71,22) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (72,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (73,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (74,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (75,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (75,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (75,22) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (76,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (77,21) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (78,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (78,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (78,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (79,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (80,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (80,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (80,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (80,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (82,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (84,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (84,5) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (86,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (86,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (87,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (88,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (88,8) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (89,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (89,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (90,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (91,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (92,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (92,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (93,14) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (94,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (96,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (96,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (98,9) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (99,3) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (99,24) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (100,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (100,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (101,10) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (102,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (102,17) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (102,23) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (102,24) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (104,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (104,19) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (105,1) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (105,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (107,11) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (108,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (109,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (111,6) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (111,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (112,13) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (112,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (113,2) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (113,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (114,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (115,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (116,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (117,4) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (117,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (118,7) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (118,15) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (119,18) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (121,12) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (121,16) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (123,9) | t | | f | + az | 1 | RUM_CAT_NORM_KEY | (124,3) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (2,18) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (5,13) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (6,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (6,18) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (9,3) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (13,17) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (16,7) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (22,10) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (22,17) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (24,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (27,16) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (31,10) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (31,16) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (33,20) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (38,15) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (41,4) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (47,8) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (47,15) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (49,10) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (52,14) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (55,8) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (56,6) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (56,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (58,19) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (63,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (66,3) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (72,8) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (72,15) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (74,10) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (77,14) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (80,8) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (81,6) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (81,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (83,19) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (88,12) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (91,3) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (97,2) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (97,9) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (99,5) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (102,8) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (105,4) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (106,1) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (106,7) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (108,15) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (113,6) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (115,15) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (122,2) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (122,9) | t | | f | + b0 | 1 | RUM_CAT_NORM_KEY | (124,5) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (0,24) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (5,12) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (8,1) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (9,18) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (11,5) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (15,13) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (19,13) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (24,14) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (25,15) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (28,12) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (30,10) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (32,18) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (34,15) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (36,2) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (40,10) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (44,11) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (49,12) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (50,13) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (53,10) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (55,7) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (57,16) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (59,14) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (61,1) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (65,8) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (69,9) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (74,12) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (75,13) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (78,10) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (80,7) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (82,16) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (84,14) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (86,1) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (90,8) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (94,2) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (99,7) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (100,6) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (103,2) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (105,3) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (107,13) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (109,11) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (110,14) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (115,1) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (119,1) | t | | f | + b1 | 1 | RUM_CAT_NORM_KEY | (124,7) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (2,7) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,3) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,16) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,21) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (9,7) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (11,5) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (12,2) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (17,14) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (20,4) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (22,2) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (27,5) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,1) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,14) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,19) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (34,4) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,2) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,17) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (42,12) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (45,2) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (46,22) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,3) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,21) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,12) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,17) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (59,3) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,1) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,16) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (67,11) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (69,25) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (71,22) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,3) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,21) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,12) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,17) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (84,3) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,1) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,16) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (92,11) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (94,18) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (96,12) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (101,18) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (102,15) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,4) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,9) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (108,19) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (110,14) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (111,12) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (117,5) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (119,17) | t | | f | + b2 | 1 | RUM_CAT_NORM_KEY | (121,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (0,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (2,17) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (6,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (9,11) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (11,6) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (16,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (18,13) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (24,3) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (25,3) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (27,15) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (31,5) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (34,8) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (36,3) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (41,9) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (43,11) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (50,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (52,13) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (56,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (59,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (61,2) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (66,8) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (68,10) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (77,13) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (81,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (84,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (86,2) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (91,8) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (93,10) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (98,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (99,21) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (102,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (105,18) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (109,4) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (110,15) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (116,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (118,3) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (123,12) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (1,3) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (3,19) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (13,11) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,4) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,11) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,16) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (19,7) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (22,3) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (26,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (28,17) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (38,9) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,2) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,9) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,12) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (44,5) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (47,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (48,18) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (50,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (53,15) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (63,6) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,8) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,11) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,13) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (69,3) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (72,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (75,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (78,15) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (88,6) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,8) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,11) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,13) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (96,13) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (100,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (103,7) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (112,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (116,13) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,2) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,4) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,6) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,16) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (121,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,15) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (2,22) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (4,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (8,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,6) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,12) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (14,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,6) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (27,20) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (29,3) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (32,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,3) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,8) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,9) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (38,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (52,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (53,21) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (57,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,2) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,7) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,8) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (63,15) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (77,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (78,21) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (82,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,2) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,7) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,8) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (88,15) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (99,24) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (100,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (102,12) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (103,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (107,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,5) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (113,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (1,14) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (2,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (6,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (7,11) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (9,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (10,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (12,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (21,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,20) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (31,2) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (32,8) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (34,7) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (35,16) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (37,7) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (39,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (45,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (55,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (57,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (59,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (60,14) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (62,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (64,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,17) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (80,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (82,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (84,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (85,14) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (87,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (89,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (95,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (105,15) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (107,3) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (109,3) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (110,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (112,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (113,21) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (120,11) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (1,12) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (4,4) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (9,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (10,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (13,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (14,16) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (22,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (26,10) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (29,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (32,5) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (33,20) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (35,15) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (38,6) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (39,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (47,6) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (51,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (53,21) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (57,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (58,19) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (60,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (63,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (64,9) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (72,6) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (76,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (78,21) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (82,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (83,19) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (85,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (88,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (89,9) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (96,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (101,2) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (103,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (106,19) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (108,15) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (110,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (112,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (114,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (121,18) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (0,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (1,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (9,1) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (11,12) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,14) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,4) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (20,11) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,4) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,22) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (33,18) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (36,9) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (40,19) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,11) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,19) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (42,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (45,9) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (58,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (61,8) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (65,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,16) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,18) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (70,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (83,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (86,8) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,16) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,18) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (92,1) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (95,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,22) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (100,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (108,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (111,4) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,3) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,9) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,11) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (120,1) | t | | f | + b9 | 1 | RUM_CAT_NORM_KEY | | | | t | 7 + ba | 1 | RUM_CAT_NORM_KEY | (1,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (10,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (12,3) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (14,9) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (15,14) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (17,15) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (23,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (26,8) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (29,19) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (30,4) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (35,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (37,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (39,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (40,11) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (42,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (48,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (51,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (55,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (60,8) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (61,17) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (64,2) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (65,9) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (67,12) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (73,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (76,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (80,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (85,8) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (86,17) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (89,2) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (90,9) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (92,12) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (97,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (100,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (110,3) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (111,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (113,17) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (115,2) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (117,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (122,21) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (0,23) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (2,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,22) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (10,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (11,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (12,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (15,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (18,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (20,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (21,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (22,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (23,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (25,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (27,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (28,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (30,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (32,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (34,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (36,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (37,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (40,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (42,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (42,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (43,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (45,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (45,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (47,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (48,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (50,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (52,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (53,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (54,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (54,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (55,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (57,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (59,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (61,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (61,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (65,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (67,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (68,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (72,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (73,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (75,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (77,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (78,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (79,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (79,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (80,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (82,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (84,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (86,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (86,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (91,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (91,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (92,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (92,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (93,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (94,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (95,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (97,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (99,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (99,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (99,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (100,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (102,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (104,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (105,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (106,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (106,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (106,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (109,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (110,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (111,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (116,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (116,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (117,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (118,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (119,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (120,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (122,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (124,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (124,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (124,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (1,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (9,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (10,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (12,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (14,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (18,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (19,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (20,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (23,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (24,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (26,14) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (27,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,14) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (35,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (36,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (37,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (39,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (43,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (44,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (45,4) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (48,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (51,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (52,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (60,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (61,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (62,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (64,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (65,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (65,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (70,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (73,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (76,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (77,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (85,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (86,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (87,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (90,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (90,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (93,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (93,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (94,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (98,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (98,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (101,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (101,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (105,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (105,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (109,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (109,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (110,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (111,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (112,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,21) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (115,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (118,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (118,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (119,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (123,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (123,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (0,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (4,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (5,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (7,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (8,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (12,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (14,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (15,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (15,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (16,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (18,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (20,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (23,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (23,15) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (25,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (28,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (29,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (30,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (30,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (32,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (33,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (37,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (39,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (40,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (40,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (41,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (43,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (45,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (47,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (48,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (50,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (50,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (53,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (54,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (55,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (55,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (57,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (57,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (62,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (64,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (65,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (65,15) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (66,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (68,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (70,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (72,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (73,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (75,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (78,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (79,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (80,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (80,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (82,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (82,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (87,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (89,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (90,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (90,15) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (91,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (93,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (95,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (97,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (98,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (99,21) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (100,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (103,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (104,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (104,16) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (105,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (107,6) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (107,15) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (111,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (114,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (114,16) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (115,8) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (116,6) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (118,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (120,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (122,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (123,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (0,24) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (1,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (3,21) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (4,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (6,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (8,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (8,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (9,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (13,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (15,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (16,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (16,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (19,21) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (19,24) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (20,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (25,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (26,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (27,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (28,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (29,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (29,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (38,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (40,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (41,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (41,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (44,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (44,22) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (45,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (50,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (51,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (52,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (53,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (54,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (58,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (58,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (58,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (63,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (65,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (66,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (66,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (69,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (69,20) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (70,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (75,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (76,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (77,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (78,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (79,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (79,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (80,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (80,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (80,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (83,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (83,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (83,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (88,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (90,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (91,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (91,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (97,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (97,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (100,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (101,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (101,20) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (103,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (103,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (105,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (105,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (105,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (108,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (108,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (108,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (113,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (114,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (115,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (116,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (119,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (119,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (119,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (121,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (121,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (122,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (122,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (3,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (6,22) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (7,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (10,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (11,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (11,14) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (12,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (14,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (15,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (17,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (17,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (18,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (22,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (24,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (28,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (31,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (32,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (35,5) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (36,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (36,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (36,17) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (38,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (39,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (40,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (42,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (42,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (43,5) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (47,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (49,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (53,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (56,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (57,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (60,3) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (60,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (61,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (61,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (63,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (64,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (65,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (67,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (67,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (68,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (72,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (74,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (78,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (81,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (82,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (85,3) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (85,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (86,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (86,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (88,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (89,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (90,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (92,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (92,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (93,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (97,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (99,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (103,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (106,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (107,5) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (109,21) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (110,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (111,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (111,12) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (113,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (114,3) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (114,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (116,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (117,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (117,15) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (122,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (124,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (0,24) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (1,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (2,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (2,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (3,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (8,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (8,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (9,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (10,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (10,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (11,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (11,14) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (13,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (18,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (20,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (21,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (22,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (24,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (25,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (26,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (27,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (27,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (28,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (29,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (32,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (33,14) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (34,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (34,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (35,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (36,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (36,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (38,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (38,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (39,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (43,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (45,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (46,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (47,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (49,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (50,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (50,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (51,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (52,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (52,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (53,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (57,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (58,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (59,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (59,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (60,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (61,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (61,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (63,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (63,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (64,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (68,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (69,25) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (71,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (72,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (74,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (75,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (75,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (76,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (77,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (77,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (78,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (79,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (82,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (83,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (84,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (84,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (85,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (86,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (86,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (88,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (88,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (89,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (93,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (94,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (95,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (97,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (97,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (99,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (100,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (100,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (100,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (102,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (102,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (102,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (107,14) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (108,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (109,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (109,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (110,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (111,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (112,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (113,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (113,21) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (117,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (119,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (120,21) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (122,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (124,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (0,10) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (2,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (2,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (3,5) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (6,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (9,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (9,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (10,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (11,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (11,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (11,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (12,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (12,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (16,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (22,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (23,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (24,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (25,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (27,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (27,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (28,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (31,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (33,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (34,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (34,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (35,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (36,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (36,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (37,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (37,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (41,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (41,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (47,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (47,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (49,24) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (52,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (52,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (53,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (56,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (58,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (59,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (59,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (60,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (62,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (66,5) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (66,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (72,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (72,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (74,24) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (77,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (77,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (78,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (81,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (83,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (84,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (84,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (85,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (87,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (91,5) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (91,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (97,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (97,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (98,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (99,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (102,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (102,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (102,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (106,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (108,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (109,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (109,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (110,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (111,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (111,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (111,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (112,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (115,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (116,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (122,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (122,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (123,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (2,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (3,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (4,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (5,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (5,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (8,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (10,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (10,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (13,15) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (13,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (14,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (14,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (16,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (17,11) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (17,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (20,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (21,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (21,21) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (22,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (23,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (23,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (24,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (27,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (27,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (28,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (29,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (30,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (30,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (32,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (34,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (35,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (38,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (38,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (39,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (39,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (41,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (42,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (42,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (45,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (46,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (46,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (47,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (48,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (48,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (49,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (52,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (52,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (53,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (54,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (55,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (55,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (57,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (59,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (60,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (63,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (63,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (64,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (64,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (66,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (67,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (67,11) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (70,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (71,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (71,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (72,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (73,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (73,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (74,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (77,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (77,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (78,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (79,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (80,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (80,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (82,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (84,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (85,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (89,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (89,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (91,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (92,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (92,11) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (94,23) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (95,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (96,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (96,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (97,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (98,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (98,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (101,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (101,20) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (102,24) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (104,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (105,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (107,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (109,15) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (110,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (113,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (113,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (113,20) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (114,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (115,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (117,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (117,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (119,22) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (120,15) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (121,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (121,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (122,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (123,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (123,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | +(1602 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 7); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 2 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_without_addinfo_idx', 7); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+----------+------------------+---------- + t | | (0,0) | t | + f | 9 | (138,79) | t | + f | 8 | (0,0) | t | +(3 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 9); + leftlink | rightlink | maxoff | freespace | flags +------------+-----------+--------+-----------+------------- + 4294967295 | 8 | 2604 | 916 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_without_addinfo_idx', 9); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+-----------+------------------+---------- + t | (138,79) | t | + f | (0,9) | t | + f | (1,23) | t | + f | (3,5) | t | + f | (3,22) | t | + f | (3,23) | t | + f | (3,24) | t | + f | (4,11) | t | + f | (5,5) | t | + f | (5,18) | t | + f | (5,22) | t | + f | (5,23) | t | + f | (6,17) | t | + f | (6,23) | t | + f | (6,24) | t | + f | (6,25) | t | + f | (7,22) | t | + f | (8,13) | t | + f | (8,20) | t | + f | (9,21) | t | + f | (9,22) | t | + f | (9,23) | t | + f | (10,20) | t | + f | (10,21) | t | + f | (11,7) | t | + f | (11,19) | t | + f | (12,19) | t | + f | (12,20) | t | + f | (12,21) | t | + f | (12,22) | t | + f | (12,23) | t | + f | (13,18) | t | + f | (13,20) | t | + f | (13,21) | t | + f | (13,22) | t | + f | (13,23) | t | + f | (13,24) | t | + f | (13,25) | t | + f | (14,23) | t | + f | (15,21) | t | + f | (15,22) | t | + f | (15,23) | t | + f | (16,9) | t | + f | (16,16) | t | + f | (16,17) | t | + f | (16,21) | t | + f | (16,22) | t | + f | (16,23) | t | + f | (16,24) | t | + f | (16,25) | t | + f | (16,26) | t | + f | (16,27) | t | + f | (17,14) | t | + f | (17,18) | t | + f | (17,19) | t | + f | (18,2) | t | + f | (18,16) | t | + f | (18,20) | t | + f | (18,21) | t | + f | (19,26) | t | + f | (19,27) | t | + f | (19,28) | t | + f | (20,21) | t | + f | (20,22) | t | + f | (20,23) | t | + f | (20,24) | t | + f | (20,25) | t | + f | (22,20) | t | + f | (22,21) | t | + f | (23,11) | t | + f | (23,20) | t | + f | (23,21) | t | + f | (24,1) | t | + f | (24,12) | t | + f | (24,25) | t | + f | (24,26) | t | + f | (24,27) | t | + f | (25,23) | t | + f | (25,24) | t | + f | (25,25) | t | + f | (25,26) | t | + f | (26,22) | t | + f | (26,23) | t | + f | (27,23) | t | + f | (27,24) | t | + f | (27,25) | t | + f | (27,26) | t | + f | (28,3) | t | + f | (28,21) | t | + f | (29,10) | t | + f | (29,21) | t | + f | (29,22) | t | + f | (29,23) | t | + f | (30,3) | t | + f | (30,16) | t | + f | (30,21) | t | + f | (30,22) | t | + f | (30,23) | t | + f | (30,24) | t | + f | (30,25) | t | + f | (31,15) | t | + f | (32,20) | t | + f | (32,21) | t | + f | (32,22) | t | + f | (33,11) | t | + f | (33,21) | t | + f | (33,22) | t | + f | (34,21) | t | + f | (34,22) | t | + f | (34,23) | t | + f | (34,24) | t | + f | (34,25) | t | + f | (35,20) | t | + f | (36,4) | t | + f | (36,19) | t | + f | (36,20) | t | + f | (37,20) | t | + f | (37,21) | t | + f | (38,16) | t | + f | (40,21) | t | + f | (40,22) | t | + f | (41,6) | t | + f | (41,13) | t | + f | (41,14) | t | + f | (41,20) | t | + f | (41,21) | t | + f | (41,22) | t | + f | (41,23) | t | + f | (41,24) | t | + f | (41,25) | t | + f | (42,12) | t | + f | (42,17) | t | + f | (42,18) | t | + f | (42,19) | t | + f | (43,14) | t | + f | (44,26) | t | + f | (45,21) | t | + f | (46,23) | t | + f | (46,24) | t | + f | (47,22) | t | + f | (47,23) | t | + f | (47,24) | t | + f | (47,25) | t | + f | (48,7) | t | + f | (48,16) | t | + f | (48,19) | t | + f | (48,20) | t | + f | (49,10) | t | + f | (49,23) | t | + f | (49,25) | t | + f | (50,23) | t | + f | (50,24) | t | + f | (52,23) | t | + f | (52,24) | t | + f | (52,25) | t | + f | (53,1) | t | + f | (54,7) | t | + f | (54,20) | t | + f | (54,21) | t | + f | (54,22) | t | + f | (54,23) | t | + f | (55,13) | t | + f | (55,22) | t | + f | (55,23) | t | + f | (56,11) | t | + f | (56,22) | t | + f | (56,23) | t | + f | (56,24) | t | + f | (56,25) | t | + f | (56,26) | t | + f | (56,27) | t | + f | (57,19) | t | + f | (57,20) | t | + f | (57,21) | t | + f | (57,22) | t | + f | (57,23) | t | + f | (57,24) | t | + f | (57,25) | t | + f | (58,10) | t | + f | (58,21) | t | + f | (58,22) | t | + f | (58,23) | t | + f | (58,24) | t | + f | (59,22) | t | + f | (59,23) | t | + f | (59,24) | t | + f | (60,19) | t | + f | (60,20) | t | + f | (60,21) | t | + f | (60,22) | t | + f | (60,23) | t | + f | (60,24) | t | + f | (61,3) | t | + f | (61,18) | t | + f | (61,19) | t | + f | (61,20) | t | + f | (61,21) | t | + f | (61,22) | t | + f | (63,13) | t | + f | (63,22) | t | + f | (63,23) | t | + f | (63,24) | t | + f | (63,25) | t | + f | (63,26) | t | + f | (63,27) | t | + f | (65,20) | t | + f | (65,21) | t | + f | (65,22) | t | + f | (65,23) | t | + f | (66,5) | t | + f | (66,12) | t | + f | (66,13) | t | + f | (66,20) | t | + f | (67,11) | t | + f | (67,16) | t | + f | (67,18) | t | + f | (67,19) | t | + f | (68,13) | t | + f | (68,21) | t | + f | (68,22) | t | + f | (68,23) | t | + f | (68,24) | t | + f | (70,21) | t | + f | (70,22) | t | + f | (70,23) | t | + f | (70,24) | t | + f | (71,23) | t | + f | (71,24) | t | + f | (72,22) | t | + f | (72,23) | t | + f | (72,24) | t | + f | (72,25) | t | + f | (73,7) | t | + f | (73,16) | t | + f | (74,10) | t | + f | (74,23) | t | + f | (74,25) | t | + f | (75,23) | t | + f | (75,24) | t | + f | (78,1) | t | + f | (79,7) | t | + f | (79,20) | t | + f | (79,21) | t | + f | (79,22) | t | + f | (79,23) | t | + f | (80,13) | t | + f | (80,22) | t | + f | (80,23) | t | + f | (81,11) | t | + f | (82,20) | t | + f | (82,21) | t | + f | (82,22) | t | + f | (83,10) | t | + f | (83,21) | t | + f | (83,22) | t | + f | (83,23) | t | + f | (83,24) | t | + f | (84,22) | t | + f | (84,23) | t | + f | (84,24) | t | + f | (85,19) | t | + f | (85,20) | t | + f | (85,21) | t | + f | (85,22) | t | + f | (85,23) | t | + f | (85,24) | t | + f | (86,3) | t | + f | (86,18) | t | + f | (86,19) | t | + f | (86,20) | t | + f | (86,21) | t | + f | (86,22) | t | + f | (88,13) | t | + f | (88,22) | t | + f | (88,23) | t | + f | (88,24) | t | + f | (88,25) | t | + f | (88,26) | t | + f | (88,27) | t | + f | (90,21) | t | + f | (91,5) | t | + f | (91,12) | t | + f | (91,13) | t | + f | (91,20) | t | + f | (92,11) | t | + f | (92,16) | t | + f | (92,18) | t | + f | (92,19) | t | + f | (93,13) | t | + f | (95,23) | t | + f | (97,23) | t | + f | (97,24) | t | + f | (97,25) | t | + f | (98,1) | t | + f | (98,10) | t | + f | (98,17) | t | + f | (98,18) | t | + f | (98,19) | t | + f | (98,20) | t | + f | (98,21) | t | + f | (99,5) | t | + f | (99,18) | t | + f | (100,22) | t | + f | (100,23) | t | + f | (101,22) | t | + f | (101,23) | t | + f | (101,24) | t | + f | (101,25) | t | + f | (101,26) | t | + f | (101,27) | t | + f | (102,17) | t | + f | (102,25) | t | + f | (102,26) | t | + f | (102,27) | t | + f | (102,28) | t | + f | (102,29) | t | + f | (103,19) | t | + f | (103,20) | t | + f | (103,21) | t | + f | (103,22) | t | + f | (103,23) | t | + f | (104,2) | t | + f | (104,15) | t | + f | (105,9) | t | + f | (105,23) | t | + f | (105,24) | t | + f | (106,6) | t | + f | (106,20) | t | + f | (106,21) | t | + f | (106,22) | t | + f | (106,23) | t | + f | (106,24) | t | + f | (106,25) | t | + f | (106,26) | t | + f | (106,27) | t | + f | (106,28) | t | + f | (106,29) | t | + f | (106,30) | t | + f | (107,20) | t | + f | (107,21) | t | + f | (107,22) | t | + f | (107,23) | t | + f | (107,24) | t | + f | (107,25) | t | + f | (107,26) | t | + f | (107,27) | t | + f | (107,28) | t | + f | (108,6) | t | + f | (108,20) | t | + f | (108,21) | t | + f | (109,22) | t | + f | (109,23) | t | + f | (109,24) | t | + f | (109,25) | t | + f | (109,26) | t | + f | (109,27) | t | + f | (109,28) | t | + f | (109,29) | t | + f | (110,16) | t | + f | (110,18) | t | + f | (111,19) | t | + f | (111,20) | t | + f | (111,21) | t | + f | (111,22) | t | + f | (112,22) | t | + f | (113,7) | t | + f | (115,17) | t | + f | (115,20) | t | + f | (115,21) | t | + f | (115,22) | t | + f | (115,23) | t | + f | (115,24) | t | + f | (115,25) | t | + f | (115,26) | t | + f | (115,27) | t | + f | (115,28) | t | + f | (116,5) | t | + f | (116,6) | t | + f | (116,19) | t | + f | (116,20) | t | + f | (116,21) | t | + f | (117,5) | t | + f | (117,10) | t | + f | (117,19) | t | + f | (117,20) | t | + f | (118,6) | t | + f | (118,22) | t | + f | (118,23) | t | + f | (118,24) | t | + f | (118,25) | t | + f | (118,26) | t | + f | (118,27) | t | + f | (119,24) | t | + f | (119,25) | t | + f | (119,26) | t | + f | (120,24) | t | + f | (120,25) | t | + f | (121,19) | t | + f | (121,20) | t | + f | (121,21) | t | + f | (121,22) | t | + f | (121,23) | t | + f | (121,24) | t | + f | (121,25) | t | + f | (121,26) | t | + f | (121,27) | t | + f | (121,28) | t | + f | (121,29) | t | + f | (122,22) | t | + f | (122,23) | t | + f | (122,24) | t | + f | (122,25) | t | + f | (122,26) | t | + f | (122,27) | t | + f | (122,28) | t | + f | (122,29) | t | + f | (122,30) | t | + f | (123,1) | t | + f | (123,10) | t | + f | (123,17) | t | + f | (123,18) | t | + f | (123,19) | t | + f | (123,20) | t | + f | (123,21) | t | + f | (124,5) | t | + f | (124,10) | t | + f | (124,11) | t | + f | (124,12) | t | + f | (124,13) | t | + f | (124,14) | t | + f | (124,15) | t | + f | (124,16) | t | + f | (124,17) | t | + f | (124,18) | t | + f | (124,19) | t | + f | (124,20) | t | + f | (124,21) | t | + f | (124,22) | t | + f | (124,23) | t | + f | (124,24) | t | + f | (124,25) | t | + f | (124,26) | t | + f | (124,27) | t | + f | (124,28) | t | + f | (124,29) | t | + f | (124,30) | t | + f | (124,31) | t | + f | (124,32) | t | + f | (124,33) | t | + f | (124,34) | t | + f | (124,35) | t | + f | (124,36) | t | + f | (124,37) | t | + f | (124,38) | t | + f | (124,39) | t | + f | (124,40) | t | + f | (124,41) | t | + f | (124,42) | t | + f | (124,43) | t | + f | (124,44) | t | + f | (124,45) | t | + f | (124,46) | t | + f | (124,47) | t | + f | (124,48) | t | + f | (124,49) | t | + f | (124,50) | t | + f | (124,51) | t | + f | (124,52) | t | + f | (124,53) | t | + f | (124,54) | t | + f | (124,55) | t | + f | (124,56) | t | + f | (124,57) | t | + f | (124,58) | t | + f | (124,59) | t | + f | (124,60) | t | + f | (124,61) | t | + f | (124,62) | t | + f | (124,63) | t | + f | (124,64) | t | + f | (124,65) | t | + f | (124,66) | t | + f | (124,67) | t | + f | (124,68) | t | + f | (124,69) | t | + f | (124,70) | t | + f | (124,71) | t | + f | (124,72) | t | + f | (124,73) | t | + f | (124,74) | t | + f | (124,75) | t | + f | (124,76) | t | + f | (124,77) | t | + f | (124,78) | t | + f | (124,79) | t | + f | (124,80) | t | + f | (124,81) | t | + f | (124,82) | t | + f | (125,1) | t | + f | (125,2) | t | + f | (125,3) | t | + f | (125,4) | t | + f | (125,5) | t | + f | (125,6) | t | + f | (125,7) | t | + f | (125,8) | t | + f | (125,9) | t | + f | (125,10) | t | + f | (125,11) | t | + f | (125,12) | t | + f | (125,13) | t | + f | (125,14) | t | + f | (125,15) | t | + f | (125,16) | t | + f | (125,17) | t | + f | (125,18) | t | + f | (125,19) | t | + f | (125,20) | t | + f | (125,21) | t | + f | (125,22) | t | + f | (125,23) | t | + f | (125,24) | t | + f | (125,25) | t | + f | (125,26) | t | + f | (125,27) | t | + f | (125,28) | t | + f | (125,29) | t | + f | (125,30) | t | + f | (125,31) | t | + f | (125,32) | t | + f | (125,33) | t | + f | (125,34) | t | + f | (125,35) | t | + f | (125,36) | t | + f | (125,37) | t | + f | (125,38) | t | + f | (125,39) | t | + f | (125,40) | t | + f | (125,41) | t | + f | (125,42) | t | + f | (125,43) | t | + f | (125,44) | t | + f | (125,45) | t | + f | (125,46) | t | + f | (125,47) | t | + f | (125,48) | t | + f | (125,49) | t | + f | (125,50) | t | + f | (125,51) | t | + f | (125,52) | t | + f | (125,53) | t | + f | (125,54) | t | + f | (125,55) | t | + f | (125,56) | t | + f | (125,57) | t | + f | (125,58) | t | + f | (125,59) | t | + f | (125,60) | t | + f | (125,61) | t | + f | (125,62) | t | + f | (125,63) | t | + f | (125,64) | t | + f | (125,65) | t | + f | (125,66) | t | + f | (125,67) | t | + f | (125,68) | t | + f | (125,69) | t | + f | (125,70) | t | + f | (125,71) | t | + f | (125,72) | t | + f | (125,73) | t | + f | (125,74) | t | + f | (125,75) | t | + f | (125,76) | t | + f | (125,77) | t | + f | (125,78) | t | + f | (125,79) | t | + f | (125,80) | t | + f | (125,81) | t | + f | (125,82) | t | + f | (125,83) | t | + f | (125,84) | t | + f | (125,85) | t | + f | (125,86) | t | + f | (125,87) | t | + f | (125,88) | t | + f | (125,89) | t | + f | (125,90) | t | + f | (125,91) | t | + f | (125,92) | t | + f | (125,93) | t | + f | (125,94) | t | + f | (125,95) | t | + f | (125,96) | t | + f | (125,97) | t | + f | (125,98) | t | + f | (125,99) | t | + f | (125,100) | t | + f | (125,101) | t | + f | (125,102) | t | + f | (125,103) | t | + f | (125,104) | t | + f | (125,105) | t | + f | (125,106) | t | + f | (125,107) | t | + f | (125,108) | t | + f | (125,109) | t | + f | (125,110) | t | + f | (125,111) | t | + f | (125,112) | t | + f | (125,113) | t | + f | (125,114) | t | + f | (125,115) | t | + f | (125,116) | t | + f | (125,117) | t | + f | (125,118) | t | + f | (125,119) | t | + f | (125,120) | t | + f | (125,121) | t | + f | (125,122) | t | + f | (125,123) | t | + f | (125,124) | t | + f | (125,125) | t | + f | (125,126) | t | + f | (125,127) | t | + f | (125,128) | t | + f | (125,129) | t | + f | (125,130) | t | + f | (125,131) | t | + f | (125,132) | t | + f | (125,133) | t | + f | (125,134) | t | + f | (125,135) | t | + f | (125,136) | t | + f | (125,137) | t | + f | (125,138) | t | + f | (125,139) | t | + f | (125,140) | t | + f | (125,141) | t | + f | (125,142) | t | + f | (125,143) | t | + f | (125,144) | t | + f | (125,145) | t | + f | (125,146) | t | + f | (125,147) | t | + f | (125,148) | t | + f | (125,149) | t | + f | (125,150) | t | + f | (125,151) | t | + f | (125,152) | t | + f | (125,153) | t | + f | (125,154) | t | + f | (125,155) | t | + f | (125,156) | t | + f | (126,1) | t | + f | (126,2) | t | + f | (126,3) | t | + f | (126,4) | t | + f | (126,5) | t | + f | (126,6) | t | + f | (126,7) | t | + f | (126,8) | t | + f | (126,9) | t | + f | (126,10) | t | + f | (126,11) | t | + f | (126,12) | t | + f | (126,13) | t | + f | (126,14) | t | + f | (126,15) | t | + f | (126,16) | t | + f | (126,17) | t | + f | (126,18) | t | + f | (126,19) | t | + f | (126,20) | t | + f | (126,21) | t | + f | (126,22) | t | + f | (126,23) | t | + f | (126,24) | t | + f | (126,25) | t | + f | (126,26) | t | + f | (126,27) | t | + f | (126,28) | t | + f | (126,29) | t | + f | (126,30) | t | + f | (126,31) | t | + f | (126,32) | t | + f | (126,33) | t | + f | (126,34) | t | + f | (126,35) | t | + f | (126,36) | t | + f | (126,37) | t | + f | (126,38) | t | + f | (126,39) | t | + f | (126,40) | t | + f | (126,41) | t | + f | (126,42) | t | + f | (126,43) | t | + f | (126,44) | t | + f | (126,45) | t | + f | (126,46) | t | + f | (126,47) | t | + f | (126,48) | t | + f | (126,49) | t | + f | (126,50) | t | + f | (126,51) | t | + f | (126,52) | t | + f | (126,53) | t | + f | (126,54) | t | + f | (126,55) | t | + f | (126,56) | t | + f | (126,57) | t | + f | (126,58) | t | + f | (126,59) | t | + f | (126,60) | t | + f | (126,61) | t | + f | (126,62) | t | + f | (126,63) | t | + f | (126,64) | t | + f | (126,65) | t | + f | (126,66) | t | + f | (126,67) | t | + f | (126,68) | t | + f | (126,69) | t | + f | (126,70) | t | + f | (126,71) | t | + f | (126,72) | t | + f | (126,73) | t | + f | (126,74) | t | + f | (126,75) | t | + f | (126,76) | t | + f | (126,77) | t | + f | (126,78) | t | + f | (126,79) | t | + f | (126,80) | t | + f | (126,81) | t | + f | (126,82) | t | + f | (126,83) | t | + f | (126,84) | t | + f | (126,85) | t | + f | (126,86) | t | + f | (126,87) | t | + f | (126,88) | t | + f | (126,89) | t | + f | (126,90) | t | + f | (126,91) | t | + f | (126,92) | t | + f | (126,93) | t | + f | (126,94) | t | + f | (126,95) | t | + f | (126,96) | t | + f | (126,97) | t | + f | (126,98) | t | + f | (126,99) | t | + f | (126,100) | t | + f | (126,101) | t | + f | (126,102) | t | + f | (126,103) | t | + f | (126,104) | t | + f | (126,105) | t | + f | (126,106) | t | + f | (126,107) | t | + f | (126,108) | t | + f | (126,109) | t | + f | (126,110) | t | + f | (126,111) | t | + f | (126,112) | t | + f | (126,113) | t | + f | (126,114) | t | + f | (126,115) | t | + f | (126,116) | t | + f | (126,117) | t | + f | (126,118) | t | + f | (126,119) | t | + f | (126,120) | t | + f | (126,121) | t | + f | (126,122) | t | + f | (126,123) | t | + f | (126,124) | t | + f | (126,125) | t | + f | (126,126) | t | + f | (126,127) | t | + f | (126,128) | t | + f | (126,129) | t | + f | (126,130) | t | + f | (126,131) | t | + f | (126,132) | t | + f | (126,133) | t | + f | (126,134) | t | + f | (126,135) | t | + f | (126,136) | t | + f | (126,137) | t | + f | (126,138) | t | + f | (126,139) | t | + f | (126,140) | t | + f | (126,141) | t | + f | (126,142) | t | + f | (126,143) | t | + f | (126,144) | t | + f | (126,145) | t | + f | (126,146) | t | + f | (126,147) | t | + f | (126,148) | t | + f | (126,149) | t | + f | (126,150) | t | + f | (126,151) | t | + f | (126,152) | t | + f | (126,153) | t | + f | (126,154) | t | + f | (126,155) | t | + f | (126,156) | t | + f | (127,1) | t | + f | (127,2) | t | + f | (127,3) | t | + f | (127,4) | t | + f | (127,5) | t | + f | (127,6) | t | + f | (127,7) | t | + f | (127,8) | t | + f | (127,9) | t | + f | (127,10) | t | + f | (127,11) | t | + f | (127,12) | t | + f | (127,13) | t | + f | (127,14) | t | + f | (127,15) | t | + f | (127,16) | t | + f | (127,17) | t | + f | (127,18) | t | + f | (127,19) | t | + f | (127,20) | t | + f | (127,21) | t | + f | (127,22) | t | + f | (127,23) | t | + f | (127,24) | t | + f | (127,25) | t | + f | (127,26) | t | + f | (127,27) | t | + f | (127,28) | t | + f | (127,29) | t | + f | (127,30) | t | + f | (127,31) | t | + f | (127,32) | t | + f | (127,33) | t | + f | (127,34) | t | + f | (127,35) | t | + f | (127,36) | t | + f | (127,37) | t | + f | (127,38) | t | + f | (127,39) | t | + f | (127,40) | t | + f | (127,41) | t | + f | (127,42) | t | + f | (127,43) | t | + f | (127,44) | t | + f | (127,45) | t | + f | (127,46) | t | + f | (127,47) | t | + f | (127,48) | t | + f | (127,49) | t | + f | (127,50) | t | + f | (127,51) | t | + f | (127,52) | t | + f | (127,53) | t | + f | (127,54) | t | + f | (127,55) | t | + f | (127,56) | t | + f | (127,57) | t | + f | (127,58) | t | + f | (127,59) | t | + f | (127,60) | t | + f | (127,61) | t | + f | (127,62) | t | + f | (127,63) | t | + f | (127,64) | t | + f | (127,65) | t | + f | (127,66) | t | + f | (127,67) | t | + f | (127,68) | t | + f | (127,69) | t | + f | (127,70) | t | + f | (127,71) | t | + f | (127,72) | t | + f | (127,73) | t | + f | (127,74) | t | + f | (127,75) | t | + f | (127,76) | t | + f | (127,77) | t | + f | (127,78) | t | + f | (127,79) | t | + f | (127,80) | t | + f | (127,81) | t | + f | (127,82) | t | + f | (127,83) | t | + f | (127,84) | t | + f | (127,85) | t | + f | (127,86) | t | + f | (127,87) | t | + f | (127,88) | t | + f | (127,89) | t | + f | (127,90) | t | + f | (127,91) | t | + f | (127,92) | t | + f | (127,93) | t | + f | (127,94) | t | + f | (127,95) | t | + f | (127,96) | t | + f | (127,97) | t | + f | (127,98) | t | + f | (127,99) | t | + f | (127,100) | t | + f | (127,101) | t | + f | (127,102) | t | + f | (127,103) | t | + f | (127,104) | t | + f | (127,105) | t | + f | (127,106) | t | + f | (127,107) | t | + f | (127,108) | t | + f | (127,109) | t | + f | (127,110) | t | + f | (127,111) | t | + f | (127,112) | t | + f | (127,113) | t | + f | (127,114) | t | + f | (127,115) | t | + f | (127,116) | t | + f | (127,117) | t | + f | (127,118) | t | + f | (127,119) | t | + f | (127,120) | t | + f | (127,121) | t | + f | (127,122) | t | + f | (127,123) | t | + f | (127,124) | t | + f | (127,125) | t | + f | (127,126) | t | + f | (127,127) | t | + f | (127,128) | t | + f | (127,129) | t | + f | (127,130) | t | + f | (127,131) | t | + f | (127,132) | t | + f | (127,133) | t | + f | (127,134) | t | + f | (127,135) | t | + f | (127,136) | t | + f | (127,137) | t | + f | (127,138) | t | + f | (127,139) | t | + f | (127,140) | t | + f | (127,141) | t | + f | (127,142) | t | + f | (127,143) | t | + f | (127,144) | t | + f | (127,145) | t | + f | (127,146) | t | + f | (127,147) | t | + f | (127,148) | t | + f | (127,149) | t | + f | (127,150) | t | + f | (127,151) | t | + f | (127,152) | t | + f | (127,153) | t | + f | (127,154) | t | + f | (127,155) | t | + f | (127,156) | t | + f | (128,1) | t | + f | (128,2) | t | + f | (128,3) | t | + f | (128,4) | t | + f | (128,5) | t | + f | (128,6) | t | + f | (128,7) | t | + f | (128,8) | t | + f | (128,9) | t | + f | (128,10) | t | + f | (128,11) | t | + f | (128,12) | t | + f | (128,13) | t | + f | (128,14) | t | + f | (128,15) | t | + f | (128,16) | t | + f | (128,17) | t | + f | (128,18) | t | + f | (128,19) | t | + f | (128,20) | t | + f | (128,21) | t | + f | (128,22) | t | + f | (128,23) | t | + f | (128,24) | t | + f | (128,25) | t | + f | (128,26) | t | + f | (128,27) | t | + f | (128,28) | t | + f | (128,29) | t | + f | (128,30) | t | + f | (128,31) | t | + f | (128,32) | t | + f | (128,33) | t | + f | (128,34) | t | + f | (128,35) | t | + f | (128,36) | t | + f | (128,37) | t | + f | (128,38) | t | + f | (128,39) | t | + f | (128,40) | t | + f | (128,41) | t | + f | (128,42) | t | + f | (128,43) | t | + f | (128,44) | t | + f | (128,45) | t | + f | (128,46) | t | + f | (128,47) | t | + f | (128,48) | t | + f | (128,49) | t | + f | (128,50) | t | + f | (128,51) | t | + f | (128,52) | t | + f | (128,53) | t | + f | (128,54) | t | + f | (128,55) | t | + f | (128,56) | t | + f | (128,57) | t | + f | (128,58) | t | + f | (128,59) | t | + f | (128,60) | t | + f | (128,61) | t | + f | (128,62) | t | + f | (128,63) | t | + f | (128,64) | t | + f | (128,65) | t | + f | (128,66) | t | + f | (128,67) | t | + f | (128,68) | t | + f | (128,69) | t | + f | (128,70) | t | + f | (128,71) | t | + f | (128,72) | t | + f | (128,73) | t | + f | (128,74) | t | + f | (128,75) | t | + f | (128,76) | t | + f | (128,77) | t | + f | (128,78) | t | + f | (128,79) | t | + f | (128,80) | t | + f | (128,81) | t | + f | (128,82) | t | + f | (128,83) | t | + f | (128,84) | t | + f | (128,85) | t | + f | (128,86) | t | + f | (128,87) | t | + f | (128,88) | t | + f | (128,89) | t | + f | (128,90) | t | + f | (128,91) | t | + f | (128,92) | t | + f | (128,93) | t | + f | (128,94) | t | + f | (128,95) | t | + f | (128,96) | t | + f | (128,97) | t | + f | (128,98) | t | + f | (128,99) | t | + f | (128,100) | t | + f | (128,101) | t | + f | (128,102) | t | + f | (128,103) | t | + f | (128,104) | t | + f | (128,105) | t | + f | (128,106) | t | + f | (128,107) | t | + f | (128,108) | t | + f | (128,109) | t | + f | (128,110) | t | + f | (128,111) | t | + f | (128,112) | t | + f | (128,113) | t | + f | (128,114) | t | + f | (128,115) | t | + f | (128,116) | t | + f | (128,117) | t | + f | (128,118) | t | + f | (128,119) | t | + f | (128,120) | t | + f | (128,121) | t | + f | (128,122) | t | + f | (128,123) | t | + f | (128,124) | t | + f | (128,125) | t | + f | (128,126) | t | + f | (128,127) | t | + f | (128,128) | t | + f | (128,129) | t | + f | (128,130) | t | + f | (128,131) | t | + f | (128,132) | t | + f | (128,133) | t | + f | (128,134) | t | + f | (128,135) | t | + f | (128,136) | t | + f | (128,137) | t | + f | (128,138) | t | + f | (128,139) | t | + f | (128,140) | t | + f | (128,141) | t | + f | (128,142) | t | + f | (128,143) | t | + f | (128,144) | t | + f | (128,145) | t | + f | (128,146) | t | + f | (128,147) | t | + f | (128,148) | t | + f | (128,149) | t | + f | (128,150) | t | + f | (128,151) | t | + f | (128,152) | t | + f | (128,153) | t | + f | (128,154) | t | + f | (128,155) | t | + f | (128,156) | t | + f | (129,1) | t | + f | (129,2) | t | + f | (129,3) | t | + f | (129,4) | t | + f | (129,5) | t | + f | (129,6) | t | + f | (129,7) | t | + f | (129,8) | t | + f | (129,9) | t | + f | (129,10) | t | + f | (129,11) | t | + f | (129,12) | t | + f | (129,13) | t | + f | (129,14) | t | + f | (129,15) | t | + f | (129,16) | t | + f | (129,17) | t | + f | (129,18) | t | + f | (129,19) | t | + f | (129,20) | t | + f | (129,21) | t | + f | (129,22) | t | + f | (129,23) | t | + f | (129,24) | t | + f | (129,25) | t | + f | (129,26) | t | + f | (129,27) | t | + f | (129,28) | t | + f | (129,29) | t | + f | (129,30) | t | + f | (129,31) | t | + f | (129,32) | t | + f | (129,33) | t | + f | (129,34) | t | + f | (129,35) | t | + f | (129,36) | t | + f | (129,37) | t | + f | (129,38) | t | + f | (129,39) | t | + f | (129,40) | t | + f | (129,41) | t | + f | (129,42) | t | + f | (129,43) | t | + f | (129,44) | t | + f | (129,45) | t | + f | (129,46) | t | + f | (129,47) | t | + f | (129,48) | t | + f | (129,49) | t | + f | (129,50) | t | + f | (129,51) | t | + f | (129,52) | t | + f | (129,53) | t | + f | (129,54) | t | + f | (129,55) | t | + f | (129,56) | t | + f | (129,57) | t | + f | (129,58) | t | + f | (129,59) | t | + f | (129,60) | t | + f | (129,61) | t | + f | (129,62) | t | + f | (129,63) | t | + f | (129,64) | t | + f | (129,65) | t | + f | (129,66) | t | + f | (129,67) | t | + f | (129,68) | t | + f | (129,69) | t | + f | (129,70) | t | + f | (129,71) | t | + f | (129,72) | t | + f | (129,73) | t | + f | (129,74) | t | + f | (129,75) | t | + f | (129,76) | t | + f | (129,77) | t | + f | (129,78) | t | + f | (129,79) | t | + f | (129,80) | t | + f | (129,81) | t | + f | (129,82) | t | + f | (129,83) | t | + f | (129,84) | t | + f | (129,85) | t | + f | (129,86) | t | + f | (129,87) | t | + f | (129,88) | t | + f | (129,89) | t | + f | (129,90) | t | + f | (129,91) | t | + f | (129,92) | t | + f | (129,93) | t | + f | (129,94) | t | + f | (129,95) | t | + f | (129,96) | t | + f | (129,97) | t | + f | (129,98) | t | + f | (129,99) | t | + f | (129,100) | t | + f | (129,101) | t | + f | (129,102) | t | + f | (129,103) | t | + f | (129,104) | t | + f | (129,105) | t | + f | (129,106) | t | + f | (129,107) | t | + f | (129,108) | t | + f | (129,109) | t | + f | (129,110) | t | + f | (129,111) | t | + f | (129,112) | t | + f | (129,113) | t | + f | (129,114) | t | + f | (129,115) | t | + f | (129,116) | t | + f | (129,117) | t | + f | (129,118) | t | + f | (129,119) | t | + f | (129,120) | t | + f | (129,121) | t | + f | (129,122) | t | + f | (129,123) | t | + f | (129,124) | t | + f | (129,125) | t | + f | (129,126) | t | + f | (129,127) | t | + f | (129,128) | t | + f | (129,129) | t | + f | (129,130) | t | + f | (129,131) | t | + f | (129,132) | t | + f | (129,133) | t | + f | (129,134) | t | + f | (129,135) | t | + f | (129,136) | t | + f | (129,137) | t | + f | (129,138) | t | + f | (129,139) | t | + f | (129,140) | t | + f | (129,141) | t | + f | (129,142) | t | + f | (129,143) | t | + f | (129,144) | t | + f | (129,145) | t | + f | (129,146) | t | + f | (129,147) | t | + f | (129,148) | t | + f | (129,149) | t | + f | (129,150) | t | + f | (129,151) | t | + f | (129,152) | t | + f | (129,153) | t | + f | (129,154) | t | + f | (129,155) | t | + f | (129,156) | t | + f | (130,1) | t | + f | (130,2) | t | + f | (130,3) | t | + f | (130,4) | t | + f | (130,5) | t | + f | (130,6) | t | + f | (130,7) | t | + f | (130,8) | t | + f | (130,9) | t | + f | (130,10) | t | + f | (130,11) | t | + f | (130,12) | t | + f | (130,13) | t | + f | (130,14) | t | + f | (130,15) | t | + f | (130,16) | t | + f | (130,17) | t | + f | (130,18) | t | + f | (130,19) | t | + f | (130,20) | t | + f | (130,21) | t | + f | (130,22) | t | + f | (130,23) | t | + f | (130,24) | t | + f | (130,25) | t | + f | (130,26) | t | + f | (130,27) | t | + f | (130,28) | t | + f | (130,29) | t | + f | (130,30) | t | + f | (130,31) | t | + f | (130,32) | t | + f | (130,33) | t | + f | (130,34) | t | + f | (130,35) | t | + f | (130,36) | t | + f | (130,37) | t | + f | (130,38) | t | + f | (130,39) | t | + f | (130,40) | t | + f | (130,41) | t | + f | (130,42) | t | + f | (130,43) | t | + f | (130,44) | t | + f | (130,45) | t | + f | (130,46) | t | + f | (130,47) | t | + f | (130,48) | t | + f | (130,49) | t | + f | (130,50) | t | + f | (130,51) | t | + f | (130,52) | t | + f | (130,53) | t | + f | (130,54) | t | + f | (130,55) | t | + f | (130,56) | t | + f | (130,57) | t | + f | (130,58) | t | + f | (130,59) | t | + f | (130,60) | t | + f | (130,61) | t | + f | (130,62) | t | + f | (130,63) | t | + f | (130,64) | t | + f | (130,65) | t | + f | (130,66) | t | + f | (130,67) | t | + f | (130,68) | t | + f | (130,69) | t | + f | (130,70) | t | + f | (130,71) | t | + f | (130,72) | t | + f | (130,73) | t | + f | (130,74) | t | + f | (130,75) | t | + f | (130,76) | t | + f | (130,77) | t | + f | (130,78) | t | + f | (130,79) | t | + f | (130,80) | t | + f | (130,81) | t | + f | (130,82) | t | + f | (130,83) | t | + f | (130,84) | t | + f | (130,85) | t | + f | (130,86) | t | + f | (130,87) | t | + f | (130,88) | t | + f | (130,89) | t | + f | (130,90) | t | + f | (130,91) | t | + f | (130,92) | t | + f | (130,93) | t | + f | (130,94) | t | + f | (130,95) | t | + f | (130,96) | t | + f | (130,97) | t | + f | (130,98) | t | + f | (130,99) | t | + f | (130,100) | t | + f | (130,101) | t | + f | (130,102) | t | + f | (130,103) | t | + f | (130,104) | t | + f | (130,105) | t | + f | (130,106) | t | + f | (130,107) | t | + f | (130,108) | t | + f | (130,109) | t | + f | (130,110) | t | + f | (130,111) | t | + f | (130,112) | t | + f | (130,113) | t | + f | (130,114) | t | + f | (130,115) | t | + f | (130,116) | t | + f | (130,117) | t | + f | (130,118) | t | + f | (130,119) | t | + f | (130,120) | t | + f | (130,121) | t | + f | (130,122) | t | + f | (130,123) | t | + f | (130,124) | t | + f | (130,125) | t | + f | (130,126) | t | + f | (130,127) | t | + f | (130,128) | t | + f | (130,129) | t | + f | (130,130) | t | + f | (130,131) | t | + f | (130,132) | t | + f | (130,133) | t | + f | (130,134) | t | + f | (130,135) | t | + f | (130,136) | t | + f | (130,137) | t | + f | (130,138) | t | + f | (130,139) | t | + f | (130,140) | t | + f | (130,141) | t | + f | (130,142) | t | + f | (130,143) | t | + f | (130,144) | t | + f | (130,145) | t | + f | (130,146) | t | + f | (130,147) | t | + f | (130,148) | t | + f | (130,149) | t | + f | (130,150) | t | + f | (130,151) | t | + f | (130,152) | t | + f | (130,153) | t | + f | (130,154) | t | + f | (130,155) | t | + f | (130,156) | t | + f | (131,1) | t | + f | (131,2) | t | + f | (131,3) | t | + f | (131,4) | t | + f | (131,5) | t | + f | (131,6) | t | + f | (131,7) | t | + f | (131,8) | t | + f | (131,9) | t | + f | (131,10) | t | + f | (131,11) | t | + f | (131,12) | t | + f | (131,13) | t | + f | (131,14) | t | + f | (131,15) | t | + f | (131,16) | t | + f | (131,17) | t | + f | (131,18) | t | + f | (131,19) | t | + f | (131,20) | t | + f | (131,21) | t | + f | (131,22) | t | + f | (131,23) | t | + f | (131,24) | t | + f | (131,25) | t | + f | (131,26) | t | + f | (131,27) | t | + f | (131,28) | t | + f | (131,29) | t | + f | (131,30) | t | + f | (131,31) | t | + f | (131,32) | t | + f | (131,33) | t | + f | (131,34) | t | + f | (131,35) | t | + f | (131,36) | t | + f | (131,37) | t | + f | (131,38) | t | + f | (131,39) | t | + f | (131,40) | t | + f | (131,41) | t | + f | (131,42) | t | + f | (131,43) | t | + f | (131,44) | t | + f | (131,45) | t | + f | (131,46) | t | + f | (131,47) | t | + f | (131,48) | t | + f | (131,49) | t | + f | (131,50) | t | + f | (131,51) | t | + f | (131,52) | t | + f | (131,53) | t | + f | (131,54) | t | + f | (131,55) | t | + f | (131,56) | t | + f | (131,57) | t | + f | (131,58) | t | + f | (131,59) | t | + f | (131,60) | t | + f | (131,61) | t | + f | (131,62) | t | + f | (131,63) | t | + f | (131,64) | t | + f | (131,65) | t | + f | (131,66) | t | + f | (131,67) | t | + f | (131,68) | t | + f | (131,69) | t | + f | (131,70) | t | + f | (131,71) | t | + f | (131,72) | t | + f | (131,73) | t | + f | (131,74) | t | + f | (131,75) | t | + f | (131,76) | t | + f | (131,77) | t | + f | (131,78) | t | + f | (131,79) | t | + f | (131,80) | t | + f | (131,81) | t | + f | (131,82) | t | + f | (131,83) | t | + f | (131,84) | t | + f | (131,85) | t | + f | (131,86) | t | + f | (131,87) | t | + f | (131,88) | t | + f | (131,89) | t | + f | (131,90) | t | + f | (131,91) | t | + f | (131,92) | t | + f | (131,93) | t | + f | (131,94) | t | + f | (131,95) | t | + f | (131,96) | t | + f | (131,97) | t | + f | (131,98) | t | + f | (131,99) | t | + f | (131,100) | t | + f | (131,101) | t | + f | (131,102) | t | + f | (131,103) | t | + f | (131,104) | t | + f | (131,105) | t | + f | (131,106) | t | + f | (131,107) | t | + f | (131,108) | t | + f | (131,109) | t | + f | (131,110) | t | + f | (131,111) | t | + f | (131,112) | t | + f | (131,113) | t | + f | (131,114) | t | + f | (131,115) | t | + f | (131,116) | t | + f | (131,117) | t | + f | (131,118) | t | + f | (131,119) | t | + f | (131,120) | t | + f | (131,121) | t | + f | (131,122) | t | + f | (131,123) | t | + f | (131,124) | t | + f | (131,125) | t | + f | (131,126) | t | + f | (131,127) | t | + f | (131,128) | t | + f | (131,129) | t | + f | (131,130) | t | + f | (131,131) | t | + f | (131,132) | t | + f | (131,133) | t | + f | (131,134) | t | + f | (131,135) | t | + f | (131,136) | t | + f | (131,137) | t | + f | (131,138) | t | + f | (131,139) | t | + f | (131,140) | t | + f | (131,141) | t | + f | (131,142) | t | + f | (131,143) | t | + f | (131,144) | t | + f | (131,145) | t | + f | (131,146) | t | + f | (131,147) | t | + f | (131,148) | t | + f | (131,149) | t | + f | (131,150) | t | + f | (131,151) | t | + f | (131,152) | t | + f | (131,153) | t | + f | (131,154) | t | + f | (131,155) | t | + f | (131,156) | t | + f | (132,1) | t | + f | (132,2) | t | + f | (132,3) | t | + f | (132,4) | t | + f | (132,5) | t | + f | (132,6) | t | + f | (132,7) | t | + f | (132,8) | t | + f | (132,9) | t | + f | (132,10) | t | + f | (132,11) | t | + f | (132,12) | t | + f | (132,13) | t | + f | (132,14) | t | + f | (132,15) | t | + f | (132,16) | t | + f | (132,17) | t | + f | (132,18) | t | + f | (132,19) | t | + f | (132,20) | t | + f | (132,21) | t | + f | (132,22) | t | + f | (132,23) | t | + f | (132,24) | t | + f | (132,25) | t | + f | (132,26) | t | + f | (132,27) | t | + f | (132,28) | t | + f | (132,29) | t | + f | (132,30) | t | + f | (132,31) | t | + f | (132,32) | t | + f | (132,33) | t | + f | (132,34) | t | + f | (132,35) | t | + f | (132,36) | t | + f | (132,37) | t | + f | (132,38) | t | + f | (132,39) | t | + f | (132,40) | t | + f | (132,41) | t | + f | (132,42) | t | + f | (132,43) | t | + f | (132,44) | t | + f | (132,45) | t | + f | (132,46) | t | + f | (132,47) | t | + f | (132,48) | t | + f | (132,49) | t | + f | (132,50) | t | + f | (132,51) | t | + f | (132,52) | t | + f | (132,53) | t | + f | (132,54) | t | + f | (132,55) | t | + f | (132,56) | t | + f | (132,57) | t | + f | (132,58) | t | + f | (132,59) | t | + f | (132,60) | t | + f | (132,61) | t | + f | (132,62) | t | + f | (132,63) | t | + f | (132,64) | t | + f | (132,65) | t | + f | (132,66) | t | + f | (132,67) | t | + f | (132,68) | t | + f | (132,69) | t | + f | (132,70) | t | + f | (132,71) | t | + f | (132,72) | t | + f | (132,73) | t | + f | (132,74) | t | + f | (132,75) | t | + f | (132,76) | t | + f | (132,77) | t | + f | (132,78) | t | + f | (132,79) | t | + f | (132,80) | t | + f | (132,81) | t | + f | (132,82) | t | + f | (132,83) | t | + f | (132,84) | t | + f | (132,85) | t | + f | (132,86) | t | + f | (132,87) | t | + f | (132,88) | t | + f | (132,89) | t | + f | (132,90) | t | + f | (132,91) | t | + f | (132,92) | t | + f | (132,93) | t | + f | (132,94) | t | + f | (132,95) | t | + f | (132,96) | t | + f | (132,97) | t | + f | (132,98) | t | + f | (132,99) | t | + f | (132,100) | t | + f | (132,101) | t | + f | (132,102) | t | + f | (132,103) | t | + f | (132,104) | t | + f | (132,105) | t | + f | (132,106) | t | + f | (132,107) | t | + f | (132,108) | t | + f | (132,109) | t | + f | (132,110) | t | + f | (132,111) | t | + f | (132,112) | t | + f | (132,113) | t | + f | (132,114) | t | + f | (132,115) | t | + f | (132,116) | t | + f | (132,117) | t | + f | (132,118) | t | + f | (132,119) | t | + f | (132,120) | t | + f | (132,121) | t | + f | (132,122) | t | + f | (132,123) | t | + f | (132,124) | t | + f | (132,125) | t | + f | (132,126) | t | + f | (132,127) | t | + f | (132,128) | t | + f | (132,129) | t | + f | (132,130) | t | + f | (132,131) | t | + f | (132,132) | t | + f | (132,133) | t | + f | (132,134) | t | + f | (132,135) | t | + f | (132,136) | t | + f | (132,137) | t | + f | (132,138) | t | + f | (132,139) | t | + f | (132,140) | t | + f | (132,141) | t | + f | (132,142) | t | + f | (132,143) | t | + f | (132,144) | t | + f | (132,145) | t | + f | (132,146) | t | + f | (132,147) | t | + f | (132,148) | t | + f | (132,149) | t | + f | (132,150) | t | + f | (132,151) | t | + f | (132,152) | t | + f | (132,153) | t | + f | (132,154) | t | + f | (132,155) | t | + f | (132,156) | t | + f | (133,1) | t | + f | (133,2) | t | + f | (133,3) | t | + f | (133,4) | t | + f | (133,5) | t | + f | (133,6) | t | + f | (133,7) | t | + f | (133,8) | t | + f | (133,9) | t | + f | (133,10) | t | + f | (133,11) | t | + f | (133,12) | t | + f | (133,13) | t | + f | (133,14) | t | + f | (133,15) | t | + f | (133,16) | t | + f | (133,17) | t | + f | (133,18) | t | + f | (133,19) | t | + f | (133,20) | t | + f | (133,21) | t | + f | (133,22) | t | + f | (133,23) | t | + f | (133,24) | t | + f | (133,25) | t | + f | (133,26) | t | + f | (133,27) | t | + f | (133,28) | t | + f | (133,29) | t | + f | (133,30) | t | + f | (133,31) | t | + f | (133,32) | t | + f | (133,33) | t | + f | (133,34) | t | + f | (133,35) | t | + f | (133,36) | t | + f | (133,37) | t | + f | (133,38) | t | + f | (133,39) | t | + f | (133,40) | t | + f | (133,41) | t | + f | (133,42) | t | + f | (133,43) | t | + f | (133,44) | t | + f | (133,45) | t | + f | (133,46) | t | + f | (133,47) | t | + f | (133,48) | t | + f | (133,49) | t | + f | (133,50) | t | + f | (133,51) | t | + f | (133,52) | t | + f | (133,53) | t | + f | (133,54) | t | + f | (133,55) | t | + f | (133,56) | t | + f | (133,57) | t | + f | (133,58) | t | + f | (133,59) | t | + f | (133,60) | t | + f | (133,61) | t | + f | (133,62) | t | + f | (133,63) | t | + f | (133,64) | t | + f | (133,65) | t | + f | (133,66) | t | + f | (133,67) | t | + f | (133,68) | t | + f | (133,69) | t | + f | (133,70) | t | + f | (133,71) | t | + f | (133,72) | t | + f | (133,73) | t | + f | (133,74) | t | + f | (133,75) | t | + f | (133,76) | t | + f | (133,77) | t | + f | (133,78) | t | + f | (133,79) | t | + f | (133,80) | t | + f | (133,81) | t | + f | (133,82) | t | + f | (133,83) | t | + f | (133,84) | t | + f | (133,85) | t | + f | (133,86) | t | + f | (133,87) | t | + f | (133,88) | t | + f | (133,89) | t | + f | (133,90) | t | + f | (133,91) | t | + f | (133,92) | t | + f | (133,93) | t | + f | (133,94) | t | + f | (133,95) | t | + f | (133,96) | t | + f | (133,97) | t | + f | (133,98) | t | + f | (133,99) | t | + f | (133,100) | t | + f | (133,101) | t | + f | (133,102) | t | + f | (133,103) | t | + f | (133,104) | t | + f | (133,105) | t | + f | (133,106) | t | + f | (133,107) | t | + f | (133,108) | t | + f | (133,109) | t | + f | (133,110) | t | + f | (133,111) | t | + f | (133,112) | t | + f | (133,113) | t | + f | (133,114) | t | + f | (133,115) | t | + f | (133,116) | t | + f | (133,117) | t | + f | (133,118) | t | + f | (133,119) | t | + f | (133,120) | t | + f | (133,121) | t | + f | (133,122) | t | + f | (133,123) | t | + f | (133,124) | t | + f | (133,125) | t | + f | (133,126) | t | + f | (133,127) | t | + f | (133,128) | t | + f | (133,129) | t | + f | (133,130) | t | + f | (133,131) | t | + f | (133,132) | t | + f | (133,133) | t | + f | (133,134) | t | + f | (133,135) | t | + f | (133,136) | t | + f | (133,137) | t | + f | (133,138) | t | + f | (133,139) | t | + f | (133,140) | t | + f | (133,141) | t | + f | (133,142) | t | + f | (133,143) | t | + f | (133,144) | t | + f | (133,145) | t | + f | (133,146) | t | + f | (133,147) | t | + f | (133,148) | t | + f | (133,149) | t | + f | (133,150) | t | + f | (133,151) | t | + f | (133,152) | t | + f | (133,153) | t | + f | (133,154) | t | + f | (133,155) | t | + f | (133,156) | t | + f | (134,1) | t | + f | (134,2) | t | + f | (134,3) | t | + f | (134,4) | t | + f | (134,5) | t | + f | (134,6) | t | + f | (134,7) | t | + f | (134,8) | t | + f | (134,9) | t | + f | (134,10) | t | + f | (134,11) | t | + f | (134,12) | t | + f | (134,13) | t | + f | (134,14) | t | + f | (134,15) | t | + f | (134,16) | t | + f | (134,17) | t | + f | (134,18) | t | + f | (134,19) | t | + f | (134,20) | t | + f | (134,21) | t | + f | (134,22) | t | + f | (134,23) | t | + f | (134,24) | t | + f | (134,25) | t | + f | (134,26) | t | + f | (134,27) | t | + f | (134,28) | t | + f | (134,29) | t | + f | (134,30) | t | + f | (134,31) | t | + f | (134,32) | t | + f | (134,33) | t | + f | (134,34) | t | + f | (134,35) | t | + f | (134,36) | t | + f | (134,37) | t | + f | (134,38) | t | + f | (134,39) | t | + f | (134,40) | t | + f | (134,41) | t | + f | (134,42) | t | + f | (134,43) | t | + f | (134,44) | t | + f | (134,45) | t | + f | (134,46) | t | + f | (134,47) | t | + f | (134,48) | t | + f | (134,49) | t | + f | (134,50) | t | + f | (134,51) | t | + f | (134,52) | t | + f | (134,53) | t | + f | (134,54) | t | + f | (134,55) | t | + f | (134,56) | t | + f | (134,57) | t | + f | (134,58) | t | + f | (134,59) | t | + f | (134,60) | t | + f | (134,61) | t | + f | (134,62) | t | + f | (134,63) | t | + f | (134,64) | t | + f | (134,65) | t | + f | (134,66) | t | + f | (134,67) | t | + f | (134,68) | t | + f | (134,69) | t | + f | (134,70) | t | + f | (134,71) | t | + f | (134,72) | t | + f | (134,73) | t | + f | (134,74) | t | + f | (134,75) | t | + f | (134,76) | t | + f | (134,77) | t | + f | (134,78) | t | + f | (134,79) | t | + f | (134,80) | t | + f | (134,81) | t | + f | (134,82) | t | + f | (134,83) | t | + f | (134,84) | t | + f | (134,85) | t | + f | (134,86) | t | + f | (134,87) | t | + f | (134,88) | t | + f | (134,89) | t | + f | (134,90) | t | + f | (134,91) | t | + f | (134,92) | t | + f | (134,93) | t | + f | (134,94) | t | + f | (134,95) | t | + f | (134,96) | t | + f | (134,97) | t | + f | (134,98) | t | + f | (134,99) | t | + f | (134,100) | t | + f | (134,101) | t | + f | (134,102) | t | + f | (134,103) | t | + f | (134,104) | t | + f | (134,105) | t | + f | (134,106) | t | + f | (134,107) | t | + f | (134,108) | t | + f | (134,109) | t | + f | (134,110) | t | + f | (134,111) | t | + f | (134,112) | t | + f | (134,113) | t | + f | (134,114) | t | + f | (134,115) | t | + f | (134,116) | t | + f | (134,117) | t | + f | (134,118) | t | + f | (134,119) | t | + f | (134,120) | t | + f | (134,121) | t | + f | (134,122) | t | + f | (134,123) | t | + f | (134,124) | t | + f | (134,125) | t | + f | (134,126) | t | + f | (134,127) | t | + f | (134,128) | t | + f | (134,129) | t | + f | (134,130) | t | + f | (134,131) | t | + f | (134,132) | t | + f | (134,133) | t | + f | (134,134) | t | + f | (134,135) | t | + f | (134,136) | t | + f | (134,137) | t | + f | (134,138) | t | + f | (134,139) | t | + f | (134,140) | t | + f | (134,141) | t | + f | (134,142) | t | + f | (134,143) | t | + f | (134,144) | t | + f | (134,145) | t | + f | (134,146) | t | + f | (134,147) | t | + f | (134,148) | t | + f | (134,149) | t | + f | (134,150) | t | + f | (134,151) | t | + f | (134,152) | t | + f | (134,153) | t | + f | (134,154) | t | + f | (134,155) | t | + f | (134,156) | t | + f | (135,1) | t | + f | (135,2) | t | + f | (135,3) | t | + f | (135,4) | t | + f | (135,5) | t | + f | (135,6) | t | + f | (135,7) | t | + f | (135,8) | t | + f | (135,9) | t | + f | (135,10) | t | + f | (135,11) | t | + f | (135,12) | t | + f | (135,13) | t | + f | (135,14) | t | + f | (135,15) | t | + f | (135,16) | t | + f | (135,17) | t | + f | (135,18) | t | + f | (135,19) | t | + f | (135,20) | t | + f | (135,21) | t | + f | (135,22) | t | + f | (135,23) | t | + f | (135,24) | t | + f | (135,25) | t | + f | (135,26) | t | + f | (135,27) | t | + f | (135,28) | t | + f | (135,29) | t | + f | (135,30) | t | + f | (135,31) | t | + f | (135,32) | t | + f | (135,33) | t | + f | (135,34) | t | + f | (135,35) | t | + f | (135,36) | t | + f | (135,37) | t | + f | (135,38) | t | + f | (135,39) | t | + f | (135,40) | t | + f | (135,41) | t | + f | (135,42) | t | + f | (135,43) | t | + f | (135,44) | t | + f | (135,45) | t | + f | (135,46) | t | + f | (135,47) | t | + f | (135,48) | t | + f | (135,49) | t | + f | (135,50) | t | + f | (135,51) | t | + f | (135,52) | t | + f | (135,53) | t | + f | (135,54) | t | + f | (135,55) | t | + f | (135,56) | t | + f | (135,57) | t | + f | (135,58) | t | + f | (135,59) | t | + f | (135,60) | t | + f | (135,61) | t | + f | (135,62) | t | + f | (135,63) | t | + f | (135,64) | t | + f | (135,65) | t | + f | (135,66) | t | + f | (135,67) | t | + f | (135,68) | t | + f | (135,69) | t | + f | (135,70) | t | + f | (135,71) | t | + f | (135,72) | t | + f | (135,73) | t | + f | (135,74) | t | + f | (135,75) | t | + f | (135,76) | t | + f | (135,77) | t | + f | (135,78) | t | + f | (135,79) | t | + f | (135,80) | t | + f | (135,81) | t | + f | (135,82) | t | + f | (135,83) | t | + f | (135,84) | t | + f | (135,85) | t | + f | (135,86) | t | + f | (135,87) | t | + f | (135,88) | t | + f | (135,89) | t | + f | (135,90) | t | + f | (135,91) | t | + f | (135,92) | t | + f | (135,93) | t | + f | (135,94) | t | + f | (135,95) | t | + f | (135,96) | t | + f | (135,97) | t | + f | (135,98) | t | + f | (135,99) | t | + f | (135,100) | t | + f | (135,101) | t | + f | (135,102) | t | + f | (135,103) | t | + f | (135,104) | t | + f | (135,105) | t | + f | (135,106) | t | + f | (135,107) | t | + f | (135,108) | t | + f | (135,109) | t | + f | (135,110) | t | + f | (135,111) | t | + f | (135,112) | t | + f | (135,113) | t | + f | (135,114) | t | + f | (135,115) | t | + f | (135,116) | t | + f | (135,117) | t | + f | (135,118) | t | + f | (135,119) | t | + f | (135,120) | t | + f | (135,121) | t | + f | (135,122) | t | + f | (135,123) | t | + f | (135,124) | t | + f | (135,125) | t | + f | (135,126) | t | + f | (135,127) | t | + f | (135,128) | t | + f | (135,129) | t | + f | (135,130) | t | + f | (135,131) | t | + f | (135,132) | t | + f | (135,133) | t | + f | (135,134) | t | + f | (135,135) | t | + f | (135,136) | t | + f | (135,137) | t | + f | (135,138) | t | + f | (135,139) | t | + f | (135,140) | t | + f | (135,141) | t | + f | (135,142) | t | + f | (135,143) | t | + f | (135,144) | t | + f | (135,145) | t | + f | (135,146) | t | + f | (135,147) | t | + f | (135,148) | t | + f | (135,149) | t | + f | (135,150) | t | + f | (135,151) | t | + f | (135,152) | t | + f | (135,153) | t | + f | (135,154) | t | + f | (135,155) | t | + f | (135,156) | t | + f | (136,1) | t | + f | (136,2) | t | + f | (136,3) | t | + f | (136,4) | t | + f | (136,5) | t | + f | (136,6) | t | + f | (136,7) | t | + f | (136,8) | t | + f | (136,9) | t | + f | (136,10) | t | + f | (136,11) | t | + f | (136,12) | t | + f | (136,13) | t | + f | (136,14) | t | + f | (136,15) | t | + f | (136,16) | t | + f | (136,17) | t | + f | (136,18) | t | + f | (136,19) | t | + f | (136,20) | t | + f | (136,21) | t | + f | (136,22) | t | + f | (136,23) | t | + f | (136,24) | t | + f | (136,25) | t | + f | (136,26) | t | + f | (136,27) | t | + f | (136,28) | t | + f | (136,29) | t | + f | (136,30) | t | + f | (136,31) | t | + f | (136,32) | t | + f | (136,33) | t | + f | (136,34) | t | + f | (136,35) | t | + f | (136,36) | t | + f | (136,37) | t | + f | (136,38) | t | + f | (136,39) | t | + f | (136,40) | t | + f | (136,41) | t | + f | (136,42) | t | + f | (136,43) | t | + f | (136,44) | t | + f | (136,45) | t | + f | (136,46) | t | + f | (136,47) | t | + f | (136,48) | t | + f | (136,49) | t | + f | (136,50) | t | + f | (136,51) | t | + f | (136,52) | t | + f | (136,53) | t | + f | (136,54) | t | + f | (136,55) | t | + f | (136,56) | t | + f | (136,57) | t | + f | (136,58) | t | + f | (136,59) | t | + f | (136,60) | t | + f | (136,61) | t | + f | (136,62) | t | + f | (136,63) | t | + f | (136,64) | t | + f | (136,65) | t | + f | (136,66) | t | + f | (136,67) | t | + f | (136,68) | t | + f | (136,69) | t | + f | (136,70) | t | + f | (136,71) | t | + f | (136,72) | t | + f | (136,73) | t | + f | (136,74) | t | + f | (136,75) | t | + f | (136,76) | t | + f | (136,77) | t | + f | (136,78) | t | + f | (136,79) | t | + f | (136,80) | t | + f | (136,81) | t | + f | (136,82) | t | + f | (136,83) | t | + f | (136,84) | t | + f | (136,85) | t | + f | (136,86) | t | + f | (136,87) | t | + f | (136,88) | t | + f | (136,89) | t | + f | (136,90) | t | + f | (136,91) | t | + f | (136,92) | t | + f | (136,93) | t | + f | (136,94) | t | + f | (136,95) | t | + f | (136,96) | t | + f | (136,97) | t | + f | (136,98) | t | + f | (136,99) | t | + f | (136,100) | t | + f | (136,101) | t | + f | (136,102) | t | + f | (136,103) | t | + f | (136,104) | t | + f | (136,105) | t | + f | (136,106) | t | + f | (136,107) | t | + f | (136,108) | t | + f | (136,109) | t | + f | (136,110) | t | + f | (136,111) | t | + f | (136,112) | t | + f | (136,113) | t | + f | (136,114) | t | + f | (136,115) | t | + f | (136,116) | t | + f | (136,117) | t | + f | (136,118) | t | + f | (136,119) | t | + f | (136,120) | t | + f | (136,121) | t | + f | (136,122) | t | + f | (136,123) | t | + f | (136,124) | t | + f | (136,125) | t | + f | (136,126) | t | + f | (136,127) | t | + f | (136,128) | t | + f | (136,129) | t | + f | (136,130) | t | + f | (136,131) | t | + f | (136,132) | t | + f | (136,133) | t | + f | (136,134) | t | + f | (136,135) | t | + f | (136,136) | t | + f | (136,137) | t | + f | (136,138) | t | + f | (136,139) | t | + f | (136,140) | t | + f | (136,141) | t | + f | (136,142) | t | + f | (136,143) | t | + f | (136,144) | t | + f | (136,145) | t | + f | (136,146) | t | + f | (136,147) | t | + f | (136,148) | t | + f | (136,149) | t | + f | (136,150) | t | + f | (136,151) | t | + f | (136,152) | t | + f | (136,153) | t | + f | (136,154) | t | + f | (136,155) | t | + f | (136,156) | t | + f | (137,1) | t | + f | (137,2) | t | + f | (137,3) | t | + f | (137,4) | t | + f | (137,5) | t | + f | (137,6) | t | + f | (137,7) | t | + f | (137,8) | t | + f | (137,9) | t | + f | (137,10) | t | + f | (137,11) | t | + f | (137,12) | t | + f | (137,13) | t | + f | (137,14) | t | + f | (137,15) | t | + f | (137,16) | t | + f | (137,17) | t | + f | (137,18) | t | + f | (137,19) | t | + f | (137,20) | t | + f | (137,21) | t | + f | (137,22) | t | + f | (137,23) | t | + f | (137,24) | t | + f | (137,25) | t | + f | (137,26) | t | + f | (137,27) | t | + f | (137,28) | t | + f | (137,29) | t | + f | (137,30) | t | + f | (137,31) | t | + f | (137,32) | t | + f | (137,33) | t | + f | (137,34) | t | + f | (137,35) | t | + f | (137,36) | t | + f | (137,37) | t | + f | (137,38) | t | + f | (137,39) | t | + f | (137,40) | t | + f | (137,41) | t | + f | (137,42) | t | + f | (137,43) | t | + f | (137,44) | t | + f | (137,45) | t | + f | (137,46) | t | + f | (137,47) | t | + f | (137,48) | t | + f | (137,49) | t | + f | (137,50) | t | + f | (137,51) | t | + f | (137,52) | t | + f | (137,53) | t | + f | (137,54) | t | + f | (137,55) | t | + f | (137,56) | t | + f | (137,57) | t | + f | (137,58) | t | + f | (137,59) | t | + f | (137,60) | t | + f | (137,61) | t | + f | (137,62) | t | + f | (137,63) | t | + f | (137,64) | t | + f | (137,65) | t | + f | (137,66) | t | + f | (137,67) | t | + f | (137,68) | t | + f | (137,69) | t | + f | (137,70) | t | + f | (137,71) | t | + f | (137,72) | t | + f | (137,73) | t | + f | (137,74) | t | + f | (137,75) | t | + f | (137,76) | t | + f | (137,77) | t | + f | (137,78) | t | + f | (137,79) | t | + f | (137,80) | t | + f | (137,81) | t | + f | (137,82) | t | + f | (137,83) | t | + f | (137,84) | t | + f | (137,85) | t | + f | (137,86) | t | + f | (137,87) | t | + f | (137,88) | t | + f | (137,89) | t | + f | (137,90) | t | + f | (137,91) | t | + f | (137,92) | t | + f | (137,93) | t | + f | (137,94) | t | + f | (137,95) | t | + f | (137,96) | t | + f | (137,97) | t | + f | (137,98) | t | + f | (137,99) | t | + f | (137,100) | t | + f | (137,101) | t | + f | (137,102) | t | + f | (137,103) | t | + f | (137,104) | t | + f | (137,105) | t | + f | (137,106) | t | + f | (137,107) | t | + f | (137,108) | t | + f | (137,109) | t | + f | (137,110) | t | + f | (137,111) | t | + f | (137,112) | t | + f | (137,113) | t | + f | (137,114) | t | + f | (137,115) | t | + f | (137,116) | t | + f | (137,117) | t | + f | (137,118) | t | + f | (137,119) | t | + f | (137,120) | t | + f | (137,121) | t | + f | (137,122) | t | + f | (137,123) | t | + f | (137,124) | t | + f | (137,125) | t | + f | (137,126) | t | + f | (137,127) | t | + f | (137,128) | t | + f | (137,129) | t | + f | (137,130) | t | + f | (137,131) | t | + f | (137,132) | t | + f | (137,133) | t | + f | (137,134) | t | + f | (137,135) | t | + f | (137,136) | t | + f | (137,137) | t | + f | (137,138) | t | + f | (137,139) | t | + f | (137,140) | t | + f | (137,141) | t | + f | (137,142) | t | + f | (137,143) | t | + f | (137,144) | t | + f | (137,145) | t | + f | (137,146) | t | + f | (137,147) | t | + f | (137,148) | t | + f | (137,149) | t | + f | (137,150) | t | + f | (137,151) | t | + f | (137,152) | t | + f | (137,153) | t | + f | (137,154) | t | + f | (137,155) | t | + f | (137,156) | t | + f | (138,1) | t | + f | (138,2) | t | + f | (138,3) | t | + f | (138,4) | t | + f | (138,5) | t | + f | (138,6) | t | + f | (138,7) | t | + f | (138,8) | t | + f | (138,9) | t | + f | (138,10) | t | + f | (138,11) | t | + f | (138,12) | t | + f | (138,13) | t | + f | (138,14) | t | + f | (138,15) | t | + f | (138,16) | t | + f | (138,17) | t | + f | (138,18) | t | + f | (138,19) | t | + f | (138,20) | t | + f | (138,21) | t | + f | (138,22) | t | + f | (138,23) | t | + f | (138,24) | t | + f | (138,25) | t | + f | (138,26) | t | + f | (138,27) | t | + f | (138,28) | t | + f | (138,29) | t | + f | (138,30) | t | + f | (138,31) | t | + f | (138,32) | t | + f | (138,33) | t | + f | (138,34) | t | + f | (138,35) | t | + f | (138,36) | t | + f | (138,37) | t | + f | (138,38) | t | + f | (138,39) | t | + f | (138,40) | t | + f | (138,41) | t | + f | (138,42) | t | + f | (138,43) | t | + f | (138,44) | t | + f | (138,45) | t | + f | (138,46) | t | + f | (138,47) | t | + f | (138,48) | t | + f | (138,49) | t | + f | (138,50) | t | + f | (138,51) | t | + f | (138,52) | t | + f | (138,53) | t | + f | (138,54) | t | + f | (138,55) | t | + f | (138,56) | t | + f | (138,57) | t | + f | (138,58) | t | + f | (138,59) | t | + f | (138,60) | t | + f | (138,61) | t | + f | (138,62) | t | + f | (138,63) | t | + f | (138,64) | t | + f | (138,65) | t | + f | (138,66) | t | + f | (138,67) | t | + f | (138,68) | t | + f | (138,69) | t | + f | (138,70) | t | + f | (138,71) | t | + f | (138,72) | t | + f | (138,73) | t | + f | (138,74) | t | + f | (138,75) | t | + f | (138,76) | t | + f | (138,77) | t | + f | (138,78) | t | + f | (138,79) | t | +(2605 rows) + +-- Testing on the index with additional information (order_by_attach = false) +CREATE INDEX test_with_addinfo_idx_false ON test_debug_table +USING rum (t rum_tsvector_addon_ops, d) +WITH (attach = 'd', to = 't', order_by_attach='f'); +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_false', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 334 +n_entry_pages | 226 +n_data_pages | 107 +n_entries | 1650 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_false', 1); + key | attrnum | category | down_link +---------------------------------+---------+------------------+----------- + 1p | 1 | RUM_CAT_NORM_KEY | 3 + 2n | 1 | RUM_CAT_NORM_KEY | 2 + 3r | 1 | RUM_CAT_NORM_KEY | 4 + 4u | 1 | RUM_CAT_NORM_KEY | 5 + 6f | 1 | RUM_CAT_NORM_KEY | 6 + 8t | 1 | RUM_CAT_NORM_KEY | 7 + a2 | 1 | RUM_CAT_NORM_KEY | 8 + a8 | 1 | RUM_CAT_NORM_KEY | 9 + ac | 1 | RUM_CAT_NORM_KEY | 10 + af | 1 | RUM_CAT_NORM_KEY | 11 + ai | 1 | RUM_CAT_NORM_KEY | 12 + al | 1 | RUM_CAT_NORM_KEY | 13 + ao | 1 | RUM_CAT_NORM_KEY | 14 + ar | 1 | RUM_CAT_NORM_KEY | 15 + au | 1 | RUM_CAT_NORM_KEY | 16 + ax | 1 | RUM_CAT_NORM_KEY | 17 + b1 | 1 | RUM_CAT_NORM_KEY | 18 + bb | 1 | RUM_CAT_NORM_KEY | 28 + bg | 1 | RUM_CAT_NORM_KEY | 29 + bl | 1 | RUM_CAT_NORM_KEY | 30 + bq | 1 | RUM_CAT_NORM_KEY | 31 + bw | 1 | RUM_CAT_NORM_KEY | 32 + c3 | 1 | RUM_CAT_NORM_KEY | 33 + ca | 1 | RUM_CAT_NORM_KEY | 34 + cf | 1 | RUM_CAT_NORM_KEY | 35 + ck | 1 | RUM_CAT_NORM_KEY | 36 + co | 1 | RUM_CAT_NORM_KEY | 37 + ct | 1 | RUM_CAT_NORM_KEY | 38 + cx | 1 | RUM_CAT_NORM_KEY | 39 + d2 | 1 | RUM_CAT_NORM_KEY | 40 + d8 | 1 | RUM_CAT_NORM_KEY | 41 + dc | 1 | RUM_CAT_NORM_KEY | 42 + dg | 1 | RUM_CAT_NORM_KEY | 43 + dj | 1 | RUM_CAT_NORM_KEY | 44 + dm | 1 | RUM_CAT_NORM_KEY | 45 + dp | 1 | RUM_CAT_NORM_KEY | 46 + dt | 1 | RUM_CAT_NORM_KEY | 47 + dx | 1 | RUM_CAT_NORM_KEY | 48 + e0 | 1 | RUM_CAT_NORM_KEY | 49 + e4 | 1 | RUM_CAT_NORM_KEY | 50 + e8 | 1 | RUM_CAT_NORM_KEY | 51 + el | 1 | RUM_CAT_NORM_KEY | 54 + ev | 1 | RUM_CAT_NORM_KEY | 70 + f2 | 1 | RUM_CAT_NORM_KEY | 75 + f8 | 1 | RUM_CAT_NORM_KEY | 76 + fd | 1 | RUM_CAT_NORM_KEY | 77 + fg | 1 | RUM_CAT_NORM_KEY | 78 + fj | 1 | RUM_CAT_NORM_KEY | 79 + fn | 1 | RUM_CAT_NORM_KEY | 80 + fr | 1 | RUM_CAT_NORM_KEY | 81 + fv | 1 | RUM_CAT_NORM_KEY | 82 + fz | 1 | RUM_CAT_NORM_KEY | 83 + g6 | 1 | RUM_CAT_NORM_KEY | 84 + gb | 1 | RUM_CAT_NORM_KEY | 85 + ge | 1 | RUM_CAT_NORM_KEY | 86 + gi | 1 | RUM_CAT_NORM_KEY | 87 + gm | 1 | RUM_CAT_NORM_KEY | 88 + gq | 1 | RUM_CAT_NORM_KEY | 89 + gt | 1 | RUM_CAT_NORM_KEY | 90 + gx | 1 | RUM_CAT_NORM_KEY | 91 + h2 | 1 | RUM_CAT_NORM_KEY | 92 + h8 | 1 | RUM_CAT_NORM_KEY | 93 + hc | 1 | RUM_CAT_NORM_KEY | 94 + hf | 1 | RUM_CAT_NORM_KEY | 95 + hj | 1 | RUM_CAT_NORM_KEY | 96 + hm | 1 | RUM_CAT_NORM_KEY | 97 + hp | 1 | RUM_CAT_NORM_KEY | 98 + ht | 1 | RUM_CAT_NORM_KEY | 99 + hw | 1 | RUM_CAT_NORM_KEY | 100 + i0 | 1 | RUM_CAT_NORM_KEY | 101 + i5 | 1 | RUM_CAT_NORM_KEY | 102 + i9 | 1 | RUM_CAT_NORM_KEY | 103 + ib | 1 | RUM_CAT_NORM_KEY | 104 + ie | 1 | RUM_CAT_NORM_KEY | 105 + ig | 1 | RUM_CAT_NORM_KEY | 106 + ij | 1 | RUM_CAT_NORM_KEY | 107 + im | 1 | RUM_CAT_NORM_KEY | 108 + ip | 1 | RUM_CAT_NORM_KEY | 109 + ir | 1 | RUM_CAT_NORM_KEY | 110 + iu | 1 | RUM_CAT_NORM_KEY | 111 + iw | 1 | RUM_CAT_NORM_KEY | 112 + iy | 1 | RUM_CAT_NORM_KEY | 113 + j3 | 1 | RUM_CAT_NORM_KEY | 114 + ja | 1 | RUM_CAT_NORM_KEY | 115 + jd | 1 | RUM_CAT_NORM_KEY | 116 + jh | 1 | RUM_CAT_NORM_KEY | 117 + jl | 1 | RUM_CAT_NORM_KEY | 118 + jp | 1 | RUM_CAT_NORM_KEY | 119 + jt | 1 | RUM_CAT_NORM_KEY | 120 + jx | 1 | RUM_CAT_NORM_KEY | 121 + k2 | 1 | RUM_CAT_NORM_KEY | 122 + k9 | 1 | RUM_CAT_NORM_KEY | 123 + kd | 1 | RUM_CAT_NORM_KEY | 124 + kh | 1 | RUM_CAT_NORM_KEY | 125 + kl | 1 | RUM_CAT_NORM_KEY | 126 + kp | 1 | RUM_CAT_NORM_KEY | 127 + ku | 1 | RUM_CAT_NORM_KEY | 128 + kx | 1 | RUM_CAT_NORM_KEY | 129 + l3 | 1 | RUM_CAT_NORM_KEY | 130 + la | 1 | RUM_CAT_NORM_KEY | 131 + le | 1 | RUM_CAT_NORM_KEY | 132 + lh | 1 | RUM_CAT_NORM_KEY | 133 + lm | 1 | RUM_CAT_NORM_KEY | 134 + lq | 1 | RUM_CAT_NORM_KEY | 135 + lu | 1 | RUM_CAT_NORM_KEY | 136 + ly | 1 | RUM_CAT_NORM_KEY | 137 + m5 | 1 | RUM_CAT_NORM_KEY | 138 + mc | 1 | RUM_CAT_NORM_KEY | 139 + mh | 1 | RUM_CAT_NORM_KEY | 140 + mm | 1 | RUM_CAT_NORM_KEY | 141 + mt | 1 | RUM_CAT_NORM_KEY | 142 + my | 1 | RUM_CAT_NORM_KEY | 143 + n6 | 1 | RUM_CAT_NORM_KEY | 144 + nc | 1 | RUM_CAT_NORM_KEY | 145 + nh | 1 | RUM_CAT_NORM_KEY | 146 + nm | 1 | RUM_CAT_NORM_KEY | 147 + ns | 1 | RUM_CAT_NORM_KEY | 148 + nx | 1 | RUM_CAT_NORM_KEY | 149 + o2 | 1 | RUM_CAT_NORM_KEY | 150 + o6 | 1 | RUM_CAT_NORM_KEY | 151 + oa | 1 | RUM_CAT_NORM_KEY | 152 + od | 1 | RUM_CAT_NORM_KEY | 153 + of | 1 | RUM_CAT_NORM_KEY | 154 + oi | 1 | RUM_CAT_NORM_KEY | 155 + ol | 1 | RUM_CAT_NORM_KEY | 156 + oo | 1 | RUM_CAT_NORM_KEY | 157 + or | 1 | RUM_CAT_NORM_KEY | 158 + ot | 1 | RUM_CAT_NORM_KEY | 159 + ow | 1 | RUM_CAT_NORM_KEY | 160 + oy | 1 | RUM_CAT_NORM_KEY | 161 + p3 | 1 | RUM_CAT_NORM_KEY | 162 + p7 | 1 | RUM_CAT_NORM_KEY | 163 + pb | 1 | RUM_CAT_NORM_KEY | 164 + pe | 1 | RUM_CAT_NORM_KEY | 165 + ph | 1 | RUM_CAT_NORM_KEY | 166 + pk | 1 | RUM_CAT_NORM_KEY | 167 + pn | 1 | RUM_CAT_NORM_KEY | 168 + pq | 1 | RUM_CAT_NORM_KEY | 169 + pt | 1 | RUM_CAT_NORM_KEY | 170 + pw | 1 | RUM_CAT_NORM_KEY | 171 + pz | 1 | RUM_CAT_NORM_KEY | 172 + q1 | 1 | RUM_CAT_NORM_KEY | 173 + q4 | 1 | RUM_CAT_NORM_KEY | 174 + q6 | 1 | RUM_CAT_NORM_KEY | 175 + q9 | 1 | RUM_CAT_NORM_KEY | 176 + r2 | 1 | RUM_CAT_NORM_KEY | 203 + r6 | 1 | RUM_CAT_NORM_KEY | 204 + rb | 1 | RUM_CAT_NORM_KEY | 205 + rh | 1 | RUM_CAT_NORM_KEY | 207 + rm | 1 | RUM_CAT_NORM_KEY | 211 + rt | 1 | RUM_CAT_NORM_KEY | 219 + rv | 1 | RUM_CAT_NORM_KEY | 220 + s4 | 1 | RUM_CAT_NORM_KEY | 225 + sa | 1 | RUM_CAT_NORM_KEY | 226 + sd | 1 | RUM_CAT_NORM_KEY | 227 + sg | 1 | RUM_CAT_NORM_KEY | 228 + sj | 1 | RUM_CAT_NORM_KEY | 229 + sm | 1 | RUM_CAT_NORM_KEY | 230 + sp | 1 | RUM_CAT_NORM_KEY | 231 + st | 1 | RUM_CAT_NORM_KEY | 232 + sw | 1 | RUM_CAT_NORM_KEY | 233 + sz | 1 | RUM_CAT_NORM_KEY | 234 + t4 | 1 | RUM_CAT_NORM_KEY | 235 + t8 | 1 | RUM_CAT_NORM_KEY | 236 + te | 1 | RUM_CAT_NORM_KEY | 240 + th | 1 | RUM_CAT_NORM_KEY | 241 + tj | 1 | RUM_CAT_NORM_KEY | 242 + tn | 1 | RUM_CAT_NORM_KEY | 244 + tq | 1 | RUM_CAT_NORM_KEY | 245 + tt | 1 | RUM_CAT_NORM_KEY | 246 + ty | 1 | RUM_CAT_NORM_KEY | 247 + u1 | 1 | RUM_CAT_NORM_KEY | 250 + u5 | 1 | RUM_CAT_NORM_KEY | 251 + ua | 1 | RUM_CAT_NORM_KEY | 252 + ud | 1 | RUM_CAT_NORM_KEY | 253 + ug | 1 | RUM_CAT_NORM_KEY | 254 + uj | 1 | RUM_CAT_NORM_KEY | 255 + um | 1 | RUM_CAT_NORM_KEY | 256 + uo | 1 | RUM_CAT_NORM_KEY | 257 + uq | 1 | RUM_CAT_NORM_KEY | 258 + ut | 1 | RUM_CAT_NORM_KEY | 259 + uv | 1 | RUM_CAT_NORM_KEY | 260 + uy | 1 | RUM_CAT_NORM_KEY | 261 + v5 | 1 | RUM_CAT_NORM_KEY | 262 + vc | 1 | RUM_CAT_NORM_KEY | 263 + vg | 1 | RUM_CAT_NORM_KEY | 264 + vk | 1 | RUM_CAT_NORM_KEY | 265 + vp | 1 | RUM_CAT_NORM_KEY | 266 + vu | 1 | RUM_CAT_NORM_KEY | 267 + w0 | 1 | RUM_CAT_NORM_KEY | 268 + w3 | 1 | RUM_CAT_NORM_KEY | 269 + w6 | 1 | RUM_CAT_NORM_KEY | 270 + w9 | 1 | RUM_CAT_NORM_KEY | 271 + x1 | 1 | RUM_CAT_NORM_KEY | 297 + x9 | 1 | RUM_CAT_NORM_KEY | 298 + xf | 1 | RUM_CAT_NORM_KEY | 299 + xj | 1 | RUM_CAT_NORM_KEY | 300 + xn | 1 | RUM_CAT_NORM_KEY | 301 + xr | 1 | RUM_CAT_NORM_KEY | 302 + xv | 1 | RUM_CAT_NORM_KEY | 303 + y0 | 1 | RUM_CAT_NORM_KEY | 304 + y5 | 1 | RUM_CAT_NORM_KEY | 305 + y9 | 1 | RUM_CAT_NORM_KEY | 306 + yb | 1 | RUM_CAT_NORM_KEY | 307 + ye | 1 | RUM_CAT_NORM_KEY | 308 + yg | 1 | RUM_CAT_NORM_KEY | 309 + yi | 1 | RUM_CAT_NORM_KEY | 310 + yl | 1 | RUM_CAT_NORM_KEY | 311 + yo | 1 | RUM_CAT_NORM_KEY | 312 + yr | 1 | RUM_CAT_NORM_KEY | 314 + yt | 1 | RUM_CAT_NORM_KEY | 315 + yx | 1 | RUM_CAT_NORM_KEY | 316 + yz | 1 | RUM_CAT_NORM_KEY | 318 + z6 | 1 | RUM_CAT_NORM_KEY | 319 + zc | 1 | RUM_CAT_NORM_KEY | 320 + zh | 1 | RUM_CAT_NORM_KEY | 321 + zm | 1 | RUM_CAT_NORM_KEY | 322 + zq | 1 | RUM_CAT_NORM_KEY | 323 + zu | 1 | RUM_CAT_NORM_KEY | 324 + zy | 1 | RUM_CAT_NORM_KEY | 325 + Wed May 04 00:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 329 + Sat May 07 22:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 330 + Wed May 11 20:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 331 + Sun May 15 18:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 332 + +inf | | | 333 +(225 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 28); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 18 | 29 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_false', 28); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +-----+---------+------------------+----------+------------------+---------------------------------+------------------+-------------------- + b2 | 1 | RUM_CAT_NORM_KEY | (2,7) | f | Wed May 04 04:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,3) | f | Wed May 04 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,16) | f | Thu May 05 11:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,21) | f | Thu May 05 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (9,7) | f | Tue May 10 03:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (11,5) | f | Wed May 11 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (12,2) | f | Thu May 12 07:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (17,14) | f | Mon May 16 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (20,4) | f | Thu May 19 01:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (22,2) | f | Fri May 20 19:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (27,5) | f | Wed May 04 04:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,1) | f | Wed May 04 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,14) | f | Thu May 05 11:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,19) | f | Thu May 05 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (34,4) | f | Tue May 10 03:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,2) | f | Wed May 11 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,17) | f | Thu May 12 07:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (42,12) | f | Mon May 16 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (45,2) | f | Thu May 19 01:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (46,22) | f | Fri May 20 19:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,3) | f | Wed May 04 04:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,21) | f | Wed May 04 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,12) | f | Thu May 05 11:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,17) | f | Thu May 05 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (59,3) | f | Tue May 10 03:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,1) | f | Wed May 11 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,16) | f | Thu May 12 07:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (67,11) | f | Mon May 16 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (69,25) | f | Thu May 19 01:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (71,22) | f | Fri May 20 19:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,3) | f | Wed May 04 04:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,21) | f | Wed May 04 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,12) | f | Thu May 05 11:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,17) | f | Thu May 05 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (84,3) | f | Tue May 10 03:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,1) | f | Wed May 11 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,16) | f | Thu May 12 07:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (92,11) | f | Mon May 16 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (94,18) | f | Thu May 19 01:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (96,12) | f | Fri May 20 19:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (101,18) | f | Wed May 04 04:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (102,15) | f | Wed May 04 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,4) | f | Thu May 05 11:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,9) | f | Thu May 05 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (108,19) | f | Tue May 10 03:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (110,14) | f | Wed May 11 16:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (111,12) | f | Thu May 12 07:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (117,5) | f | Mon May 16 22:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (119,17) | f | Thu May 19 01:21:22.326724 2016 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (121,12) | f | Fri May 20 19:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (0,12) | f | Mon May 02 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (2,17) | f | Wed May 04 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (6,7) | f | Sat May 07 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (9,11) | f | Tue May 10 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (11,6) | f | Wed May 11 17:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (16,12) | f | Mon May 16 00:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (18,13) | f | Tue May 17 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (24,3) | f | Sun May 22 10:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (25,3) | f | Mon May 02 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (27,15) | f | Wed May 04 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (31,5) | f | Sat May 07 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (34,8) | f | Tue May 10 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (36,3) | f | Wed May 11 17:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (41,9) | f | Mon May 16 00:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (43,11) | f | Tue May 17 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (49,1) | f | Sun May 22 10:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (50,1) | f | Mon May 02 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (52,13) | f | Wed May 04 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (56,1) | f | Sat May 07 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (59,7) | f | Tue May 10 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (61,2) | f | Wed May 11 17:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (66,8) | f | Mon May 16 00:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (68,10) | f | Tue May 17 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (74,1) | f | Sun May 22 10:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (75,1) | f | Mon May 02 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (77,13) | f | Wed May 04 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (81,1) | f | Sat May 07 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (84,7) | f | Tue May 10 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (86,2) | f | Wed May 11 17:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (91,8) | f | Mon May 16 00:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (93,10) | f | Tue May 17 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (98,12) | f | Sun May 22 10:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (99,21) | f | Mon May 02 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (102,7) | f | Wed May 04 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (105,18) | f | Sat May 07 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (109,4) | f | Tue May 10 07:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (110,15) | f | Wed May 11 17:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (116,1) | f | Mon May 16 00:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (118,3) | f | Tue May 17 14:21:22.326724 2016 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (123,12) | f | Sun May 22 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (1,3) | f | Tue May 03 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (3,19) | f | Thu May 05 14:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (13,11) | f | Fri May 13 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,4) | f | Mon May 16 12:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,11) | f | Mon May 16 19:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,14) | f | Tue May 17 15:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,16) | f | Tue May 17 17:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (19,7) | f | Wed May 18 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (22,3) | f | Fri May 20 20:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (26,1) | f | Tue May 03 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (28,17) | f | Thu May 05 14:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (38,9) | f | Fri May 13 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,2) | f | Mon May 16 12:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,9) | f | Mon May 16 19:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,12) | f | Tue May 17 15:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,14) | f | Tue May 17 17:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (44,5) | f | Wed May 18 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (47,1) | f | Fri May 20 20:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (48,18) | f | Wed May 18 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (50,21) | f | Tue May 03 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (53,15) | f | Thu May 05 14:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (63,6) | f | Fri May 13 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,1) | f | Mon May 16 12:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,8) | f | Mon May 16 19:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,11) | f | Tue May 17 15:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,13) | f | Tue May 17 17:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (69,3) | f | Wed May 18 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (72,1) | f | Fri May 20 20:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (75,21) | f | Tue May 03 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (78,15) | f | Thu May 05 14:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (88,6) | f | Fri May 13 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,1) | f | Mon May 16 12:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,8) | f | Mon May 16 19:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,11) | f | Tue May 17 15:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,13) | f | Tue May 17 17:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (96,13) | f | Fri May 20 20:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (100,14) | f | Tue May 03 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (103,7) | f | Thu May 05 14:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (112,21) | f | Fri May 13 10:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (116,13) | f | Mon May 16 12:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,2) | f | Mon May 16 19:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,4) | f | Tue May 17 15:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,6) | f | Tue May 17 17:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,16) | f | Wed May 18 03:21:22.326724 2016 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (121,13) | f | Fri May 20 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,15) | f | Mon May 02 10:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,22) | f | Mon May 02 17:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (2,22) | f | Wed May 04 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (4,4) | f | Thu May 05 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (8,1) | f | Mon May 09 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,6) | f | Tue May 10 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,11) | f | Tue May 10 07:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,12) | f | Tue May 10 08:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (14,1) | f | Fri May 13 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,6) | f | Mon May 02 10:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,13) | f | Mon May 02 17:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (27,20) | f | Wed May 04 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (29,3) | f | Thu May 05 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (32,18) | f | Mon May 09 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,3) | f | Tue May 10 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,8) | f | Tue May 10 07:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,9) | f | Tue May 10 08:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (38,18) | f | Fri May 13 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,4) | f | Mon May 02 10:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,11) | f | Mon May 02 17:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (52,18) | f | Wed May 04 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (53,21) | f | Thu May 05 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (57,16) | f | Mon May 09 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,2) | f | Tue May 10 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,7) | f | Tue May 10 07:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,8) | f | Tue May 10 08:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (63,15) | f | Fri May 13 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,4) | f | Mon May 02 10:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,11) | f | Mon May 02 17:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (77,18) | f | Wed May 04 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (78,21) | f | Thu May 05 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (82,16) | f | Mon May 09 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,2) | f | Tue May 10 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,7) | f | Tue May 10 07:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,8) | f | Tue May 10 08:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (88,15) | f | Fri May 13 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (99,24) | f | Mon May 02 10:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (100,4) | f | Mon May 02 17:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (102,12) | f | Wed May 04 19:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (103,13) | f | Thu May 05 20:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (107,13) | f | Mon May 09 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,18) | f | Tue May 10 02:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,4) | f | Tue May 10 07:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,5) | f | Tue May 10 08:21:22.326724 2016 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (113,9) | f | Fri May 13 19:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (1,14) | f | Tue May 03 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (2,1) | f | Tue May 03 22:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (6,4) | f | Sat May 07 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (7,11) | f | Sun May 08 16:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (9,10) | f | Tue May 10 06:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (10,19) | f | Wed May 11 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (12,9) | f | Thu May 12 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (14,13) | f | Sat May 14 07:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (21,1) | f | Thu May 19 18:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,12) | f | Tue May 03 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,20) | f | Tue May 03 22:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (31,2) | f | Sat May 07 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (32,8) | f | Sun May 08 16:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (34,7) | f | Tue May 10 06:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (35,16) | f | Wed May 11 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (37,7) | f | Thu May 12 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (39,10) | f | Sat May 14 07:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (45,19) | f | Thu May 19 18:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,10) | f | Tue May 03 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,18) | f | Tue May 03 22:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (55,19) | f | Sat May 07 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (57,6) | f | Sun May 08 16:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (59,6) | f | Tue May 10 06:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (60,14) | f | Wed May 11 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (62,6) | f | Thu May 12 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (64,6) | f | Sat May 14 07:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,17) | f | Thu May 19 18:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,10) | f | Tue May 03 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,18) | f | Tue May 03 22:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (80,19) | f | Sat May 07 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (82,6) | f | Sun May 08 16:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (84,6) | f | Tue May 10 06:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (85,14) | f | Wed May 11 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (87,6) | f | Thu May 12 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (89,6) | f | Sat May 14 07:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (95,12) | f | Thu May 19 18:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,4) | f | Tue May 03 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,12) | f | Tue May 03 22:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (105,15) | f | Sat May 07 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (107,3) | f | Sun May 08 16:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (109,3) | f | Tue May 10 06:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (110,9) | f | Wed May 11 11:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (112,1) | f | Thu May 12 14:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (113,21) | f | Sat May 14 07:21:22.326724 2016 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (120,11) | f | Thu May 19 18:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (1,12) | f | Tue May 03 12:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (4,4) | f | Thu May 05 20:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (7,8) | f | Sun May 08 13:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (9,3) | f | Mon May 09 23:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (10,18) | f | Wed May 11 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (13,8) | f | Fri May 13 07:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (14,16) | f | Sat May 14 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (22,8) | f | Sat May 21 01:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (26,10) | f | Tue May 03 12:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (29,3) | f | Thu May 05 20:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (32,5) | f | Sun May 08 13:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (33,20) | f | Mon May 09 23:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (35,15) | f | Wed May 11 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (38,6) | f | Fri May 13 07:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (39,13) | f | Sat May 14 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (47,6) | f | Sat May 21 01:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (51,8) | f | Tue May 03 12:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (53,21) | f | Thu May 05 20:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (57,3) | f | Sun May 08 13:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (58,19) | f | Mon May 09 23:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (60,13) | f | Wed May 11 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (63,3) | f | Fri May 13 07:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (64,9) | f | Sat May 14 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (72,6) | f | Sat May 21 01:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (76,8) | f | Tue May 03 12:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (78,21) | f | Thu May 05 20:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (82,3) | f | Sun May 08 13:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (83,19) | f | Mon May 09 23:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (85,13) | f | Wed May 11 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (88,3) | f | Fri May 13 07:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (89,9) | f | Sat May 14 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (96,18) | f | Sat May 21 01:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (101,2) | f | Tue May 03 12:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (103,13) | f | Thu May 05 20:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (106,19) | f | Sun May 08 13:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (108,15) | f | Mon May 09 23:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (110,8) | f | Wed May 11 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (112,18) | f | Fri May 13 07:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (114,3) | f | Sat May 14 10:21:22.326724 2016 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (121,18) | f | Sat May 21 01:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (0,13) | f | Mon May 02 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (1,2) | f | Tue May 03 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (9,1) | f | Mon May 09 21:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (11,12) | f | Wed May 11 23:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,2) | f | Sun May 15 14:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,14) | f | Mon May 16 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,20) | f | Mon May 16 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,2) | f | Mon May 16 10:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,4) | f | Mon May 16 12:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (20,11) | f | Thu May 19 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,4) | f | Mon May 02 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,22) | f | Tue May 03 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (33,18) | f | Mon May 09 21:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (36,9) | f | Wed May 11 23:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (40,19) | f | Sun May 15 14:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,11) | f | Mon May 16 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,17) | f | Mon May 16 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,19) | f | Mon May 16 10:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (42,2) | f | Mon May 16 12:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (45,9) | f | Thu May 19 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,2) | f | Mon May 02 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,20) | f | Tue May 03 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (58,17) | f | Mon May 09 21:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (61,8) | f | Wed May 11 23:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (65,17) | f | Sun May 15 14:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,10) | f | Mon May 16 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,16) | f | Mon May 16 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,18) | f | Mon May 16 10:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (67,1) | f | Mon May 16 12:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (70,7) | f | Thu May 19 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,2) | f | Mon May 02 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,20) | f | Tue May 03 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (83,17) | f | Mon May 09 21:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (86,8) | f | Wed May 11 23:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,17) | f | Sun May 15 14:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,10) | f | Mon May 16 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,16) | f | Mon May 16 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,18) | f | Mon May 16 10:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (92,1) | f | Mon May 16 12:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (95,2) | f | Thu May 19 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,22) | f | Mon May 02 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (100,13) | f | Tue May 03 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (108,13) | f | Mon May 09 21:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (111,4) | f | Wed May 11 23:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,10) | f | Sun May 15 14:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,3) | f | Mon May 16 02:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,9) | f | Mon May 16 08:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,11) | f | Mon May 16 10:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,13) | f | Mon May 16 12:21:22.326724 2016 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (120,1) | f | Thu May 19 08:21:22.326724 2016 | f | + b9 | 1 | RUM_CAT_NORM_KEY | | | | t | 19 + ba | 1 | RUM_CAT_NORM_KEY | (1,10) | f | Tue May 03 10:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,1) | f | Fri May 06 12:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,6) | f | Fri May 06 17:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (10,13) | f | Wed May 11 05:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (12,3) | f | Thu May 12 08:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (14,9) | f | Sat May 14 03:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (15,14) | f | Sun May 15 06:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (17,15) | f | Mon May 16 23:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (23,10) | f | Sat May 21 22:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (26,8) | f | Tue May 03 10:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (29,19) | f | Fri May 06 12:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (30,4) | f | Fri May 06 17:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (35,10) | f | Wed May 11 05:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (37,1) | f | Thu May 12 08:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (39,6) | f | Sat May 14 03:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (40,11) | f | Sun May 15 06:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (42,13) | f | Mon May 16 23:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (48,6) | f | Sat May 21 22:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (51,6) | f | Tue May 03 10:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,16) | f | Fri May 06 12:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (55,1) | f | Fri May 06 17:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (60,8) | f | Wed May 11 05:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (61,17) | f | Thu May 12 08:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (64,2) | f | Sat May 14 03:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (65,9) | f | Sun May 15 06:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (67,12) | f | Mon May 16 23:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (73,6) | f | Sat May 21 22:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (76,6) | f | Tue May 03 10:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,16) | f | Fri May 06 12:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (80,1) | f | Fri May 06 17:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (85,8) | f | Wed May 11 05:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (86,17) | f | Thu May 12 08:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (89,2) | f | Sat May 14 03:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (90,9) | f | Sun May 15 06:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (92,12) | f | Mon May 16 23:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (97,21) | f | Sat May 21 22:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (100,21) | f | Tue May 03 10:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,11) | f | Fri May 06 12:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,16) | f | Fri May 06 17:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (110,3) | f | Wed May 11 05:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (111,13) | f | Thu May 12 08:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (113,17) | f | Sat May 14 03:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (115,2) | f | Sun May 15 06:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (117,6) | f | Mon May 16 23:21:22.326724 2016 | f | + ba | 1 | RUM_CAT_NORM_KEY | (122,21) | f | Sat May 21 22:21:22.326724 2016 | f | + bb | 1 | RUM_CAT_NORM_KEY | (0,23) | f | Mon May 02 18:21:22.326724 2016 | f | +(362 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 19); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 8 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_false', 19); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+-----------+------------------+--------------------------------- + t | | (0,0) | t | + f | 21 | (126,70) | f | Mon May 02 00:21:22.326724 2016 + f | 20 | (130,137) | f | Mon May 02 00:21:22.326724 2016 + f | 22 | (135,53) | f | Mon May 02 00:21:22.326724 2016 + f | 23 | (139,121) | f | Mon May 02 00:21:22.326724 2016 + f | 24 | (144,35) | f | Mon May 02 00:21:22.326724 2016 + f | 25 | (148,105) | f | Mon May 02 00:21:22.326724 2016 + f | 26 | (151,87) | f | Mon May 02 00:21:22.326724 2016 + f | 27 | (0,0) | t | +(9 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 20); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 21 | 22 | 691 | 19 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_false', 20); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+-----------+------------------+--------------------------------- + t | (130,137) | f | Mon May 02 00:21:22.326724 2016 + f | (126,71) | f | Mon May 02 00:21:22.326724 2016 + f | (126,72) | f | Mon May 02 00:21:22.326724 2016 + f | (126,73) | f | Mon May 02 00:21:22.326724 2016 + f | (126,74) | f | Mon May 02 00:21:22.326724 2016 + f | (126,75) | f | Mon May 02 00:21:22.326724 2016 + f | (126,76) | f | Mon May 02 00:21:22.326724 2016 + f | (126,77) | f | Mon May 02 00:21:22.326724 2016 + f | (126,78) | f | Mon May 02 00:21:22.326724 2016 + f | (126,79) | f | Mon May 02 00:21:22.326724 2016 + f | (126,80) | f | Mon May 02 00:21:22.326724 2016 + f | (126,81) | f | Mon May 02 00:21:22.326724 2016 + f | (126,82) | f | Mon May 02 00:21:22.326724 2016 + f | (126,83) | f | Mon May 02 00:21:22.326724 2016 + f | (126,84) | f | Mon May 02 00:21:22.326724 2016 + f | (126,85) | f | Mon May 02 00:21:22.326724 2016 + f | (126,86) | f | Mon May 02 00:21:22.326724 2016 + f | (126,87) | f | Mon May 02 00:21:22.326724 2016 + f | (126,88) | f | Mon May 02 00:21:22.326724 2016 + f | (126,89) | f | Mon May 02 00:21:22.326724 2016 + f | (126,90) | f | Mon May 02 00:21:22.326724 2016 + f | (126,91) | f | Mon May 02 00:21:22.326724 2016 + f | (126,92) | f | Mon May 02 00:21:22.326724 2016 + f | (126,93) | f | Mon May 02 00:21:22.326724 2016 + f | (126,94) | f | Mon May 02 00:21:22.326724 2016 + f | (126,95) | f | Mon May 02 00:21:22.326724 2016 + f | (126,96) | f | Mon May 02 00:21:22.326724 2016 + f | (126,97) | f | Mon May 02 00:21:22.326724 2016 + f | (126,98) | f | Mon May 02 00:21:22.326724 2016 + f | (126,99) | f | Mon May 02 00:21:22.326724 2016 + f | (126,100) | f | Mon May 02 00:21:22.326724 2016 + f | (126,101) | f | Mon May 02 00:21:22.326724 2016 + f | (126,102) | f | Mon May 02 00:21:22.326724 2016 + f | (126,103) | f | Mon May 02 00:21:22.326724 2016 + f | (126,104) | f | Mon May 02 00:21:22.326724 2016 + f | (126,105) | f | Mon May 02 00:21:22.326724 2016 + f | (126,106) | f | Mon May 02 00:21:22.326724 2016 + f | (126,107) | f | Mon May 02 00:21:22.326724 2016 + f | (126,108) | f | Mon May 02 00:21:22.326724 2016 + f | (126,109) | f | Mon May 02 00:21:22.326724 2016 + f | (126,110) | f | Mon May 02 00:21:22.326724 2016 + f | (126,111) | f | Mon May 02 00:21:22.326724 2016 + f | (126,112) | f | Mon May 02 00:21:22.326724 2016 + f | (126,113) | f | Mon May 02 00:21:22.326724 2016 + f | (126,114) | f | Mon May 02 00:21:22.326724 2016 + f | (126,115) | f | Mon May 02 00:21:22.326724 2016 + f | (126,116) | f | Mon May 02 00:21:22.326724 2016 + f | (126,117) | f | Mon May 02 00:21:22.326724 2016 + f | (126,118) | f | Mon May 02 00:21:22.326724 2016 + f | (126,119) | f | Mon May 02 00:21:22.326724 2016 + f | (126,120) | f | Mon May 02 00:21:22.326724 2016 + f | (126,121) | f | Mon May 02 00:21:22.326724 2016 + f | (126,122) | f | Mon May 02 00:21:22.326724 2016 + f | (126,123) | f | Mon May 02 00:21:22.326724 2016 + f | (126,124) | f | Mon May 02 00:21:22.326724 2016 + f | (126,125) | f | Mon May 02 00:21:22.326724 2016 + f | (126,126) | f | Mon May 02 00:21:22.326724 2016 + f | (126,127) | f | Mon May 02 00:21:22.326724 2016 + f | (126,128) | f | Mon May 02 00:21:22.326724 2016 + f | (126,129) | f | Mon May 02 00:21:22.326724 2016 + f | (126,130) | f | Mon May 02 00:21:22.326724 2016 + f | (126,131) | f | Mon May 02 00:21:22.326724 2016 + f | (126,132) | f | Mon May 02 00:21:22.326724 2016 + f | (126,133) | f | Mon May 02 00:21:22.326724 2016 + f | (126,134) | f | Mon May 02 00:21:22.326724 2016 + f | (126,135) | f | Mon May 02 00:21:22.326724 2016 + f | (126,136) | f | Mon May 02 00:21:22.326724 2016 + f | (126,137) | f | Mon May 02 00:21:22.326724 2016 + f | (126,138) | f | Mon May 02 00:21:22.326724 2016 + f | (126,139) | f | Mon May 02 00:21:22.326724 2016 + f | (126,140) | f | Mon May 02 00:21:22.326724 2016 + f | (126,141) | f | Mon May 02 00:21:22.326724 2016 + f | (126,142) | f | Mon May 02 00:21:22.326724 2016 + f | (126,143) | f | Mon May 02 00:21:22.326724 2016 + f | (126,144) | f | Mon May 02 00:21:22.326724 2016 + f | (126,145) | f | Mon May 02 00:21:22.326724 2016 + f | (126,146) | f | Mon May 02 00:21:22.326724 2016 + f | (126,147) | f | Mon May 02 00:21:22.326724 2016 + f | (126,148) | f | Mon May 02 00:21:22.326724 2016 + f | (126,149) | f | Mon May 02 00:21:22.326724 2016 + f | (126,150) | f | Mon May 02 00:21:22.326724 2016 + f | (126,151) | f | Mon May 02 00:21:22.326724 2016 + f | (126,152) | f | Mon May 02 00:21:22.326724 2016 + f | (126,153) | f | Mon May 02 00:21:22.326724 2016 + f | (126,154) | f | Mon May 02 00:21:22.326724 2016 + f | (126,155) | f | Mon May 02 00:21:22.326724 2016 + f | (126,156) | f | Mon May 02 00:21:22.326724 2016 + f | (127,1) | f | Mon May 02 00:21:22.326724 2016 + f | (127,2) | f | Mon May 02 00:21:22.326724 2016 + f | (127,3) | f | Mon May 02 00:21:22.326724 2016 + f | (127,4) | f | Mon May 02 00:21:22.326724 2016 + f | (127,5) | f | Mon May 02 00:21:22.326724 2016 + f | (127,6) | f | Mon May 02 00:21:22.326724 2016 + f | (127,7) | f | Mon May 02 00:21:22.326724 2016 + f | (127,8) | f | Mon May 02 00:21:22.326724 2016 + f | (127,9) | f | Mon May 02 00:21:22.326724 2016 + f | (127,10) | f | Mon May 02 00:21:22.326724 2016 + f | (127,11) | f | Mon May 02 00:21:22.326724 2016 + f | (127,12) | f | Mon May 02 00:21:22.326724 2016 + f | (127,13) | f | Mon May 02 00:21:22.326724 2016 + f | (127,14) | f | Mon May 02 00:21:22.326724 2016 + f | (127,15) | f | Mon May 02 00:21:22.326724 2016 + f | (127,16) | f | Mon May 02 00:21:22.326724 2016 + f | (127,17) | f | Mon May 02 00:21:22.326724 2016 + f | (127,18) | f | Mon May 02 00:21:22.326724 2016 + f | (127,19) | f | Mon May 02 00:21:22.326724 2016 + f | (127,20) | f | Mon May 02 00:21:22.326724 2016 + f | (127,21) | f | Mon May 02 00:21:22.326724 2016 + f | (127,22) | f | Mon May 02 00:21:22.326724 2016 + f | (127,23) | f | Mon May 02 00:21:22.326724 2016 + f | (127,24) | f | Mon May 02 00:21:22.326724 2016 + f | (127,25) | f | Mon May 02 00:21:22.326724 2016 + f | (127,26) | f | Mon May 02 00:21:22.326724 2016 + f | (127,27) | f | Mon May 02 00:21:22.326724 2016 + f | (127,28) | f | Mon May 02 00:21:22.326724 2016 + f | (127,29) | f | Mon May 02 00:21:22.326724 2016 + f | (127,30) | f | Mon May 02 00:21:22.326724 2016 + f | (127,31) | f | Mon May 02 00:21:22.326724 2016 + f | (127,32) | f | Mon May 02 00:21:22.326724 2016 + f | (127,33) | f | Mon May 02 00:21:22.326724 2016 + f | (127,34) | f | Mon May 02 00:21:22.326724 2016 + f | (127,35) | f | Mon May 02 00:21:22.326724 2016 + f | (127,36) | f | Mon May 02 00:21:22.326724 2016 + f | (127,37) | f | Mon May 02 00:21:22.326724 2016 + f | (127,38) | f | Mon May 02 00:21:22.326724 2016 + f | (127,39) | f | Mon May 02 00:21:22.326724 2016 + f | (127,40) | f | Mon May 02 00:21:22.326724 2016 + f | (127,41) | f | Mon May 02 00:21:22.326724 2016 + f | (127,42) | f | Mon May 02 00:21:22.326724 2016 + f | (127,43) | f | Mon May 02 00:21:22.326724 2016 + f | (127,44) | f | Mon May 02 00:21:22.326724 2016 + f | (127,45) | f | Mon May 02 00:21:22.326724 2016 + f | (127,46) | f | Mon May 02 00:21:22.326724 2016 + f | (127,47) | f | Mon May 02 00:21:22.326724 2016 + f | (127,48) | f | Mon May 02 00:21:22.326724 2016 + f | (127,49) | f | Mon May 02 00:21:22.326724 2016 + f | (127,50) | f | Mon May 02 00:21:22.326724 2016 + f | (127,51) | f | Mon May 02 00:21:22.326724 2016 + f | (127,52) | f | Mon May 02 00:21:22.326724 2016 + f | (127,53) | f | Mon May 02 00:21:22.326724 2016 + f | (127,54) | f | Mon May 02 00:21:22.326724 2016 + f | (127,55) | f | Mon May 02 00:21:22.326724 2016 + f | (127,56) | f | Mon May 02 00:21:22.326724 2016 + f | (127,57) | f | Mon May 02 00:21:22.326724 2016 + f | (127,58) | f | Mon May 02 00:21:22.326724 2016 + f | (127,59) | f | Mon May 02 00:21:22.326724 2016 + f | (127,60) | f | Mon May 02 00:21:22.326724 2016 + f | (127,61) | f | Mon May 02 00:21:22.326724 2016 + f | (127,62) | f | Mon May 02 00:21:22.326724 2016 + f | (127,63) | f | Mon May 02 00:21:22.326724 2016 + f | (127,64) | f | Mon May 02 00:21:22.326724 2016 + f | (127,65) | f | Mon May 02 00:21:22.326724 2016 + f | (127,66) | f | Mon May 02 00:21:22.326724 2016 + f | (127,67) | f | Mon May 02 00:21:22.326724 2016 + f | (127,68) | f | Mon May 02 00:21:22.326724 2016 + f | (127,69) | f | Mon May 02 00:21:22.326724 2016 + f | (127,70) | f | Mon May 02 00:21:22.326724 2016 + f | (127,71) | f | Mon May 02 00:21:22.326724 2016 + f | (127,72) | f | Mon May 02 00:21:22.326724 2016 + f | (127,73) | f | Mon May 02 00:21:22.326724 2016 + f | (127,74) | f | Mon May 02 00:21:22.326724 2016 + f | (127,75) | f | Mon May 02 00:21:22.326724 2016 + f | (127,76) | f | Mon May 02 00:21:22.326724 2016 + f | (127,77) | f | Mon May 02 00:21:22.326724 2016 + f | (127,78) | f | Mon May 02 00:21:22.326724 2016 + f | (127,79) | f | Mon May 02 00:21:22.326724 2016 + f | (127,80) | f | Mon May 02 00:21:22.326724 2016 + f | (127,81) | f | Mon May 02 00:21:22.326724 2016 + f | (127,82) | f | Mon May 02 00:21:22.326724 2016 + f | (127,83) | f | Mon May 02 00:21:22.326724 2016 + f | (127,84) | f | Mon May 02 00:21:22.326724 2016 + f | (127,85) | f | Mon May 02 00:21:22.326724 2016 + f | (127,86) | f | Mon May 02 00:21:22.326724 2016 + f | (127,87) | f | Mon May 02 00:21:22.326724 2016 + f | (127,88) | f | Mon May 02 00:21:22.326724 2016 + f | (127,89) | f | Mon May 02 00:21:22.326724 2016 + f | (127,90) | f | Mon May 02 00:21:22.326724 2016 + f | (127,91) | f | Mon May 02 00:21:22.326724 2016 + f | (127,92) | f | Mon May 02 00:21:22.326724 2016 + f | (127,93) | f | Mon May 02 00:21:22.326724 2016 + f | (127,94) | f | Mon May 02 00:21:22.326724 2016 + f | (127,95) | f | Mon May 02 00:21:22.326724 2016 + f | (127,96) | f | Mon May 02 00:21:22.326724 2016 + f | (127,97) | f | Mon May 02 00:21:22.326724 2016 + f | (127,98) | f | Mon May 02 00:21:22.326724 2016 + f | (127,99) | f | Mon May 02 00:21:22.326724 2016 + f | (127,100) | f | Mon May 02 00:21:22.326724 2016 + f | (127,101) | f | Mon May 02 00:21:22.326724 2016 + f | (127,102) | f | Mon May 02 00:21:22.326724 2016 + f | (127,103) | f | Mon May 02 00:21:22.326724 2016 + f | (127,104) | f | Mon May 02 00:21:22.326724 2016 + f | (127,105) | f | Mon May 02 00:21:22.326724 2016 + f | (127,106) | f | Mon May 02 00:21:22.326724 2016 + f | (127,107) | f | Mon May 02 00:21:22.326724 2016 + f | (127,108) | f | Mon May 02 00:21:22.326724 2016 + f | (127,109) | f | Mon May 02 00:21:22.326724 2016 + f | (127,110) | f | Mon May 02 00:21:22.326724 2016 + f | (127,111) | f | Mon May 02 00:21:22.326724 2016 + f | (127,112) | f | Mon May 02 00:21:22.326724 2016 + f | (127,113) | f | Mon May 02 00:21:22.326724 2016 + f | (127,114) | f | Mon May 02 00:21:22.326724 2016 + f | (127,115) | f | Mon May 02 00:21:22.326724 2016 + f | (127,116) | f | Mon May 02 00:21:22.326724 2016 + f | (127,117) | f | Mon May 02 00:21:22.326724 2016 + f | (127,118) | f | Mon May 02 00:21:22.326724 2016 + f | (127,119) | f | Mon May 02 00:21:22.326724 2016 + f | (127,120) | f | Mon May 02 00:21:22.326724 2016 + f | (127,121) | f | Mon May 02 00:21:22.326724 2016 + f | (127,122) | f | Mon May 02 00:21:22.326724 2016 + f | (127,123) | f | Mon May 02 00:21:22.326724 2016 + f | (127,124) | f | Mon May 02 00:21:22.326724 2016 + f | (127,125) | f | Mon May 02 00:21:22.326724 2016 + f | (127,126) | f | Mon May 02 00:21:22.326724 2016 + f | (127,127) | f | Mon May 02 00:21:22.326724 2016 + f | (127,128) | f | Mon May 02 00:21:22.326724 2016 + f | (127,129) | f | Mon May 02 00:21:22.326724 2016 + f | (127,130) | f | Mon May 02 00:21:22.326724 2016 + f | (127,131) | f | Mon May 02 00:21:22.326724 2016 + f | (127,132) | f | Mon May 02 00:21:22.326724 2016 + f | (127,133) | f | Mon May 02 00:21:22.326724 2016 + f | (127,134) | f | Mon May 02 00:21:22.326724 2016 + f | (127,135) | f | Mon May 02 00:21:22.326724 2016 + f | (127,136) | f | Mon May 02 00:21:22.326724 2016 + f | (127,137) | f | Mon May 02 00:21:22.326724 2016 + f | (127,138) | f | Mon May 02 00:21:22.326724 2016 + f | (127,139) | f | Mon May 02 00:21:22.326724 2016 + f | (127,140) | f | Mon May 02 00:21:22.326724 2016 + f | (127,141) | f | Mon May 02 00:21:22.326724 2016 + f | (127,142) | f | Mon May 02 00:21:22.326724 2016 + f | (127,143) | f | Mon May 02 00:21:22.326724 2016 + f | (127,144) | f | Mon May 02 00:21:22.326724 2016 + f | (127,145) | f | Mon May 02 00:21:22.326724 2016 + f | (127,146) | f | Mon May 02 00:21:22.326724 2016 + f | (127,147) | f | Mon May 02 00:21:22.326724 2016 + f | (127,148) | f | Mon May 02 00:21:22.326724 2016 + f | (127,149) | f | Mon May 02 00:21:22.326724 2016 + f | (127,150) | f | Mon May 02 00:21:22.326724 2016 + f | (127,151) | f | Mon May 02 00:21:22.326724 2016 + f | (127,152) | f | Mon May 02 00:21:22.326724 2016 + f | (127,153) | f | Mon May 02 00:21:22.326724 2016 + f | (127,154) | f | Mon May 02 00:21:22.326724 2016 + f | (127,155) | f | Mon May 02 00:21:22.326724 2016 + f | (127,156) | f | Mon May 02 00:21:22.326724 2016 + f | (128,1) | f | Mon May 02 00:21:22.326724 2016 + f | (128,2) | f | Mon May 02 00:21:22.326724 2016 + f | (128,3) | f | Mon May 02 00:21:22.326724 2016 + f | (128,4) | f | Mon May 02 00:21:22.326724 2016 + f | (128,5) | f | Mon May 02 00:21:22.326724 2016 + f | (128,6) | f | Mon May 02 00:21:22.326724 2016 + f | (128,7) | f | Mon May 02 00:21:22.326724 2016 + f | (128,8) | f | Mon May 02 00:21:22.326724 2016 + f | (128,9) | f | Mon May 02 00:21:22.326724 2016 + f | (128,10) | f | Mon May 02 00:21:22.326724 2016 + f | (128,11) | f | Mon May 02 00:21:22.326724 2016 + f | (128,12) | f | Mon May 02 00:21:22.326724 2016 + f | (128,13) | f | Mon May 02 00:21:22.326724 2016 + f | (128,14) | f | Mon May 02 00:21:22.326724 2016 + f | (128,15) | f | Mon May 02 00:21:22.326724 2016 + f | (128,16) | f | Mon May 02 00:21:22.326724 2016 + f | (128,17) | f | Mon May 02 00:21:22.326724 2016 + f | (128,18) | f | Mon May 02 00:21:22.326724 2016 + f | (128,19) | f | Mon May 02 00:21:22.326724 2016 + f | (128,20) | f | Mon May 02 00:21:22.326724 2016 + f | (128,21) | f | Mon May 02 00:21:22.326724 2016 + f | (128,22) | f | Mon May 02 00:21:22.326724 2016 + f | (128,23) | f | Mon May 02 00:21:22.326724 2016 + f | (128,24) | f | Mon May 02 00:21:22.326724 2016 + f | (128,25) | f | Mon May 02 00:21:22.326724 2016 + f | (128,26) | f | Mon May 02 00:21:22.326724 2016 + f | (128,27) | f | Mon May 02 00:21:22.326724 2016 + f | (128,28) | f | Mon May 02 00:21:22.326724 2016 + f | (128,29) | f | Mon May 02 00:21:22.326724 2016 + f | (128,30) | f | Mon May 02 00:21:22.326724 2016 + f | (128,31) | f | Mon May 02 00:21:22.326724 2016 + f | (128,32) | f | Mon May 02 00:21:22.326724 2016 + f | (128,33) | f | Mon May 02 00:21:22.326724 2016 + f | (128,34) | f | Mon May 02 00:21:22.326724 2016 + f | (128,35) | f | Mon May 02 00:21:22.326724 2016 + f | (128,36) | f | Mon May 02 00:21:22.326724 2016 + f | (128,37) | f | Mon May 02 00:21:22.326724 2016 + f | (128,38) | f | Mon May 02 00:21:22.326724 2016 + f | (128,39) | f | Mon May 02 00:21:22.326724 2016 + f | (128,40) | f | Mon May 02 00:21:22.326724 2016 + f | (128,41) | f | Mon May 02 00:21:22.326724 2016 + f | (128,42) | f | Mon May 02 00:21:22.326724 2016 + f | (128,43) | f | Mon May 02 00:21:22.326724 2016 + f | (128,44) | f | Mon May 02 00:21:22.326724 2016 + f | (128,45) | f | Mon May 02 00:21:22.326724 2016 + f | (128,46) | f | Mon May 02 00:21:22.326724 2016 + f | (128,47) | f | Mon May 02 00:21:22.326724 2016 + f | (128,48) | f | Mon May 02 00:21:22.326724 2016 + f | (128,49) | f | Mon May 02 00:21:22.326724 2016 + f | (128,50) | f | Mon May 02 00:21:22.326724 2016 + f | (128,51) | f | Mon May 02 00:21:22.326724 2016 + f | (128,52) | f | Mon May 02 00:21:22.326724 2016 + f | (128,53) | f | Mon May 02 00:21:22.326724 2016 + f | (128,54) | f | Mon May 02 00:21:22.326724 2016 + f | (128,55) | f | Mon May 02 00:21:22.326724 2016 + f | (128,56) | f | Mon May 02 00:21:22.326724 2016 + f | (128,57) | f | Mon May 02 00:21:22.326724 2016 + f | (128,58) | f | Mon May 02 00:21:22.326724 2016 + f | (128,59) | f | Mon May 02 00:21:22.326724 2016 + f | (128,60) | f | Mon May 02 00:21:22.326724 2016 + f | (128,61) | f | Mon May 02 00:21:22.326724 2016 + f | (128,62) | f | Mon May 02 00:21:22.326724 2016 + f | (128,63) | f | Mon May 02 00:21:22.326724 2016 + f | (128,64) | f | Mon May 02 00:21:22.326724 2016 + f | (128,65) | f | Mon May 02 00:21:22.326724 2016 + f | (128,66) | f | Mon May 02 00:21:22.326724 2016 + f | (128,67) | f | Mon May 02 00:21:22.326724 2016 + f | (128,68) | f | Mon May 02 00:21:22.326724 2016 + f | (128,69) | f | Mon May 02 00:21:22.326724 2016 + f | (128,70) | f | Mon May 02 00:21:22.326724 2016 + f | (128,71) | f | Mon May 02 00:21:22.326724 2016 + f | (128,72) | f | Mon May 02 00:21:22.326724 2016 + f | (128,73) | f | Mon May 02 00:21:22.326724 2016 + f | (128,74) | f | Mon May 02 00:21:22.326724 2016 + f | (128,75) | f | Mon May 02 00:21:22.326724 2016 + f | (128,76) | f | Mon May 02 00:21:22.326724 2016 + f | (128,77) | f | Mon May 02 00:21:22.326724 2016 + f | (128,78) | f | Mon May 02 00:21:22.326724 2016 + f | (128,79) | f | Mon May 02 00:21:22.326724 2016 + f | (128,80) | f | Mon May 02 00:21:22.326724 2016 + f | (128,81) | f | Mon May 02 00:21:22.326724 2016 + f | (128,82) | f | Mon May 02 00:21:22.326724 2016 + f | (128,83) | f | Mon May 02 00:21:22.326724 2016 + f | (128,84) | f | Mon May 02 00:21:22.326724 2016 + f | (128,85) | f | Mon May 02 00:21:22.326724 2016 + f | (128,86) | f | Mon May 02 00:21:22.326724 2016 + f | (128,87) | f | Mon May 02 00:21:22.326724 2016 + f | (128,88) | f | Mon May 02 00:21:22.326724 2016 + f | (128,89) | f | Mon May 02 00:21:22.326724 2016 + f | (128,90) | f | Mon May 02 00:21:22.326724 2016 + f | (128,91) | f | Mon May 02 00:21:22.326724 2016 + f | (128,92) | f | Mon May 02 00:21:22.326724 2016 + f | (128,93) | f | Mon May 02 00:21:22.326724 2016 + f | (128,94) | f | Mon May 02 00:21:22.326724 2016 + f | (128,95) | f | Mon May 02 00:21:22.326724 2016 + f | (128,96) | f | Mon May 02 00:21:22.326724 2016 + f | (128,97) | f | Mon May 02 00:21:22.326724 2016 + f | (128,98) | f | Mon May 02 00:21:22.326724 2016 + f | (128,99) | f | Mon May 02 00:21:22.326724 2016 + f | (128,100) | f | Mon May 02 00:21:22.326724 2016 + f | (128,101) | f | Mon May 02 00:21:22.326724 2016 + f | (128,102) | f | Mon May 02 00:21:22.326724 2016 + f | (128,103) | f | Mon May 02 00:21:22.326724 2016 + f | (128,104) | f | Mon May 02 00:21:22.326724 2016 + f | (128,105) | f | Mon May 02 00:21:22.326724 2016 + f | (128,106) | f | Mon May 02 00:21:22.326724 2016 + f | (128,107) | f | Mon May 02 00:21:22.326724 2016 + f | (128,108) | f | Mon May 02 00:21:22.326724 2016 + f | (128,109) | f | Mon May 02 00:21:22.326724 2016 + f | (128,110) | f | Mon May 02 00:21:22.326724 2016 + f | (128,111) | f | Mon May 02 00:21:22.326724 2016 + f | (128,112) | f | Mon May 02 00:21:22.326724 2016 + f | (128,113) | f | Mon May 02 00:21:22.326724 2016 + f | (128,114) | f | Mon May 02 00:21:22.326724 2016 + f | (128,115) | f | Mon May 02 00:21:22.326724 2016 + f | (128,116) | f | Mon May 02 00:21:22.326724 2016 + f | (128,117) | f | Mon May 02 00:21:22.326724 2016 + f | (128,118) | f | Mon May 02 00:21:22.326724 2016 + f | (128,119) | f | Mon May 02 00:21:22.326724 2016 + f | (128,120) | f | Mon May 02 00:21:22.326724 2016 + f | (128,121) | f | Mon May 02 00:21:22.326724 2016 + f | (128,122) | f | Mon May 02 00:21:22.326724 2016 + f | (128,123) | f | Mon May 02 00:21:22.326724 2016 + f | (128,124) | f | Mon May 02 00:21:22.326724 2016 + f | (128,125) | f | Mon May 02 00:21:22.326724 2016 + f | (128,126) | f | Mon May 02 00:21:22.326724 2016 + f | (128,127) | f | Mon May 02 00:21:22.326724 2016 + f | (128,128) | f | Mon May 02 00:21:22.326724 2016 + f | (128,129) | f | Mon May 02 00:21:22.326724 2016 + f | (128,130) | f | Mon May 02 00:21:22.326724 2016 + f | (128,131) | f | Mon May 02 00:21:22.326724 2016 + f | (128,132) | f | Mon May 02 00:21:22.326724 2016 + f | (128,133) | f | Mon May 02 00:21:22.326724 2016 + f | (128,134) | f | Mon May 02 00:21:22.326724 2016 + f | (128,135) | f | Mon May 02 00:21:22.326724 2016 + f | (128,136) | f | Mon May 02 00:21:22.326724 2016 + f | (128,137) | f | Mon May 02 00:21:22.326724 2016 + f | (128,138) | f | Mon May 02 00:21:22.326724 2016 + f | (128,139) | f | Mon May 02 00:21:22.326724 2016 + f | (128,140) | f | Mon May 02 00:21:22.326724 2016 + f | (128,141) | f | Mon May 02 00:21:22.326724 2016 + f | (128,142) | f | Mon May 02 00:21:22.326724 2016 + f | (128,143) | f | Mon May 02 00:21:22.326724 2016 + f | (128,144) | f | Mon May 02 00:21:22.326724 2016 + f | (128,145) | f | Mon May 02 00:21:22.326724 2016 + f | (128,146) | f | Mon May 02 00:21:22.326724 2016 + f | (128,147) | f | Mon May 02 00:21:22.326724 2016 + f | (128,148) | f | Mon May 02 00:21:22.326724 2016 + f | (128,149) | f | Mon May 02 00:21:22.326724 2016 + f | (128,150) | f | Mon May 02 00:21:22.326724 2016 + f | (128,151) | f | Mon May 02 00:21:22.326724 2016 + f | (128,152) | f | Mon May 02 00:21:22.326724 2016 + f | (128,153) | f | Mon May 02 00:21:22.326724 2016 + f | (128,154) | f | Mon May 02 00:21:22.326724 2016 + f | (128,155) | f | Mon May 02 00:21:22.326724 2016 + f | (128,156) | f | Mon May 02 00:21:22.326724 2016 + f | (129,1) | f | Mon May 02 00:21:22.326724 2016 + f | (129,2) | f | Mon May 02 00:21:22.326724 2016 + f | (129,3) | f | Mon May 02 00:21:22.326724 2016 + f | (129,4) | f | Mon May 02 00:21:22.326724 2016 + f | (129,5) | f | Mon May 02 00:21:22.326724 2016 + f | (129,6) | f | Mon May 02 00:21:22.326724 2016 + f | (129,7) | f | Mon May 02 00:21:22.326724 2016 + f | (129,8) | f | Mon May 02 00:21:22.326724 2016 + f | (129,9) | f | Mon May 02 00:21:22.326724 2016 + f | (129,10) | f | Mon May 02 00:21:22.326724 2016 + f | (129,11) | f | Mon May 02 00:21:22.326724 2016 + f | (129,12) | f | Mon May 02 00:21:22.326724 2016 + f | (129,13) | f | Mon May 02 00:21:22.326724 2016 + f | (129,14) | f | Mon May 02 00:21:22.326724 2016 + f | (129,15) | f | Mon May 02 00:21:22.326724 2016 + f | (129,16) | f | Mon May 02 00:21:22.326724 2016 + f | (129,17) | f | Mon May 02 00:21:22.326724 2016 + f | (129,18) | f | Mon May 02 00:21:22.326724 2016 + f | (129,19) | f | Mon May 02 00:21:22.326724 2016 + f | (129,20) | f | Mon May 02 00:21:22.326724 2016 + f | (129,21) | f | Mon May 02 00:21:22.326724 2016 + f | (129,22) | f | Mon May 02 00:21:22.326724 2016 + f | (129,23) | f | Mon May 02 00:21:22.326724 2016 + f | (129,24) | f | Mon May 02 00:21:22.326724 2016 + f | (129,25) | f | Mon May 02 00:21:22.326724 2016 + f | (129,26) | f | Mon May 02 00:21:22.326724 2016 + f | (129,27) | f | Mon May 02 00:21:22.326724 2016 + f | (129,28) | f | Mon May 02 00:21:22.326724 2016 + f | (129,29) | f | Mon May 02 00:21:22.326724 2016 + f | (129,30) | f | Mon May 02 00:21:22.326724 2016 + f | (129,31) | f | Mon May 02 00:21:22.326724 2016 + f | (129,32) | f | Mon May 02 00:21:22.326724 2016 + f | (129,33) | f | Mon May 02 00:21:22.326724 2016 + f | (129,34) | f | Mon May 02 00:21:22.326724 2016 + f | (129,35) | f | Mon May 02 00:21:22.326724 2016 + f | (129,36) | f | Mon May 02 00:21:22.326724 2016 + f | (129,37) | f | Mon May 02 00:21:22.326724 2016 + f | (129,38) | f | Mon May 02 00:21:22.326724 2016 + f | (129,39) | f | Mon May 02 00:21:22.326724 2016 + f | (129,40) | f | Mon May 02 00:21:22.326724 2016 + f | (129,41) | f | Mon May 02 00:21:22.326724 2016 + f | (129,42) | f | Mon May 02 00:21:22.326724 2016 + f | (129,43) | f | Mon May 02 00:21:22.326724 2016 + f | (129,44) | f | Mon May 02 00:21:22.326724 2016 + f | (129,45) | f | Mon May 02 00:21:22.326724 2016 + f | (129,46) | f | Mon May 02 00:21:22.326724 2016 + f | (129,47) | f | Mon May 02 00:21:22.326724 2016 + f | (129,48) | f | Mon May 02 00:21:22.326724 2016 + f | (129,49) | f | Mon May 02 00:21:22.326724 2016 + f | (129,50) | f | Mon May 02 00:21:22.326724 2016 + f | (129,51) | f | Mon May 02 00:21:22.326724 2016 + f | (129,52) | f | Mon May 02 00:21:22.326724 2016 + f | (129,53) | f | Mon May 02 00:21:22.326724 2016 + f | (129,54) | f | Mon May 02 00:21:22.326724 2016 + f | (129,55) | f | Mon May 02 00:21:22.326724 2016 + f | (129,56) | f | Mon May 02 00:21:22.326724 2016 + f | (129,57) | f | Mon May 02 00:21:22.326724 2016 + f | (129,58) | f | Mon May 02 00:21:22.326724 2016 + f | (129,59) | f | Mon May 02 00:21:22.326724 2016 + f | (129,60) | f | Mon May 02 00:21:22.326724 2016 + f | (129,61) | f | Mon May 02 00:21:22.326724 2016 + f | (129,62) | f | Mon May 02 00:21:22.326724 2016 + f | (129,63) | f | Mon May 02 00:21:22.326724 2016 + f | (129,64) | f | Mon May 02 00:21:22.326724 2016 + f | (129,65) | f | Mon May 02 00:21:22.326724 2016 + f | (129,66) | f | Mon May 02 00:21:22.326724 2016 + f | (129,67) | f | Mon May 02 00:21:22.326724 2016 + f | (129,68) | f | Mon May 02 00:21:22.326724 2016 + f | (129,69) | f | Mon May 02 00:21:22.326724 2016 + f | (129,70) | f | Mon May 02 00:21:22.326724 2016 + f | (129,71) | f | Mon May 02 00:21:22.326724 2016 + f | (129,72) | f | Mon May 02 00:21:22.326724 2016 + f | (129,73) | f | Mon May 02 00:21:22.326724 2016 + f | (129,74) | f | Mon May 02 00:21:22.326724 2016 + f | (129,75) | f | Mon May 02 00:21:22.326724 2016 + f | (129,76) | f | Mon May 02 00:21:22.326724 2016 + f | (129,77) | f | Mon May 02 00:21:22.326724 2016 + f | (129,78) | f | Mon May 02 00:21:22.326724 2016 + f | (129,79) | f | Mon May 02 00:21:22.326724 2016 + f | (129,80) | f | Mon May 02 00:21:22.326724 2016 + f | (129,81) | f | Mon May 02 00:21:22.326724 2016 + f | (129,82) | f | Mon May 02 00:21:22.326724 2016 + f | (129,83) | f | Mon May 02 00:21:22.326724 2016 + f | (129,84) | f | Mon May 02 00:21:22.326724 2016 + f | (129,85) | f | Mon May 02 00:21:22.326724 2016 + f | (129,86) | f | Mon May 02 00:21:22.326724 2016 + f | (129,87) | f | Mon May 02 00:21:22.326724 2016 + f | (129,88) | f | Mon May 02 00:21:22.326724 2016 + f | (129,89) | f | Mon May 02 00:21:22.326724 2016 + f | (129,90) | f | Mon May 02 00:21:22.326724 2016 + f | (129,91) | f | Mon May 02 00:21:22.326724 2016 + f | (129,92) | f | Mon May 02 00:21:22.326724 2016 + f | (129,93) | f | Mon May 02 00:21:22.326724 2016 + f | (129,94) | f | Mon May 02 00:21:22.326724 2016 + f | (129,95) | f | Mon May 02 00:21:22.326724 2016 + f | (129,96) | f | Mon May 02 00:21:22.326724 2016 + f | (129,97) | f | Mon May 02 00:21:22.326724 2016 + f | (129,98) | f | Mon May 02 00:21:22.326724 2016 + f | (129,99) | f | Mon May 02 00:21:22.326724 2016 + f | (129,100) | f | Mon May 02 00:21:22.326724 2016 + f | (129,101) | f | Mon May 02 00:21:22.326724 2016 + f | (129,102) | f | Mon May 02 00:21:22.326724 2016 + f | (129,103) | f | Mon May 02 00:21:22.326724 2016 + f | (129,104) | f | Mon May 02 00:21:22.326724 2016 + f | (129,105) | f | Mon May 02 00:21:22.326724 2016 + f | (129,106) | f | Mon May 02 00:21:22.326724 2016 + f | (129,107) | f | Mon May 02 00:21:22.326724 2016 + f | (129,108) | f | Mon May 02 00:21:22.326724 2016 + f | (129,109) | f | Mon May 02 00:21:22.326724 2016 + f | (129,110) | f | Mon May 02 00:21:22.326724 2016 + f | (129,111) | f | Mon May 02 00:21:22.326724 2016 + f | (129,112) | f | Mon May 02 00:21:22.326724 2016 + f | (129,113) | f | Mon May 02 00:21:22.326724 2016 + f | (129,114) | f | Mon May 02 00:21:22.326724 2016 + f | (129,115) | f | Mon May 02 00:21:22.326724 2016 + f | (129,116) | f | Mon May 02 00:21:22.326724 2016 + f | (129,117) | f | Mon May 02 00:21:22.326724 2016 + f | (129,118) | f | Mon May 02 00:21:22.326724 2016 + f | (129,119) | f | Mon May 02 00:21:22.326724 2016 + f | (129,120) | f | Mon May 02 00:21:22.326724 2016 + f | (129,121) | f | Mon May 02 00:21:22.326724 2016 + f | (129,122) | f | Mon May 02 00:21:22.326724 2016 + f | (129,123) | f | Mon May 02 00:21:22.326724 2016 + f | (129,124) | f | Mon May 02 00:21:22.326724 2016 + f | (129,125) | f | Mon May 02 00:21:22.326724 2016 + f | (129,126) | f | Mon May 02 00:21:22.326724 2016 + f | (129,127) | f | Mon May 02 00:21:22.326724 2016 + f | (129,128) | f | Mon May 02 00:21:22.326724 2016 + f | (129,129) | f | Mon May 02 00:21:22.326724 2016 + f | (129,130) | f | Mon May 02 00:21:22.326724 2016 + f | (129,131) | f | Mon May 02 00:21:22.326724 2016 + f | (129,132) | f | Mon May 02 00:21:22.326724 2016 + f | (129,133) | f | Mon May 02 00:21:22.326724 2016 + f | (129,134) | f | Mon May 02 00:21:22.326724 2016 + f | (129,135) | f | Mon May 02 00:21:22.326724 2016 + f | (129,136) | f | Mon May 02 00:21:22.326724 2016 + f | (129,137) | f | Mon May 02 00:21:22.326724 2016 + f | (129,138) | f | Mon May 02 00:21:22.326724 2016 + f | (129,139) | f | Mon May 02 00:21:22.326724 2016 + f | (129,140) | f | Mon May 02 00:21:22.326724 2016 + f | (129,141) | f | Mon May 02 00:21:22.326724 2016 + f | (129,142) | f | Mon May 02 00:21:22.326724 2016 + f | (129,143) | f | Mon May 02 00:21:22.326724 2016 + f | (129,144) | f | Mon May 02 00:21:22.326724 2016 + f | (129,145) | f | Mon May 02 00:21:22.326724 2016 + f | (129,146) | f | Mon May 02 00:21:22.326724 2016 + f | (129,147) | f | Mon May 02 00:21:22.326724 2016 + f | (129,148) | f | Mon May 02 00:21:22.326724 2016 + f | (129,149) | f | Mon May 02 00:21:22.326724 2016 + f | (129,150) | f | Mon May 02 00:21:22.326724 2016 + f | (129,151) | f | Mon May 02 00:21:22.326724 2016 + f | (129,152) | f | Mon May 02 00:21:22.326724 2016 + f | (129,153) | f | Mon May 02 00:21:22.326724 2016 + f | (129,154) | f | Mon May 02 00:21:22.326724 2016 + f | (129,155) | f | Mon May 02 00:21:22.326724 2016 + f | (129,156) | f | Mon May 02 00:21:22.326724 2016 + f | (130,1) | f | Mon May 02 00:21:22.326724 2016 + f | (130,2) | f | Mon May 02 00:21:22.326724 2016 + f | (130,3) | f | Mon May 02 00:21:22.326724 2016 + f | (130,4) | f | Mon May 02 00:21:22.326724 2016 + f | (130,5) | f | Mon May 02 00:21:22.326724 2016 + f | (130,6) | f | Mon May 02 00:21:22.326724 2016 + f | (130,7) | f | Mon May 02 00:21:22.326724 2016 + f | (130,8) | f | Mon May 02 00:21:22.326724 2016 + f | (130,9) | f | Mon May 02 00:21:22.326724 2016 + f | (130,10) | f | Mon May 02 00:21:22.326724 2016 + f | (130,11) | f | Mon May 02 00:21:22.326724 2016 + f | (130,12) | f | Mon May 02 00:21:22.326724 2016 + f | (130,13) | f | Mon May 02 00:21:22.326724 2016 + f | (130,14) | f | Mon May 02 00:21:22.326724 2016 + f | (130,15) | f | Mon May 02 00:21:22.326724 2016 + f | (130,16) | f | Mon May 02 00:21:22.326724 2016 + f | (130,17) | f | Mon May 02 00:21:22.326724 2016 + f | (130,18) | f | Mon May 02 00:21:22.326724 2016 + f | (130,19) | f | Mon May 02 00:21:22.326724 2016 + f | (130,20) | f | Mon May 02 00:21:22.326724 2016 + f | (130,21) | f | Mon May 02 00:21:22.326724 2016 + f | (130,22) | f | Mon May 02 00:21:22.326724 2016 + f | (130,23) | f | Mon May 02 00:21:22.326724 2016 + f | (130,24) | f | Mon May 02 00:21:22.326724 2016 + f | (130,25) | f | Mon May 02 00:21:22.326724 2016 + f | (130,26) | f | Mon May 02 00:21:22.326724 2016 + f | (130,27) | f | Mon May 02 00:21:22.326724 2016 + f | (130,28) | f | Mon May 02 00:21:22.326724 2016 + f | (130,29) | f | Mon May 02 00:21:22.326724 2016 + f | (130,30) | f | Mon May 02 00:21:22.326724 2016 + f | (130,31) | f | Mon May 02 00:21:22.326724 2016 + f | (130,32) | f | Mon May 02 00:21:22.326724 2016 + f | (130,33) | f | Mon May 02 00:21:22.326724 2016 + f | (130,34) | f | Mon May 02 00:21:22.326724 2016 + f | (130,35) | f | Mon May 02 00:21:22.326724 2016 + f | (130,36) | f | Mon May 02 00:21:22.326724 2016 + f | (130,37) | f | Mon May 02 00:21:22.326724 2016 + f | (130,38) | f | Mon May 02 00:21:22.326724 2016 + f | (130,39) | f | Mon May 02 00:21:22.326724 2016 + f | (130,40) | f | Mon May 02 00:21:22.326724 2016 + f | (130,41) | f | Mon May 02 00:21:22.326724 2016 + f | (130,42) | f | Mon May 02 00:21:22.326724 2016 + f | (130,43) | f | Mon May 02 00:21:22.326724 2016 + f | (130,44) | f | Mon May 02 00:21:22.326724 2016 + f | (130,45) | f | Mon May 02 00:21:22.326724 2016 + f | (130,46) | f | Mon May 02 00:21:22.326724 2016 + f | (130,47) | f | Mon May 02 00:21:22.326724 2016 + f | (130,48) | f | Mon May 02 00:21:22.326724 2016 + f | (130,49) | f | Mon May 02 00:21:22.326724 2016 + f | (130,50) | f | Mon May 02 00:21:22.326724 2016 + f | (130,51) | f | Mon May 02 00:21:22.326724 2016 + f | (130,52) | f | Mon May 02 00:21:22.326724 2016 + f | (130,53) | f | Mon May 02 00:21:22.326724 2016 + f | (130,54) | f | Mon May 02 00:21:22.326724 2016 + f | (130,55) | f | Mon May 02 00:21:22.326724 2016 + f | (130,56) | f | Mon May 02 00:21:22.326724 2016 + f | (130,57) | f | Mon May 02 00:21:22.326724 2016 + f | (130,58) | f | Mon May 02 00:21:22.326724 2016 + f | (130,59) | f | Mon May 02 00:21:22.326724 2016 + f | (130,60) | f | Mon May 02 00:21:22.326724 2016 + f | (130,61) | f | Mon May 02 00:21:22.326724 2016 + f | (130,62) | f | Mon May 02 00:21:22.326724 2016 + f | (130,63) | f | Mon May 02 00:21:22.326724 2016 + f | (130,64) | f | Mon May 02 00:21:22.326724 2016 + f | (130,65) | f | Mon May 02 00:21:22.326724 2016 + f | (130,66) | f | Mon May 02 00:21:22.326724 2016 + f | (130,67) | f | Mon May 02 00:21:22.326724 2016 + f | (130,68) | f | Mon May 02 00:21:22.326724 2016 + f | (130,69) | f | Mon May 02 00:21:22.326724 2016 + f | (130,70) | f | Mon May 02 00:21:22.326724 2016 + f | (130,71) | f | Mon May 02 00:21:22.326724 2016 + f | (130,72) | f | Mon May 02 00:21:22.326724 2016 + f | (130,73) | f | Mon May 02 00:21:22.326724 2016 + f | (130,74) | f | Mon May 02 00:21:22.326724 2016 + f | (130,75) | f | Mon May 02 00:21:22.326724 2016 + f | (130,76) | f | Mon May 02 00:21:22.326724 2016 + f | (130,77) | f | Mon May 02 00:21:22.326724 2016 + f | (130,78) | f | Mon May 02 00:21:22.326724 2016 + f | (130,79) | f | Mon May 02 00:21:22.326724 2016 + f | (130,80) | f | Mon May 02 00:21:22.326724 2016 + f | (130,81) | f | Mon May 02 00:21:22.326724 2016 + f | (130,82) | f | Mon May 02 00:21:22.326724 2016 + f | (130,83) | f | Mon May 02 00:21:22.326724 2016 + f | (130,84) | f | Mon May 02 00:21:22.326724 2016 + f | (130,85) | f | Mon May 02 00:21:22.326724 2016 + f | (130,86) | f | Mon May 02 00:21:22.326724 2016 + f | (130,87) | f | Mon May 02 00:21:22.326724 2016 + f | (130,88) | f | Mon May 02 00:21:22.326724 2016 + f | (130,89) | f | Mon May 02 00:21:22.326724 2016 + f | (130,90) | f | Mon May 02 00:21:22.326724 2016 + f | (130,91) | f | Mon May 02 00:21:22.326724 2016 + f | (130,92) | f | Mon May 02 00:21:22.326724 2016 + f | (130,93) | f | Mon May 02 00:21:22.326724 2016 + f | (130,94) | f | Mon May 02 00:21:22.326724 2016 + f | (130,95) | f | Mon May 02 00:21:22.326724 2016 + f | (130,96) | f | Mon May 02 00:21:22.326724 2016 + f | (130,97) | f | Mon May 02 00:21:22.326724 2016 + f | (130,98) | f | Mon May 02 00:21:22.326724 2016 + f | (130,99) | f | Mon May 02 00:21:22.326724 2016 + f | (130,100) | f | Mon May 02 00:21:22.326724 2016 + f | (130,101) | f | Mon May 02 00:21:22.326724 2016 + f | (130,102) | f | Mon May 02 00:21:22.326724 2016 + f | (130,103) | f | Mon May 02 00:21:22.326724 2016 + f | (130,104) | f | Mon May 02 00:21:22.326724 2016 + f | (130,105) | f | Mon May 02 00:21:22.326724 2016 + f | (130,106) | f | Mon May 02 00:21:22.326724 2016 + f | (130,107) | f | Mon May 02 00:21:22.326724 2016 + f | (130,108) | f | Mon May 02 00:21:22.326724 2016 + f | (130,109) | f | Mon May 02 00:21:22.326724 2016 + f | (130,110) | f | Mon May 02 00:21:22.326724 2016 + f | (130,111) | f | Mon May 02 00:21:22.326724 2016 + f | (130,112) | f | Mon May 02 00:21:22.326724 2016 + f | (130,113) | f | Mon May 02 00:21:22.326724 2016 + f | (130,114) | f | Mon May 02 00:21:22.326724 2016 + f | (130,115) | f | Mon May 02 00:21:22.326724 2016 + f | (130,116) | f | Mon May 02 00:21:22.326724 2016 + f | (130,117) | f | Mon May 02 00:21:22.326724 2016 + f | (130,118) | f | Mon May 02 00:21:22.326724 2016 + f | (130,119) | f | Mon May 02 00:21:22.326724 2016 + f | (130,120) | f | Mon May 02 00:21:22.326724 2016 + f | (130,121) | f | Mon May 02 00:21:22.326724 2016 + f | (130,122) | f | Mon May 02 00:21:22.326724 2016 + f | (130,123) | f | Mon May 02 00:21:22.326724 2016 + f | (130,124) | f | Mon May 02 00:21:22.326724 2016 + f | (130,125) | f | Mon May 02 00:21:22.326724 2016 + f | (130,126) | f | Mon May 02 00:21:22.326724 2016 + f | (130,127) | f | Mon May 02 00:21:22.326724 2016 + f | (130,128) | f | Mon May 02 00:21:22.326724 2016 + f | (130,129) | f | Mon May 02 00:21:22.326724 2016 + f | (130,130) | f | Mon May 02 00:21:22.326724 2016 + f | (130,131) | f | Mon May 02 00:21:22.326724 2016 + f | (130,132) | f | Mon May 02 00:21:22.326724 2016 + f | (130,133) | f | Mon May 02 00:21:22.326724 2016 + f | (130,134) | f | Mon May 02 00:21:22.326724 2016 + f | (130,135) | f | Mon May 02 00:21:22.326724 2016 + f | (130,136) | f | Mon May 02 00:21:22.326724 2016 + f | (130,137) | f | Mon May 02 00:21:22.326724 2016 +(692 rows) + +-- Testing on the index with additional information (order_by_attach = true) +CREATE INDEX test_with_addinfo_idx_true ON test_debug_table +USING rum (t rum_tsvector_addon_ops, id) +WITH (attach = 'id', to = 't', order_by_attach='t'); +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_true', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 363 +n_entry_pages | 259 +n_data_pages | 103 +n_entries | 6142 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_true', 1); + key | attrnum | category | down_link +------+---------+------------------+----------- + 1p | 1 | RUM_CAT_NORM_KEY | 3 + 2n | 1 | RUM_CAT_NORM_KEY | 2 + 3r | 1 | RUM_CAT_NORM_KEY | 4 + 4u | 1 | RUM_CAT_NORM_KEY | 5 + 6f | 1 | RUM_CAT_NORM_KEY | 6 + 8t | 1 | RUM_CAT_NORM_KEY | 7 + a2 | 1 | RUM_CAT_NORM_KEY | 8 + a8 | 1 | RUM_CAT_NORM_KEY | 9 + ac | 1 | RUM_CAT_NORM_KEY | 10 + af | 1 | RUM_CAT_NORM_KEY | 11 + ai | 1 | RUM_CAT_NORM_KEY | 12 + al | 1 | RUM_CAT_NORM_KEY | 13 + ao | 1 | RUM_CAT_NORM_KEY | 14 + ar | 1 | RUM_CAT_NORM_KEY | 15 + au | 1 | RUM_CAT_NORM_KEY | 16 + ax | 1 | RUM_CAT_NORM_KEY | 17 + b1 | 1 | RUM_CAT_NORM_KEY | 18 + bb | 1 | RUM_CAT_NORM_KEY | 27 + bg | 1 | RUM_CAT_NORM_KEY | 28 + bl | 1 | RUM_CAT_NORM_KEY | 29 + bq | 1 | RUM_CAT_NORM_KEY | 30 + bw | 1 | RUM_CAT_NORM_KEY | 31 + c3 | 1 | RUM_CAT_NORM_KEY | 32 + ca | 1 | RUM_CAT_NORM_KEY | 33 + cf | 1 | RUM_CAT_NORM_KEY | 34 + ck | 1 | RUM_CAT_NORM_KEY | 35 + co | 1 | RUM_CAT_NORM_KEY | 36 + ct | 1 | RUM_CAT_NORM_KEY | 37 + cx | 1 | RUM_CAT_NORM_KEY | 38 + d2 | 1 | RUM_CAT_NORM_KEY | 39 + d8 | 1 | RUM_CAT_NORM_KEY | 40 + dc | 1 | RUM_CAT_NORM_KEY | 41 + dg | 1 | RUM_CAT_NORM_KEY | 42 + dj | 1 | RUM_CAT_NORM_KEY | 43 + dm | 1 | RUM_CAT_NORM_KEY | 44 + dp | 1 | RUM_CAT_NORM_KEY | 45 + dt | 1 | RUM_CAT_NORM_KEY | 46 + dx | 1 | RUM_CAT_NORM_KEY | 47 + e0 | 1 | RUM_CAT_NORM_KEY | 48 + e4 | 1 | RUM_CAT_NORM_KEY | 49 + e8 | 1 | RUM_CAT_NORM_KEY | 50 + el | 1 | RUM_CAT_NORM_KEY | 53 + ev | 1 | RUM_CAT_NORM_KEY | 69 + f2 | 1 | RUM_CAT_NORM_KEY | 74 + f8 | 1 | RUM_CAT_NORM_KEY | 75 + fd | 1 | RUM_CAT_NORM_KEY | 76 + fg | 1 | RUM_CAT_NORM_KEY | 77 + fj | 1 | RUM_CAT_NORM_KEY | 78 + fn | 1 | RUM_CAT_NORM_KEY | 79 + fr | 1 | RUM_CAT_NORM_KEY | 80 + fv | 1 | RUM_CAT_NORM_KEY | 81 + fz | 1 | RUM_CAT_NORM_KEY | 82 + g6 | 1 | RUM_CAT_NORM_KEY | 83 + gb | 1 | RUM_CAT_NORM_KEY | 84 + ge | 1 | RUM_CAT_NORM_KEY | 85 + gi | 1 | RUM_CAT_NORM_KEY | 86 + gm | 1 | RUM_CAT_NORM_KEY | 87 + gq | 1 | RUM_CAT_NORM_KEY | 88 + gt | 1 | RUM_CAT_NORM_KEY | 89 + gx | 1 | RUM_CAT_NORM_KEY | 90 + h2 | 1 | RUM_CAT_NORM_KEY | 91 + h8 | 1 | RUM_CAT_NORM_KEY | 92 + hc | 1 | RUM_CAT_NORM_KEY | 93 + hf | 1 | RUM_CAT_NORM_KEY | 94 + hj | 1 | RUM_CAT_NORM_KEY | 95 + hm | 1 | RUM_CAT_NORM_KEY | 96 + hp | 1 | RUM_CAT_NORM_KEY | 97 + ht | 1 | RUM_CAT_NORM_KEY | 98 + hw | 1 | RUM_CAT_NORM_KEY | 99 + i0 | 1 | RUM_CAT_NORM_KEY | 100 + i5 | 1 | RUM_CAT_NORM_KEY | 101 + i9 | 1 | RUM_CAT_NORM_KEY | 102 + ib | 1 | RUM_CAT_NORM_KEY | 103 + ie | 1 | RUM_CAT_NORM_KEY | 104 + ig | 1 | RUM_CAT_NORM_KEY | 105 + ij | 1 | RUM_CAT_NORM_KEY | 106 + im | 1 | RUM_CAT_NORM_KEY | 107 + ip | 1 | RUM_CAT_NORM_KEY | 108 + ir | 1 | RUM_CAT_NORM_KEY | 109 + iu | 1 | RUM_CAT_NORM_KEY | 110 + iw | 1 | RUM_CAT_NORM_KEY | 111 + iy | 1 | RUM_CAT_NORM_KEY | 112 + j3 | 1 | RUM_CAT_NORM_KEY | 113 + ja | 1 | RUM_CAT_NORM_KEY | 114 + jd | 1 | RUM_CAT_NORM_KEY | 115 + jh | 1 | RUM_CAT_NORM_KEY | 116 + jl | 1 | RUM_CAT_NORM_KEY | 117 + jp | 1 | RUM_CAT_NORM_KEY | 118 + jt | 1 | RUM_CAT_NORM_KEY | 119 + jx | 1 | RUM_CAT_NORM_KEY | 120 + k2 | 1 | RUM_CAT_NORM_KEY | 121 + k9 | 1 | RUM_CAT_NORM_KEY | 122 + kd | 1 | RUM_CAT_NORM_KEY | 123 + kh | 1 | RUM_CAT_NORM_KEY | 124 + kl | 1 | RUM_CAT_NORM_KEY | 125 + kp | 1 | RUM_CAT_NORM_KEY | 126 + ku | 1 | RUM_CAT_NORM_KEY | 127 + kx | 1 | RUM_CAT_NORM_KEY | 128 + l3 | 1 | RUM_CAT_NORM_KEY | 129 + la | 1 | RUM_CAT_NORM_KEY | 130 + le | 1 | RUM_CAT_NORM_KEY | 131 + lh | 1 | RUM_CAT_NORM_KEY | 132 + lm | 1 | RUM_CAT_NORM_KEY | 133 + lq | 1 | RUM_CAT_NORM_KEY | 134 + lu | 1 | RUM_CAT_NORM_KEY | 135 + ly | 1 | RUM_CAT_NORM_KEY | 136 + m5 | 1 | RUM_CAT_NORM_KEY | 137 + mc | 1 | RUM_CAT_NORM_KEY | 138 + mh | 1 | RUM_CAT_NORM_KEY | 139 + mm | 1 | RUM_CAT_NORM_KEY | 140 + mt | 1 | RUM_CAT_NORM_KEY | 141 + my | 1 | RUM_CAT_NORM_KEY | 142 + n6 | 1 | RUM_CAT_NORM_KEY | 143 + nc | 1 | RUM_CAT_NORM_KEY | 144 + nh | 1 | RUM_CAT_NORM_KEY | 145 + nm | 1 | RUM_CAT_NORM_KEY | 146 + ns | 1 | RUM_CAT_NORM_KEY | 147 + nx | 1 | RUM_CAT_NORM_KEY | 148 + o2 | 1 | RUM_CAT_NORM_KEY | 149 + o6 | 1 | RUM_CAT_NORM_KEY | 150 + oa | 1 | RUM_CAT_NORM_KEY | 151 + od | 1 | RUM_CAT_NORM_KEY | 152 + of | 1 | RUM_CAT_NORM_KEY | 153 + oi | 1 | RUM_CAT_NORM_KEY | 154 + ol | 1 | RUM_CAT_NORM_KEY | 155 + oo | 1 | RUM_CAT_NORM_KEY | 156 + or | 1 | RUM_CAT_NORM_KEY | 157 + ot | 1 | RUM_CAT_NORM_KEY | 158 + ow | 1 | RUM_CAT_NORM_KEY | 159 + oy | 1 | RUM_CAT_NORM_KEY | 160 + p3 | 1 | RUM_CAT_NORM_KEY | 161 + p7 | 1 | RUM_CAT_NORM_KEY | 162 + pb | 1 | RUM_CAT_NORM_KEY | 163 + pe | 1 | RUM_CAT_NORM_KEY | 164 + ph | 1 | RUM_CAT_NORM_KEY | 165 + pk | 1 | RUM_CAT_NORM_KEY | 166 + pn | 1 | RUM_CAT_NORM_KEY | 167 + pq | 1 | RUM_CAT_NORM_KEY | 168 + pt | 1 | RUM_CAT_NORM_KEY | 169 + pw | 1 | RUM_CAT_NORM_KEY | 170 + pz | 1 | RUM_CAT_NORM_KEY | 171 + q1 | 1 | RUM_CAT_NORM_KEY | 172 + q4 | 1 | RUM_CAT_NORM_KEY | 173 + q6 | 1 | RUM_CAT_NORM_KEY | 174 + q9 | 1 | RUM_CAT_NORM_KEY | 175 + r2 | 1 | RUM_CAT_NORM_KEY | 202 + r6 | 1 | RUM_CAT_NORM_KEY | 203 + rb | 1 | RUM_CAT_NORM_KEY | 204 + rh | 1 | RUM_CAT_NORM_KEY | 206 + rm | 1 | RUM_CAT_NORM_KEY | 210 + rt | 1 | RUM_CAT_NORM_KEY | 218 + rv | 1 | RUM_CAT_NORM_KEY | 219 + s4 | 1 | RUM_CAT_NORM_KEY | 224 + sa | 1 | RUM_CAT_NORM_KEY | 225 + sd | 1 | RUM_CAT_NORM_KEY | 226 + sg | 1 | RUM_CAT_NORM_KEY | 227 + sj | 1 | RUM_CAT_NORM_KEY | 228 + sm | 1 | RUM_CAT_NORM_KEY | 229 + sp | 1 | RUM_CAT_NORM_KEY | 230 + st | 1 | RUM_CAT_NORM_KEY | 231 + sw | 1 | RUM_CAT_NORM_KEY | 232 + sz | 1 | RUM_CAT_NORM_KEY | 233 + t4 | 1 | RUM_CAT_NORM_KEY | 234 + t8 | 1 | RUM_CAT_NORM_KEY | 235 + te | 1 | RUM_CAT_NORM_KEY | 239 + th | 1 | RUM_CAT_NORM_KEY | 240 + tj | 1 | RUM_CAT_NORM_KEY | 241 + tn | 1 | RUM_CAT_NORM_KEY | 243 + tq | 1 | RUM_CAT_NORM_KEY | 244 + tt | 1 | RUM_CAT_NORM_KEY | 245 + ty | 1 | RUM_CAT_NORM_KEY | 246 + u1 | 1 | RUM_CAT_NORM_KEY | 249 + u5 | 1 | RUM_CAT_NORM_KEY | 250 + ua | 1 | RUM_CAT_NORM_KEY | 251 + ud | 1 | RUM_CAT_NORM_KEY | 252 + ug | 1 | RUM_CAT_NORM_KEY | 253 + uj | 1 | RUM_CAT_NORM_KEY | 254 + um | 1 | RUM_CAT_NORM_KEY | 255 + uo | 1 | RUM_CAT_NORM_KEY | 256 + uq | 1 | RUM_CAT_NORM_KEY | 257 + ut | 1 | RUM_CAT_NORM_KEY | 258 + uv | 1 | RUM_CAT_NORM_KEY | 259 + uy | 1 | RUM_CAT_NORM_KEY | 260 + v5 | 1 | RUM_CAT_NORM_KEY | 261 + vc | 1 | RUM_CAT_NORM_KEY | 262 + vg | 1 | RUM_CAT_NORM_KEY | 263 + vk | 1 | RUM_CAT_NORM_KEY | 264 + vp | 1 | RUM_CAT_NORM_KEY | 265 + vu | 1 | RUM_CAT_NORM_KEY | 266 + w0 | 1 | RUM_CAT_NORM_KEY | 267 + w3 | 1 | RUM_CAT_NORM_KEY | 268 + w6 | 1 | RUM_CAT_NORM_KEY | 269 + w9 | 1 | RUM_CAT_NORM_KEY | 270 + x1 | 1 | RUM_CAT_NORM_KEY | 296 + x9 | 1 | RUM_CAT_NORM_KEY | 297 + xf | 1 | RUM_CAT_NORM_KEY | 298 + xj | 1 | RUM_CAT_NORM_KEY | 299 + xn | 1 | RUM_CAT_NORM_KEY | 300 + xr | 1 | RUM_CAT_NORM_KEY | 301 + xv | 1 | RUM_CAT_NORM_KEY | 302 + y0 | 1 | RUM_CAT_NORM_KEY | 303 + y5 | 1 | RUM_CAT_NORM_KEY | 304 + y9 | 1 | RUM_CAT_NORM_KEY | 305 + yb | 1 | RUM_CAT_NORM_KEY | 306 + ye | 1 | RUM_CAT_NORM_KEY | 307 + yg | 1 | RUM_CAT_NORM_KEY | 308 + yi | 1 | RUM_CAT_NORM_KEY | 309 + yl | 1 | RUM_CAT_NORM_KEY | 310 + yo | 1 | RUM_CAT_NORM_KEY | 311 + yr | 1 | RUM_CAT_NORM_KEY | 313 + yt | 1 | RUM_CAT_NORM_KEY | 314 + yx | 1 | RUM_CAT_NORM_KEY | 315 + yz | 1 | RUM_CAT_NORM_KEY | 317 + z6 | 1 | RUM_CAT_NORM_KEY | 318 + zc | 1 | RUM_CAT_NORM_KEY | 319 + zh | 1 | RUM_CAT_NORM_KEY | 320 + zm | 1 | RUM_CAT_NORM_KEY | 321 + zq | 1 | RUM_CAT_NORM_KEY | 322 + zu | 1 | RUM_CAT_NORM_KEY | 323 + zy | 1 | RUM_CAT_NORM_KEY | 324 + 38 | 2 | RUM_CAT_NORM_KEY | 325 + 107 | 2 | RUM_CAT_NORM_KEY | 326 + 176 | 2 | RUM_CAT_NORM_KEY | 327 + 245 | 2 | RUM_CAT_NORM_KEY | 328 + 314 | 2 | RUM_CAT_NORM_KEY | 329 + 383 | 2 | RUM_CAT_NORM_KEY | 330 + 452 | 2 | RUM_CAT_NORM_KEY | 331 + 535 | 2 | RUM_CAT_NORM_KEY | 332 + 682 | 2 | RUM_CAT_NORM_KEY | 333 + 829 | 2 | RUM_CAT_NORM_KEY | 334 + 976 | 2 | RUM_CAT_NORM_KEY | 335 + 1123 | 2 | RUM_CAT_NORM_KEY | 336 + 1270 | 2 | RUM_CAT_NORM_KEY | 337 + 1417 | 2 | RUM_CAT_NORM_KEY | 338 + 1564 | 2 | RUM_CAT_NORM_KEY | 339 + 1711 | 2 | RUM_CAT_NORM_KEY | 340 + 1858 | 2 | RUM_CAT_NORM_KEY | 341 + 2005 | 2 | RUM_CAT_NORM_KEY | 342 + 2152 | 2 | RUM_CAT_NORM_KEY | 343 + 2299 | 2 | RUM_CAT_NORM_KEY | 344 + 2446 | 2 | RUM_CAT_NORM_KEY | 345 + 2593 | 2 | RUM_CAT_NORM_KEY | 346 + 2740 | 2 | RUM_CAT_NORM_KEY | 347 + 2887 | 2 | RUM_CAT_NORM_KEY | 348 + 3034 | 2 | RUM_CAT_NORM_KEY | 349 + 3181 | 2 | RUM_CAT_NORM_KEY | 350 + 3328 | 2 | RUM_CAT_NORM_KEY | 351 + 3475 | 2 | RUM_CAT_NORM_KEY | 352 + 3622 | 2 | RUM_CAT_NORM_KEY | 353 + 3769 | 2 | RUM_CAT_NORM_KEY | 354 + 3916 | 2 | RUM_CAT_NORM_KEY | 355 + 4063 | 2 | RUM_CAT_NORM_KEY | 356 + 4210 | 2 | RUM_CAT_NORM_KEY | 357 + 4357 | 2 | RUM_CAT_NORM_KEY | 358 + 4504 | 2 | RUM_CAT_NORM_KEY | 359 + 4651 | 2 | RUM_CAT_NORM_KEY | 360 + 4798 | 2 | RUM_CAT_NORM_KEY | 361 + +inf | | | 362 +(258 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 27); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 18 | 28 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_true', 27); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +-----+---------+------------------+----------+------------------+----------+------------------+-------------------- + b2 | 1 | RUM_CAT_NORM_KEY | (2,7) | f | 57 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (27,5) | f | 57 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,3) | f | 57 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,3) | f | 57 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (101,18) | f | 57 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,3) | f | 75 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,1) | f | 75 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (52,21) | f | 75 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (77,21) | f | 75 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (102,15) | f | 75 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,16) | f | 88 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,14) | f | 88 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,12) | f | 88 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,12) | f | 88 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,4) | f | 88 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (3,21) | f | 93 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (28,19) | f | 93 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (53,17) | f | 93 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (78,17) | f | 93 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (103,9) | f | 93 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (9,7) | f | 200 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (34,4) | f | 200 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (59,3) | f | 200 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (84,3) | f | 200 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (108,19) | f | 200 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (11,5) | f | 237 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,2) | f | 237 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,1) | f | 237 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,1) | f | 237 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (110,14) | f | 237 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (12,2) | f | 252 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (36,17) | f | 252 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (61,16) | f | 252 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (86,16) | f | 252 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (111,12) | f | 252 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (17,14) | f | 363 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (42,12) | f | 363 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (67,11) | f | 363 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (92,11) | f | 363 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (117,5) | f | 363 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (20,4) | f | 414 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (45,2) | f | 414 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (69,25) | f | 414 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (94,18) | f | 414 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (119,17) | f | 414 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (22,2) | f | 456 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (46,22) | f | 456 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (71,22) | f | 456 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (96,12) | f | 456 | f | + b2 | 1 | RUM_CAT_NORM_KEY | (121,12) | f | 456 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (0,12) | f | 12 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (25,3) | f | 12 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (50,1) | f | 12 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (75,1) | f | 12 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (99,21) | f | 12 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (2,17) | f | 67 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (27,15) | f | 67 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (52,13) | f | 67 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (77,13) | f | 67 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (102,7) | f | 67 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (6,7) | f | 139 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (31,5) | f | 139 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (56,1) | f | 139 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (81,1) | f | 139 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (105,18) | f | 139 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (9,11) | f | 204 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (34,8) | f | 204 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (59,7) | f | 204 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (84,7) | f | 204 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (109,4) | f | 204 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (11,6) | f | 238 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (36,3) | f | 238 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (61,2) | f | 238 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (86,2) | f | 238 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (110,15) | f | 238 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (16,12) | f | 341 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (41,9) | f | 341 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (66,8) | f | 341 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (91,8) | f | 341 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (116,1) | f | 341 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (18,13) | f | 379 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (43,11) | f | 379 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (68,10) | f | 379 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (93,10) | f | 379 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (118,3) | f | 379 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (24,3) | f | 495 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (49,1) | f | 495 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (74,1) | f | 495 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (98,12) | f | 495 | f | + b3 | 1 | RUM_CAT_NORM_KEY | (123,12) | f | 495 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (1,3) | f | 32 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (26,1) | f | 32 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (50,21) | f | 32 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (75,21) | f | 32 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (100,14) | f | 32 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (3,19) | f | 91 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (28,17) | f | 91 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (53,15) | f | 91 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (78,15) | f | 91 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (103,7) | f | 91 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (13,11) | f | 279 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (38,9) | f | 279 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (63,6) | f | 279 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (88,6) | f | 279 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (112,21) | f | 279 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,4) | f | 353 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,2) | f | 353 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,1) | f | 353 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,1) | f | 353 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (116,13) | f | 353 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,11) | f | 360 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,9) | f | 360 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,8) | f | 360 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,8) | f | 360 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,2) | f | 360 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,14) | f | 380 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,12) | f | 380 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,11) | f | 380 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,11) | f | 380 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,4) | f | 380 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,16) | f | 382 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,14) | f | 382 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,13) | f | 382 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,13) | f | 382 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,6) | f | 382 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (19,7) | f | 392 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (44,5) | f | 392 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (48,18) | f | 392 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (69,3) | f | 392 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (118,16) | f | 392 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (22,3) | f | 457 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (47,1) | f | 457 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (72,1) | f | 457 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (96,13) | f | 457 | f | + b4 | 1 | RUM_CAT_NORM_KEY | (121,13) | f | 457 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,15) | f | 15 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,6) | f | 15 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,4) | f | 15 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,4) | f | 15 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (99,24) | f | 15 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,22) | f | 22 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,13) | f | 22 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,11) | f | 22 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,11) | f | 22 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (100,4) | f | 22 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (2,22) | f | 72 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (27,20) | f | 72 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (52,18) | f | 72 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (77,18) | f | 72 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (102,12) | f | 72 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (4,4) | f | 97 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (29,3) | f | 97 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (53,21) | f | 97 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (78,21) | f | 97 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (103,13) | f | 97 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (8,1) | f | 175 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (32,18) | f | 175 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (57,16) | f | 175 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (82,16) | f | 175 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (107,13) | f | 175 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,6) | f | 199 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,3) | f | 199 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,2) | f | 199 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,2) | f | 199 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,18) | f | 199 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,11) | f | 204 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,8) | f | 204 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,7) | f | 204 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,7) | f | 204 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,4) | f | 204 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,12) | f | 205 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,9) | f | 205 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,8) | f | 205 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (84,8) | f | 205 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (109,5) | f | 205 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (14,1) | f | 288 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (38,18) | f | 288 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (63,15) | f | 288 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (88,15) | f | 288 | f | + b5 | 1 | RUM_CAT_NORM_KEY | (113,9) | f | 288 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (1,14) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,12) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,10) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,10) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,4) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (2,1) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,20) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,18) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,18) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (101,12) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (6,4) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (31,2) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (55,19) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (80,19) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (105,15) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (7,11) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (32,8) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (57,6) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (82,6) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (107,3) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (9,10) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (34,7) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (59,6) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (84,6) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (109,3) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (10,19) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (35,16) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (60,14) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (85,14) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (110,9) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (12,9) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (37,7) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (62,6) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (87,6) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (112,1) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (14,13) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (39,10) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (64,6) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (89,6) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (113,21) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (21,1) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (45,19) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,17) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (95,12) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (120,11) | f | 431 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (1,12) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (26,10) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (51,8) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (76,8) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (101,2) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (4,4) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (29,3) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (53,21) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (78,21) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (103,13) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (7,8) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (32,5) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (57,3) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (82,3) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (106,19) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (9,3) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (33,20) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (58,19) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (83,19) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (108,15) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (10,18) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (35,15) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (60,13) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (85,13) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (110,8) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (13,8) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (38,6) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (63,3) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (88,3) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (112,18) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (14,16) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (39,13) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (64,9) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (89,9) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (114,3) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (22,8) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (47,6) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (72,6) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (96,18) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (121,18) | f | 462 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,4) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,2) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,2) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,22) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (1,2) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,22) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,20) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,20) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (100,13) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (9,1) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (33,18) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (58,17) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (83,17) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (108,13) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (11,12) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (36,9) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (61,8) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (86,8) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (111,4) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,2) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (40,19) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (65,17) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,17) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,10) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,14) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,11) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,10) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,10) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,3) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,20) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,17) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,16) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,16) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,9) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,2) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,19) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,18) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,18) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,11) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,4) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (42,2) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (67,1) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (92,1) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (116,13) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (20,11) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (45,9) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (70,7) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (95,2) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (120,1) | f | 421 | f | + b9 | 1 | RUM_CAT_NORM_KEY | | | | t | 19 + ba | 1 | RUM_CAT_NORM_KEY | (1,10) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (26,8) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (51,6) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (76,6) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (100,21) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,1) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (29,19) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,16) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,16) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,11) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,6) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (30,4) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (55,1) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (80,1) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,16) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (10,13) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (35,10) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (60,8) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (85,8) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (110,3) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (12,3) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (37,1) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (61,17) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (86,17) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (111,13) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (14,9) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (39,6) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (64,2) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (89,2) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (113,17) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (15,14) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (40,11) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (65,9) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (90,9) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (115,2) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (17,15) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (42,13) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (67,12) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (92,12) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (117,6) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (23,10) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (48,6) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (73,6) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (97,21) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (122,21) | f | 483 | f | + bb | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 23 | f | +(362 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 19); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 7 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_true', 19); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+-----------+------------------+---------- + t | | (0,0) | t | + f | 21 | (126,82) | f | 645 + f | 20 | (131,37) | f | 1380 + f | 22 | (135,148) | f | 2115 + f | 23 | (140,103) | f | 2850 + f | 24 | (145,58) | f | 3585 + f | 25 | (149,142) | f | 4293 + f | 26 | (0,0) | t | +(8 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 22); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 20 | 23 | 735 | 18 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_true', 22); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+-----------+------------------+---------- + t | (135,148) | f | 2115 + f | (131,38) | f | 1381 + f | (131,39) | f | 1382 + f | (131,40) | f | 1383 + f | (131,41) | f | 1384 + f | (131,42) | f | 1385 + f | (131,43) | f | 1386 + f | (131,44) | f | 1387 + f | (131,45) | f | 1388 + f | (131,46) | f | 1389 + f | (131,47) | f | 1390 + f | (131,48) | f | 1391 + f | (131,49) | f | 1392 + f | (131,50) | f | 1393 + f | (131,51) | f | 1394 + f | (131,52) | f | 1395 + f | (131,53) | f | 1396 + f | (131,54) | f | 1397 + f | (131,55) | f | 1398 + f | (131,56) | f | 1399 + f | (131,57) | f | 1400 + f | (131,58) | f | 1401 + f | (131,59) | f | 1402 + f | (131,60) | f | 1403 + f | (131,61) | f | 1404 + f | (131,62) | f | 1405 + f | (131,63) | f | 1406 + f | (131,64) | f | 1407 + f | (131,65) | f | 1408 + f | (131,66) | f | 1409 + f | (131,67) | f | 1410 + f | (131,68) | f | 1411 + f | (131,69) | f | 1412 + f | (131,70) | f | 1413 + f | (131,71) | f | 1414 + f | (131,72) | f | 1415 + f | (131,73) | f | 1416 + f | (131,74) | f | 1417 + f | (131,75) | f | 1418 + f | (131,76) | f | 1419 + f | (131,77) | f | 1420 + f | (131,78) | f | 1421 + f | (131,79) | f | 1422 + f | (131,80) | f | 1423 + f | (131,81) | f | 1424 + f | (131,82) | f | 1425 + f | (131,83) | f | 1426 + f | (131,84) | f | 1427 + f | (131,85) | f | 1428 + f | (131,86) | f | 1429 + f | (131,87) | f | 1430 + f | (131,88) | f | 1431 + f | (131,89) | f | 1432 + f | (131,90) | f | 1433 + f | (131,91) | f | 1434 + f | (131,92) | f | 1435 + f | (131,93) | f | 1436 + f | (131,94) | f | 1437 + f | (131,95) | f | 1438 + f | (131,96) | f | 1439 + f | (131,97) | f | 1440 + f | (131,98) | f | 1441 + f | (131,99) | f | 1442 + f | (131,100) | f | 1443 + f | (131,101) | f | 1444 + f | (131,102) | f | 1445 + f | (131,103) | f | 1446 + f | (131,104) | f | 1447 + f | (131,105) | f | 1448 + f | (131,106) | f | 1449 + f | (131,107) | f | 1450 + f | (131,108) | f | 1451 + f | (131,109) | f | 1452 + f | (131,110) | f | 1453 + f | (131,111) | f | 1454 + f | (131,112) | f | 1455 + f | (131,113) | f | 1456 + f | (131,114) | f | 1457 + f | (131,115) | f | 1458 + f | (131,116) | f | 1459 + f | (131,117) | f | 1460 + f | (131,118) | f | 1461 + f | (131,119) | f | 1462 + f | (131,120) | f | 1463 + f | (131,121) | f | 1464 + f | (131,122) | f | 1465 + f | (131,123) | f | 1466 + f | (131,124) | f | 1467 + f | (131,125) | f | 1468 + f | (131,126) | f | 1469 + f | (131,127) | f | 1470 + f | (131,128) | f | 1471 + f | (131,129) | f | 1472 + f | (131,130) | f | 1473 + f | (131,131) | f | 1474 + f | (131,132) | f | 1475 + f | (131,133) | f | 1476 + f | (131,134) | f | 1477 + f | (131,135) | f | 1478 + f | (131,136) | f | 1479 + f | (131,137) | f | 1480 + f | (131,138) | f | 1481 + f | (131,139) | f | 1482 + f | (131,140) | f | 1483 + f | (131,141) | f | 1484 + f | (131,142) | f | 1485 + f | (131,143) | f | 1486 + f | (131,144) | f | 1487 + f | (131,145) | f | 1488 + f | (131,146) | f | 1489 + f | (131,147) | f | 1490 + f | (131,148) | f | 1491 + f | (131,149) | f | 1492 + f | (131,150) | f | 1493 + f | (131,151) | f | 1494 + f | (131,152) | f | 1495 + f | (131,153) | f | 1496 + f | (131,154) | f | 1497 + f | (131,155) | f | 1498 + f | (131,156) | f | 1499 + f | (132,1) | f | 1500 + f | (132,2) | f | 1501 + f | (132,3) | f | 1502 + f | (132,4) | f | 1503 + f | (132,5) | f | 1504 + f | (132,6) | f | 1505 + f | (132,7) | f | 1506 + f | (132,8) | f | 1507 + f | (132,9) | f | 1508 + f | (132,10) | f | 1509 + f | (132,11) | f | 1510 + f | (132,12) | f | 1511 + f | (132,13) | f | 1512 + f | (132,14) | f | 1513 + f | (132,15) | f | 1514 + f | (132,16) | f | 1515 + f | (132,17) | f | 1516 + f | (132,18) | f | 1517 + f | (132,19) | f | 1518 + f | (132,20) | f | 1519 + f | (132,21) | f | 1520 + f | (132,22) | f | 1521 + f | (132,23) | f | 1522 + f | (132,24) | f | 1523 + f | (132,25) | f | 1524 + f | (132,26) | f | 1525 + f | (132,27) | f | 1526 + f | (132,28) | f | 1527 + f | (132,29) | f | 1528 + f | (132,30) | f | 1529 + f | (132,31) | f | 1530 + f | (132,32) | f | 1531 + f | (132,33) | f | 1532 + f | (132,34) | f | 1533 + f | (132,35) | f | 1534 + f | (132,36) | f | 1535 + f | (132,37) | f | 1536 + f | (132,38) | f | 1537 + f | (132,39) | f | 1538 + f | (132,40) | f | 1539 + f | (132,41) | f | 1540 + f | (132,42) | f | 1541 + f | (132,43) | f | 1542 + f | (132,44) | f | 1543 + f | (132,45) | f | 1544 + f | (132,46) | f | 1545 + f | (132,47) | f | 1546 + f | (132,48) | f | 1547 + f | (132,49) | f | 1548 + f | (132,50) | f | 1549 + f | (132,51) | f | 1550 + f | (132,52) | f | 1551 + f | (132,53) | f | 1552 + f | (132,54) | f | 1553 + f | (132,55) | f | 1554 + f | (132,56) | f | 1555 + f | (132,57) | f | 1556 + f | (132,58) | f | 1557 + f | (132,59) | f | 1558 + f | (132,60) | f | 1559 + f | (132,61) | f | 1560 + f | (132,62) | f | 1561 + f | (132,63) | f | 1562 + f | (132,64) | f | 1563 + f | (132,65) | f | 1564 + f | (132,66) | f | 1565 + f | (132,67) | f | 1566 + f | (132,68) | f | 1567 + f | (132,69) | f | 1568 + f | (132,70) | f | 1569 + f | (132,71) | f | 1570 + f | (132,72) | f | 1571 + f | (132,73) | f | 1572 + f | (132,74) | f | 1573 + f | (132,75) | f | 1574 + f | (132,76) | f | 1575 + f | (132,77) | f | 1576 + f | (132,78) | f | 1577 + f | (132,79) | f | 1578 + f | (132,80) | f | 1579 + f | (132,81) | f | 1580 + f | (132,82) | f | 1581 + f | (132,83) | f | 1582 + f | (132,84) | f | 1583 + f | (132,85) | f | 1584 + f | (132,86) | f | 1585 + f | (132,87) | f | 1586 + f | (132,88) | f | 1587 + f | (132,89) | f | 1588 + f | (132,90) | f | 1589 + f | (132,91) | f | 1590 + f | (132,92) | f | 1591 + f | (132,93) | f | 1592 + f | (132,94) | f | 1593 + f | (132,95) | f | 1594 + f | (132,96) | f | 1595 + f | (132,97) | f | 1596 + f | (132,98) | f | 1597 + f | (132,99) | f | 1598 + f | (132,100) | f | 1599 + f | (132,101) | f | 1600 + f | (132,102) | f | 1601 + f | (132,103) | f | 1602 + f | (132,104) | f | 1603 + f | (132,105) | f | 1604 + f | (132,106) | f | 1605 + f | (132,107) | f | 1606 + f | (132,108) | f | 1607 + f | (132,109) | f | 1608 + f | (132,110) | f | 1609 + f | (132,111) | f | 1610 + f | (132,112) | f | 1611 + f | (132,113) | f | 1612 + f | (132,114) | f | 1613 + f | (132,115) | f | 1614 + f | (132,116) | f | 1615 + f | (132,117) | f | 1616 + f | (132,118) | f | 1617 + f | (132,119) | f | 1618 + f | (132,120) | f | 1619 + f | (132,121) | f | 1620 + f | (132,122) | f | 1621 + f | (132,123) | f | 1622 + f | (132,124) | f | 1623 + f | (132,125) | f | 1624 + f | (132,126) | f | 1625 + f | (132,127) | f | 1626 + f | (132,128) | f | 1627 + f | (132,129) | f | 1628 + f | (132,130) | f | 1629 + f | (132,131) | f | 1630 + f | (132,132) | f | 1631 + f | (132,133) | f | 1632 + f | (132,134) | f | 1633 + f | (132,135) | f | 1634 + f | (132,136) | f | 1635 + f | (132,137) | f | 1636 + f | (132,138) | f | 1637 + f | (132,139) | f | 1638 + f | (132,140) | f | 1639 + f | (132,141) | f | 1640 + f | (132,142) | f | 1641 + f | (132,143) | f | 1642 + f | (132,144) | f | 1643 + f | (132,145) | f | 1644 + f | (132,146) | f | 1645 + f | (132,147) | f | 1646 + f | (132,148) | f | 1647 + f | (132,149) | f | 1648 + f | (132,150) | f | 1649 + f | (132,151) | f | 1650 + f | (132,152) | f | 1651 + f | (132,153) | f | 1652 + f | (132,154) | f | 1653 + f | (132,155) | f | 1654 + f | (132,156) | f | 1655 + f | (133,1) | f | 1656 + f | (133,2) | f | 1657 + f | (133,3) | f | 1658 + f | (133,4) | f | 1659 + f | (133,5) | f | 1660 + f | (133,6) | f | 1661 + f | (133,7) | f | 1662 + f | (133,8) | f | 1663 + f | (133,9) | f | 1664 + f | (133,10) | f | 1665 + f | (133,11) | f | 1666 + f | (133,12) | f | 1667 + f | (133,13) | f | 1668 + f | (133,14) | f | 1669 + f | (133,15) | f | 1670 + f | (133,16) | f | 1671 + f | (133,17) | f | 1672 + f | (133,18) | f | 1673 + f | (133,19) | f | 1674 + f | (133,20) | f | 1675 + f | (133,21) | f | 1676 + f | (133,22) | f | 1677 + f | (133,23) | f | 1678 + f | (133,24) | f | 1679 + f | (133,25) | f | 1680 + f | (133,26) | f | 1681 + f | (133,27) | f | 1682 + f | (133,28) | f | 1683 + f | (133,29) | f | 1684 + f | (133,30) | f | 1685 + f | (133,31) | f | 1686 + f | (133,32) | f | 1687 + f | (133,33) | f | 1688 + f | (133,34) | f | 1689 + f | (133,35) | f | 1690 + f | (133,36) | f | 1691 + f | (133,37) | f | 1692 + f | (133,38) | f | 1693 + f | (133,39) | f | 1694 + f | (133,40) | f | 1695 + f | (133,41) | f | 1696 + f | (133,42) | f | 1697 + f | (133,43) | f | 1698 + f | (133,44) | f | 1699 + f | (133,45) | f | 1700 + f | (133,46) | f | 1701 + f | (133,47) | f | 1702 + f | (133,48) | f | 1703 + f | (133,49) | f | 1704 + f | (133,50) | f | 1705 + f | (133,51) | f | 1706 + f | (133,52) | f | 1707 + f | (133,53) | f | 1708 + f | (133,54) | f | 1709 + f | (133,55) | f | 1710 + f | (133,56) | f | 1711 + f | (133,57) | f | 1712 + f | (133,58) | f | 1713 + f | (133,59) | f | 1714 + f | (133,60) | f | 1715 + f | (133,61) | f | 1716 + f | (133,62) | f | 1717 + f | (133,63) | f | 1718 + f | (133,64) | f | 1719 + f | (133,65) | f | 1720 + f | (133,66) | f | 1721 + f | (133,67) | f | 1722 + f | (133,68) | f | 1723 + f | (133,69) | f | 1724 + f | (133,70) | f | 1725 + f | (133,71) | f | 1726 + f | (133,72) | f | 1727 + f | (133,73) | f | 1728 + f | (133,74) | f | 1729 + f | (133,75) | f | 1730 + f | (133,76) | f | 1731 + f | (133,77) | f | 1732 + f | (133,78) | f | 1733 + f | (133,79) | f | 1734 + f | (133,80) | f | 1735 + f | (133,81) | f | 1736 + f | (133,82) | f | 1737 + f | (133,83) | f | 1738 + f | (133,84) | f | 1739 + f | (133,85) | f | 1740 + f | (133,86) | f | 1741 + f | (133,87) | f | 1742 + f | (133,88) | f | 1743 + f | (133,89) | f | 1744 + f | (133,90) | f | 1745 + f | (133,91) | f | 1746 + f | (133,92) | f | 1747 + f | (133,93) | f | 1748 + f | (133,94) | f | 1749 + f | (133,95) | f | 1750 + f | (133,96) | f | 1751 + f | (133,97) | f | 1752 + f | (133,98) | f | 1753 + f | (133,99) | f | 1754 + f | (133,100) | f | 1755 + f | (133,101) | f | 1756 + f | (133,102) | f | 1757 + f | (133,103) | f | 1758 + f | (133,104) | f | 1759 + f | (133,105) | f | 1760 + f | (133,106) | f | 1761 + f | (133,107) | f | 1762 + f | (133,108) | f | 1763 + f | (133,109) | f | 1764 + f | (133,110) | f | 1765 + f | (133,111) | f | 1766 + f | (133,112) | f | 1767 + f | (133,113) | f | 1768 + f | (133,114) | f | 1769 + f | (133,115) | f | 1770 + f | (133,116) | f | 1771 + f | (133,117) | f | 1772 + f | (133,118) | f | 1773 + f | (133,119) | f | 1774 + f | (133,120) | f | 1775 + f | (133,121) | f | 1776 + f | (133,122) | f | 1777 + f | (133,123) | f | 1778 + f | (133,124) | f | 1779 + f | (133,125) | f | 1780 + f | (133,126) | f | 1781 + f | (133,127) | f | 1782 + f | (133,128) | f | 1783 + f | (133,129) | f | 1784 + f | (133,130) | f | 1785 + f | (133,131) | f | 1786 + f | (133,132) | f | 1787 + f | (133,133) | f | 1788 + f | (133,134) | f | 1789 + f | (133,135) | f | 1790 + f | (133,136) | f | 1791 + f | (133,137) | f | 1792 + f | (133,138) | f | 1793 + f | (133,139) | f | 1794 + f | (133,140) | f | 1795 + f | (133,141) | f | 1796 + f | (133,142) | f | 1797 + f | (133,143) | f | 1798 + f | (133,144) | f | 1799 + f | (133,145) | f | 1800 + f | (133,146) | f | 1801 + f | (133,147) | f | 1802 + f | (133,148) | f | 1803 + f | (133,149) | f | 1804 + f | (133,150) | f | 1805 + f | (133,151) | f | 1806 + f | (133,152) | f | 1807 + f | (133,153) | f | 1808 + f | (133,154) | f | 1809 + f | (133,155) | f | 1810 + f | (133,156) | f | 1811 + f | (134,1) | f | 1812 + f | (134,2) | f | 1813 + f | (134,3) | f | 1814 + f | (134,4) | f | 1815 + f | (134,5) | f | 1816 + f | (134,6) | f | 1817 + f | (134,7) | f | 1818 + f | (134,8) | f | 1819 + f | (134,9) | f | 1820 + f | (134,10) | f | 1821 + f | (134,11) | f | 1822 + f | (134,12) | f | 1823 + f | (134,13) | f | 1824 + f | (134,14) | f | 1825 + f | (134,15) | f | 1826 + f | (134,16) | f | 1827 + f | (134,17) | f | 1828 + f | (134,18) | f | 1829 + f | (134,19) | f | 1830 + f | (134,20) | f | 1831 + f | (134,21) | f | 1832 + f | (134,22) | f | 1833 + f | (134,23) | f | 1834 + f | (134,24) | f | 1835 + f | (134,25) | f | 1836 + f | (134,26) | f | 1837 + f | (134,27) | f | 1838 + f | (134,28) | f | 1839 + f | (134,29) | f | 1840 + f | (134,30) | f | 1841 + f | (134,31) | f | 1842 + f | (134,32) | f | 1843 + f | (134,33) | f | 1844 + f | (134,34) | f | 1845 + f | (134,35) | f | 1846 + f | (134,36) | f | 1847 + f | (134,37) | f | 1848 + f | (134,38) | f | 1849 + f | (134,39) | f | 1850 + f | (134,40) | f | 1851 + f | (134,41) | f | 1852 + f | (134,42) | f | 1853 + f | (134,43) | f | 1854 + f | (134,44) | f | 1855 + f | (134,45) | f | 1856 + f | (134,46) | f | 1857 + f | (134,47) | f | 1858 + f | (134,48) | f | 1859 + f | (134,49) | f | 1860 + f | (134,50) | f | 1861 + f | (134,51) | f | 1862 + f | (134,52) | f | 1863 + f | (134,53) | f | 1864 + f | (134,54) | f | 1865 + f | (134,55) | f | 1866 + f | (134,56) | f | 1867 + f | (134,57) | f | 1868 + f | (134,58) | f | 1869 + f | (134,59) | f | 1870 + f | (134,60) | f | 1871 + f | (134,61) | f | 1872 + f | (134,62) | f | 1873 + f | (134,63) | f | 1874 + f | (134,64) | f | 1875 + f | (134,65) | f | 1876 + f | (134,66) | f | 1877 + f | (134,67) | f | 1878 + f | (134,68) | f | 1879 + f | (134,69) | f | 1880 + f | (134,70) | f | 1881 + f | (134,71) | f | 1882 + f | (134,72) | f | 1883 + f | (134,73) | f | 1884 + f | (134,74) | f | 1885 + f | (134,75) | f | 1886 + f | (134,76) | f | 1887 + f | (134,77) | f | 1888 + f | (134,78) | f | 1889 + f | (134,79) | f | 1890 + f | (134,80) | f | 1891 + f | (134,81) | f | 1892 + f | (134,82) | f | 1893 + f | (134,83) | f | 1894 + f | (134,84) | f | 1895 + f | (134,85) | f | 1896 + f | (134,86) | f | 1897 + f | (134,87) | f | 1898 + f | (134,88) | f | 1899 + f | (134,89) | f | 1900 + f | (134,90) | f | 1901 + f | (134,91) | f | 1902 + f | (134,92) | f | 1903 + f | (134,93) | f | 1904 + f | (134,94) | f | 1905 + f | (134,95) | f | 1906 + f | (134,96) | f | 1907 + f | (134,97) | f | 1908 + f | (134,98) | f | 1909 + f | (134,99) | f | 1910 + f | (134,100) | f | 1911 + f | (134,101) | f | 1912 + f | (134,102) | f | 1913 + f | (134,103) | f | 1914 + f | (134,104) | f | 1915 + f | (134,105) | f | 1916 + f | (134,106) | f | 1917 + f | (134,107) | f | 1918 + f | (134,108) | f | 1919 + f | (134,109) | f | 1920 + f | (134,110) | f | 1921 + f | (134,111) | f | 1922 + f | (134,112) | f | 1923 + f | (134,113) | f | 1924 + f | (134,114) | f | 1925 + f | (134,115) | f | 1926 + f | (134,116) | f | 1927 + f | (134,117) | f | 1928 + f | (134,118) | f | 1929 + f | (134,119) | f | 1930 + f | (134,120) | f | 1931 + f | (134,121) | f | 1932 + f | (134,122) | f | 1933 + f | (134,123) | f | 1934 + f | (134,124) | f | 1935 + f | (134,125) | f | 1936 + f | (134,126) | f | 1937 + f | (134,127) | f | 1938 + f | (134,128) | f | 1939 + f | (134,129) | f | 1940 + f | (134,130) | f | 1941 + f | (134,131) | f | 1942 + f | (134,132) | f | 1943 + f | (134,133) | f | 1944 + f | (134,134) | f | 1945 + f | (134,135) | f | 1946 + f | (134,136) | f | 1947 + f | (134,137) | f | 1948 + f | (134,138) | f | 1949 + f | (134,139) | f | 1950 + f | (134,140) | f | 1951 + f | (134,141) | f | 1952 + f | (134,142) | f | 1953 + f | (134,143) | f | 1954 + f | (134,144) | f | 1955 + f | (134,145) | f | 1956 + f | (134,146) | f | 1957 + f | (134,147) | f | 1958 + f | (134,148) | f | 1959 + f | (134,149) | f | 1960 + f | (134,150) | f | 1961 + f | (134,151) | f | 1962 + f | (134,152) | f | 1963 + f | (134,153) | f | 1964 + f | (134,154) | f | 1965 + f | (134,155) | f | 1966 + f | (134,156) | f | 1967 + f | (135,1) | f | 1968 + f | (135,2) | f | 1969 + f | (135,3) | f | 1970 + f | (135,4) | f | 1971 + f | (135,5) | f | 1972 + f | (135,6) | f | 1973 + f | (135,7) | f | 1974 + f | (135,8) | f | 1975 + f | (135,9) | f | 1976 + f | (135,10) | f | 1977 + f | (135,11) | f | 1978 + f | (135,12) | f | 1979 + f | (135,13) | f | 1980 + f | (135,14) | f | 1981 + f | (135,15) | f | 1982 + f | (135,16) | f | 1983 + f | (135,17) | f | 1984 + f | (135,18) | f | 1985 + f | (135,19) | f | 1986 + f | (135,20) | f | 1987 + f | (135,21) | f | 1988 + f | (135,22) | f | 1989 + f | (135,23) | f | 1990 + f | (135,24) | f | 1991 + f | (135,25) | f | 1992 + f | (135,26) | f | 1993 + f | (135,27) | f | 1994 + f | (135,28) | f | 1995 + f | (135,29) | f | 1996 + f | (135,30) | f | 1997 + f | (135,31) | f | 1998 + f | (135,32) | f | 1999 + f | (135,33) | f | 2000 + f | (135,34) | f | 2001 + f | (135,35) | f | 2002 + f | (135,36) | f | 2003 + f | (135,37) | f | 2004 + f | (135,38) | f | 2005 + f | (135,39) | f | 2006 + f | (135,40) | f | 2007 + f | (135,41) | f | 2008 + f | (135,42) | f | 2009 + f | (135,43) | f | 2010 + f | (135,44) | f | 2011 + f | (135,45) | f | 2012 + f | (135,46) | f | 2013 + f | (135,47) | f | 2014 + f | (135,48) | f | 2015 + f | (135,49) | f | 2016 + f | (135,50) | f | 2017 + f | (135,51) | f | 2018 + f | (135,52) | f | 2019 + f | (135,53) | f | 2020 + f | (135,54) | f | 2021 + f | (135,55) | f | 2022 + f | (135,56) | f | 2023 + f | (135,57) | f | 2024 + f | (135,58) | f | 2025 + f | (135,59) | f | 2026 + f | (135,60) | f | 2027 + f | (135,61) | f | 2028 + f | (135,62) | f | 2029 + f | (135,63) | f | 2030 + f | (135,64) | f | 2031 + f | (135,65) | f | 2032 + f | (135,66) | f | 2033 + f | (135,67) | f | 2034 + f | (135,68) | f | 2035 + f | (135,69) | f | 2036 + f | (135,70) | f | 2037 + f | (135,71) | f | 2038 + f | (135,72) | f | 2039 + f | (135,73) | f | 2040 + f | (135,74) | f | 2041 + f | (135,75) | f | 2042 + f | (135,76) | f | 2043 + f | (135,77) | f | 2044 + f | (135,78) | f | 2045 + f | (135,79) | f | 2046 + f | (135,80) | f | 2047 + f | (135,81) | f | 2048 + f | (135,82) | f | 2049 + f | (135,83) | f | 2050 + f | (135,84) | f | 2051 + f | (135,85) | f | 2052 + f | (135,86) | f | 2053 + f | (135,87) | f | 2054 + f | (135,88) | f | 2055 + f | (135,89) | f | 2056 + f | (135,90) | f | 2057 + f | (135,91) | f | 2058 + f | (135,92) | f | 2059 + f | (135,93) | f | 2060 + f | (135,94) | f | 2061 + f | (135,95) | f | 2062 + f | (135,96) | f | 2063 + f | (135,97) | f | 2064 + f | (135,98) | f | 2065 + f | (135,99) | f | 2066 + f | (135,100) | f | 2067 + f | (135,101) | f | 2068 + f | (135,102) | f | 2069 + f | (135,103) | f | 2070 + f | (135,104) | f | 2071 + f | (135,105) | f | 2072 + f | (135,106) | f | 2073 + f | (135,107) | f | 2074 + f | (135,108) | f | 2075 + f | (135,109) | f | 2076 + f | (135,110) | f | 2077 + f | (135,111) | f | 2078 + f | (135,112) | f | 2079 + f | (135,113) | f | 2080 + f | (135,114) | f | 2081 + f | (135,115) | f | 2082 + f | (135,116) | f | 2083 + f | (135,117) | f | 2084 + f | (135,118) | f | 2085 + f | (135,119) | f | 2086 + f | (135,120) | f | 2087 + f | (135,121) | f | 2088 + f | (135,122) | f | 2089 + f | (135,123) | f | 2090 + f | (135,124) | f | 2091 + f | (135,125) | f | 2092 + f | (135,126) | f | 2093 + f | (135,127) | f | 2094 + f | (135,128) | f | 2095 + f | (135,129) | f | 2096 + f | (135,130) | f | 2097 + f | (135,131) | f | 2098 + f | (135,132) | f | 2099 + f | (135,133) | f | 2100 + f | (135,134) | f | 2101 + f | (135,135) | f | 2102 + f | (135,136) | f | 2103 + f | (135,137) | f | 2104 + f | (135,138) | f | 2105 + f | (135,139) | f | 2106 + f | (135,140) | f | 2107 + f | (135,141) | f | 2108 + f | (135,142) | f | 2109 + f | (135,143) | f | 2110 + f | (135,144) | f | 2111 + f | (135,145) | f | 2112 + f | (135,146) | f | 2113 + f | (135,147) | f | 2114 + f | (135,148) | f | 2115 +(736 rows) + +DROP TABLE test_debug_table; +-- Проверяем с позициями лексем +CREATE TABLE test_debug_table_with_weight(t text, a tsvector, r text); +CREATE FUNCTION fill_test_debug_weight_trigger() RETURNS trigger AS $$ +begin + new.a := + setweight(to_tsvector('pg_catalog.english', coalesce(new.r,'')), 'A') || + setweight(to_tsvector('pg_catalog.english', coalesce(new.t,'')), 'D'); + return new; +end +$$ LANGUAGE plpgsql; +CREATE TRIGGER test_debug_weight_trigger +BEFORE INSERT OR UPDATE ON test_debug_table_with_weight +FOR EACH ROW EXECUTE PROCEDURE fill_test_debug_weight_trigger(); +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table_with_weight(t,r) + VALUES('As a reward for your reformation I write to you on this precious sheet.', 'write'); + END LOOP; +END; +$$; +CREATE INDEX test_with_weight_idx ON test_debug_table_with_weight +USING rum (a rum_tsvector_ops); +SELECT * FROM rum_metapage_info('test_with_weight_idx', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 26 +n_entry_pages | 4 +n_data_pages | 21 +n_entries | 240 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_weight_idx', 1); + key | attrnum | category | down_link +----------+---------+------------------+----------- + extend | 1 | RUM_CAT_NORM_KEY | 3 + neighbor | 1 | RUM_CAT_NORM_KEY | 2 + +inf | | | 20 +(3 rows) + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 20); + leftlink | rightlink | maxoff | freespace | flags +----------+------------+--------+-----------+-------- + 2 | 4294967295 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_weight_idx', 20); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +--------------+---------+--------------------+----------+------------------+----------+------------------+-------------------- + noth | 1 | RUM_CAT_NORM_KEY | (0,20) | f | 9 | f | + noth | 1 | RUM_CAT_NORM_KEY | (1,29) | f | 9 | f | + noth | 1 | RUM_CAT_NORM_KEY | (2,37) | f | 9 | f | + noth | 1 | RUM_CAT_NORM_KEY | (4,2) | f | 9 | f | + noth | 1 | RUM_CAT_NORM_KEY | (5,9) | f | 9 | f | + oak | 1 | RUM_CAT_NORM_KEY | (1,3) | f | 1 | f | + oak | 1 | RUM_CAT_NORM_KEY | (2,11) | f | 1 | f | + oak | 1 | RUM_CAT_NORM_KEY | (3,20) | f | 1 | f | + oak | 1 | RUM_CAT_NORM_KEY | (4,28) | f | 1 | f | + oak | 1 | RUM_CAT_NORM_KEY | (5,35) | f | 1 | f | + oblig | 1 | RUM_CAT_NORM_KEY | (0,30) | f | 2A,7 | f | + oblig | 1 | RUM_CAT_NORM_KEY | (1,39) | f | 2A,7 | f | + oblig | 1 | RUM_CAT_NORM_KEY | (3,4) | f | 2A,7 | f | + oblig | 1 | RUM_CAT_NORM_KEY | (4,12) | f | 2A,7 | f | + oblig | 1 | RUM_CAT_NORM_KEY | (5,19) | f | 2A,7 | f | + old | 1 | RUM_CAT_NORM_KEY | (0,4) | f | 4 | f | + old | 1 | RUM_CAT_NORM_KEY | (1,13) | f | 4 | f | + old | 1 | RUM_CAT_NORM_KEY | (2,21) | f | 4 | f | + old | 1 | RUM_CAT_NORM_KEY | (3,30) | f | 4 | f | + old | 1 | RUM_CAT_NORM_KEY | (4,38) | f | 4 | f | + one | 1 | RUM_CAT_NORM_KEY | (0,12) | f | 7 | f | + one | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 8 | f | + one | 1 | RUM_CAT_NORM_KEY | (0,21) | f | 12 | f | + one | 1 | RUM_CAT_NORM_KEY | (0,35) | f | 15 | f | + one | 1 | RUM_CAT_NORM_KEY | (1,21) | f | 7 | f | + one | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 8 | f | + one | 1 | RUM_CAT_NORM_KEY | (1,30) | f | 12 | f | + one | 1 | RUM_CAT_NORM_KEY | (1,44) | f | 15 | f | + one | 1 | RUM_CAT_NORM_KEY | (2,29) | f | 7 | f | + one | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 8 | f | + one | 1 | RUM_CAT_NORM_KEY | (2,38) | f | 12 | f | + one | 1 | RUM_CAT_NORM_KEY | (3,9) | f | 15 | f | + one | 1 | RUM_CAT_NORM_KEY | (3,38) | f | 7 | f | + one | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 8 | f | + one | 1 | RUM_CAT_NORM_KEY | (4,3) | f | 12 | f | + one | 1 | RUM_CAT_NORM_KEY | (4,17) | f | 15 | f | + one | 1 | RUM_CAT_NORM_KEY | (5,1) | f | 7 | f | + one | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 8 | f | + one | 1 | RUM_CAT_NORM_KEY | (5,10) | f | 12 | f | + one | 1 | RUM_CAT_NORM_KEY | (5,24) | f | 15 | f | + oo | 1 | RUM_CAT_NORM_KEY | (0,43) | f | 7 | f | + oo | 1 | RUM_CAT_NORM_KEY | (1,1) | f | 2 | f | + oo | 1 | RUM_CAT_NORM_KEY | (2,8) | f | 7 | f | + oo | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 2 | f | + oo | 1 | RUM_CAT_NORM_KEY | (3,17) | f | 7 | f | + oo | 1 | RUM_CAT_NORM_KEY | (3,18) | f | 2 | f | + oo | 1 | RUM_CAT_NORM_KEY | (4,25) | f | 7 | f | + oo | 1 | RUM_CAT_NORM_KEY | (4,26) | f | 2 | f | + oo | 1 | RUM_CAT_NORM_KEY | (5,32) | f | 7 | f | + oo | 1 | RUM_CAT_NORM_KEY | (5,33) | f | 2 | f | + ornament | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 6 | f | + ornament | 1 | RUM_CAT_NORM_KEY | (1,32) | f | 6 | f | + ornament | 1 | RUM_CAT_NORM_KEY | (2,40) | f | 6 | f | + ornament | 1 | RUM_CAT_NORM_KEY | (4,5) | f | 6 | f | + ornament | 1 | RUM_CAT_NORM_KEY | (5,12) | f | 6 | f | + palac | 1 | RUM_CAT_NORM_KEY | (0,19) | f | 3 | f | + palac | 1 | RUM_CAT_NORM_KEY | (1,28) | f | 3 | f | + palac | 1 | RUM_CAT_NORM_KEY | (2,36) | f | 3 | f | + palac | 1 | RUM_CAT_NORM_KEY | (4,1) | f | 3 | f | + palac | 1 | RUM_CAT_NORM_KEY | (5,8) | f | 3 | f | + palatin | 1 | RUM_CAT_NORM_KEY | (0,19) | f | 9 | f | + palatin | 1 | RUM_CAT_NORM_KEY | (1,28) | f | 9 | f | + palatin | 1 | RUM_CAT_NORM_KEY | (2,36) | f | 9 | f | + palatin | 1 | RUM_CAT_NORM_KEY | (4,1) | f | 9 | f | + palatin | 1 | RUM_CAT_NORM_KEY | (5,8) | f | 9 | f | + panorama | 1 | RUM_CAT_NORM_KEY | (0,8) | f | 14 | f | + panorama | 1 | RUM_CAT_NORM_KEY | (1,17) | f | 14 | f | + panorama | 1 | RUM_CAT_NORM_KEY | (2,25) | f | 14 | f | + panorama | 1 | RUM_CAT_NORM_KEY | (3,34) | f | 14 | f | + panorama | 1 | RUM_CAT_NORM_KEY | (4,42) | f | 14 | f | + part | 1 | RUM_CAT_NORM_KEY | (1,1) | f | 11 | f | + part | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 11 | f | + part | 1 | RUM_CAT_NORM_KEY | (3,18) | f | 11 | f | + part | 1 | RUM_CAT_NORM_KEY | (4,26) | f | 11 | f | + part | 1 | RUM_CAT_NORM_KEY | (5,33) | f | 11 | f | + pass | 1 | RUM_CAT_NORM_KEY | (0,31) | f | 12 | f | + pass | 1 | RUM_CAT_NORM_KEY | (1,40) | f | 12 | f | + pass | 1 | RUM_CAT_NORM_KEY | (3,5) | f | 12 | f | + pass | 1 | RUM_CAT_NORM_KEY | (4,13) | f | 12 | f | + pass | 1 | RUM_CAT_NORM_KEY | (5,20) | f | 12 | f | + pictur | 1 | RUM_CAT_NORM_KEY | (0,6) | f | 8 | f | + pictur | 1 | RUM_CAT_NORM_KEY | (1,15) | f | 8 | f | + pictur | 1 | RUM_CAT_NORM_KEY | (2,23) | f | 8 | f | + pictur | 1 | RUM_CAT_NORM_KEY | (3,32) | f | 8 | f | + pictur | 1 | RUM_CAT_NORM_KEY | (4,40) | f | 8 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (0,3) | f | 9 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (0,42) | f | 7 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (1,12) | f | 9 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (2,7) | f | 7 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (2,20) | f | 9 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (3,16) | f | 7 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (3,29) | f | 9 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (4,24) | f | 7 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (4,37) | f | 9 | f | + picturesqu | 1 | RUM_CAT_NORM_KEY | (5,31) | f | 7 | f | + poetic | 1 | RUM_CAT_NORM_KEY | (0,3) | f | 6 | f | + poetic | 1 | RUM_CAT_NORM_KEY | (1,12) | f | 6 | f | + poetic | 1 | RUM_CAT_NORM_KEY | (2,20) | f | 6 | f | + poetic | 1 | RUM_CAT_NORM_KEY | (3,29) | f | 6 | f | + poetic | 1 | RUM_CAT_NORM_KEY | (4,37) | f | 6 | f | + portico | 1 | RUM_CAT_NORM_KEY | (0,18) | f | 4 | f | + portico | 1 | RUM_CAT_NORM_KEY | (1,27) | f | 4 | f | + portico | 1 | RUM_CAT_NORM_KEY | (1,45) | f | 4 | f | + portico | 1 | RUM_CAT_NORM_KEY | (2,35) | f | 4 | f | + portico | 1 | RUM_CAT_NORM_KEY | (5,7) | f | 4 | f | + precious | 1 | RUM_CAT_NORM_KEY | | | | t | 4 + put | 1 | RUM_CAT_NORM_KEY | (0,9) | f | 1A,4 | f | + put | 1 | RUM_CAT_NORM_KEY | (1,18) | f | 1A,4 | f | + put | 1 | RUM_CAT_NORM_KEY | (2,26) | f | 1A,4 | f | + put | 1 | RUM_CAT_NORM_KEY | (3,35) | f | 1A,4 | f | + put | 1 | RUM_CAT_NORM_KEY | (4,43) | f | 1A,4 | f | + quaint | 1 | RUM_CAT_NORM_KEY | (0,3) | f | 3 | f | + quaint | 1 | RUM_CAT_NORM_KEY | (1,12) | f | 3 | f | + quaint | 1 | RUM_CAT_NORM_KEY | (2,20) | f | 3 | f | + quaint | 1 | RUM_CAT_NORM_KEY | (3,29) | f | 3 | f | + quaint | 1 | RUM_CAT_NORM_KEY | (4,37) | f | 3 | f | + reach | 1 | RUM_CAT_NORM_KEY | (0,36) | f | 5A,20 | f | + reach | 1 | RUM_CAT_NORM_KEY | (2,1) | f | 5A,20 | f | + reach | 1 | RUM_CAT_NORM_KEY | (3,10) | f | 5A,20 | f | + reach | 1 | RUM_CAT_NORM_KEY | (4,18) | f | 5A,20 | f | + reach | 1 | RUM_CAT_NORM_KEY | (5,25) | f | 5A,20 | f | + readi | 1 | RUM_CAT_NORM_KEY | (0,15) | f | 3 | f | + readi | 1 | RUM_CAT_NORM_KEY | (1,24) | f | 3 | f | + readi | 1 | RUM_CAT_NORM_KEY | (2,32) | f | 3 | f | + readi | 1 | RUM_CAT_NORM_KEY | (3,41) | f | 3 | f | + readi | 1 | RUM_CAT_NORM_KEY | (5,4) | f | 3 | f | + reform | 1 | RUM_CAT_NORM_KEY | | | | t | 8 + renaiss | 1 | RUM_CAT_NORM_KEY | (0,21) | f | 9 | f | + renaiss | 1 | RUM_CAT_NORM_KEY | (1,30) | f | 9 | f | + renaiss | 1 | RUM_CAT_NORM_KEY | (2,38) | f | 9 | f | + renaiss | 1 | RUM_CAT_NORM_KEY | (4,3) | f | 9 | f | + renaiss | 1 | RUM_CAT_NORM_KEY | (5,10) | f | 9 | f | + replac | 1 | RUM_CAT_NORM_KEY | (0,15) | f | 2A,6 | f | + replac | 1 | RUM_CAT_NORM_KEY | (1,24) | f | 2A,6 | f | + replac | 1 | RUM_CAT_NORM_KEY | (2,32) | f | 2A,6 | f | + replac | 1 | RUM_CAT_NORM_KEY | (3,41) | f | 2A,6 | f | + replac | 1 | RUM_CAT_NORM_KEY | (5,4) | f | 2A,6 | f | + report | 1 | RUM_CAT_NORM_KEY | (0,34) | f | 6 | f | + report | 1 | RUM_CAT_NORM_KEY | (1,43) | f | 6 | f | + report | 1 | RUM_CAT_NORM_KEY | (3,8) | f | 6 | f | + report | 1 | RUM_CAT_NORM_KEY | (4,16) | f | 6 | f | + report | 1 | RUM_CAT_NORM_KEY | (5,23) | f | 6 | f | + reward | 1 | RUM_CAT_NORM_KEY | | | | t | 12 + ritter | 1 | RUM_CAT_NORM_KEY | (0,20) | f | 7 | f | + ritter | 1 | RUM_CAT_NORM_KEY | (1,29) | f | 7 | f | + ritter | 1 | RUM_CAT_NORM_KEY | (2,37) | f | 7 | f | + ritter | 1 | RUM_CAT_NORM_KEY | (4,2) | f | 7 | f | + ritter | 1 | RUM_CAT_NORM_KEY | (5,9) | f | 7 | f | + road | 1 | RUM_CAT_NORM_KEY | (0,34) | f | 10 | f | + road | 1 | RUM_CAT_NORM_KEY | (1,43) | f | 10 | f | + road | 1 | RUM_CAT_NORM_KEY | (3,8) | f | 10 | f | + road | 1 | RUM_CAT_NORM_KEY | (4,16) | f | 10 | f | + road | 1 | RUM_CAT_NORM_KEY | (5,23) | f | 10 | f | + saunter | 1 | RUM_CAT_NORM_KEY | (0,37) | f | 3A,11 | f | + saunter | 1 | RUM_CAT_NORM_KEY | (2,2) | f | 3A,11 | f | + saunter | 1 | RUM_CAT_NORM_KEY | (3,11) | f | 3A,11 | f | + saunter | 1 | RUM_CAT_NORM_KEY | (4,19) | f | 3A,11 | f | + saunter | 1 | RUM_CAT_NORM_KEY | (5,26) | f | 3A,11 | f | + say | 1 | RUM_CAT_NORM_KEY | (0,7) | f | 2A,5 | f | + say | 1 | RUM_CAT_NORM_KEY | (1,16) | f | 2A,5 | f | + say | 1 | RUM_CAT_NORM_KEY | (2,24) | f | 2A,5 | f | + say | 1 | RUM_CAT_NORM_KEY | (3,33) | f | 2A,5 | f | + say | 1 | RUM_CAT_NORM_KEY | (4,41) | f | 2A,5 | f | + schlosshof | 1 | RUM_CAT_NORM_KEY | (0,18) | f | 9 | f | + schlosshof | 1 | RUM_CAT_NORM_KEY | (1,27) | f | 9 | f | + schlosshof | 1 | RUM_CAT_NORM_KEY | (1,45) | f | 9 | f | + schlosshof | 1 | RUM_CAT_NORM_KEY | (2,35) | f | 9 | f | + schlosshof | 1 | RUM_CAT_NORM_KEY | (5,7) | f | 9 | f | + see | 1 | RUM_CAT_NORM_KEY | (0,2) | f | 3A,5 | f | + see | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 3A,13 | f | + see | 1 | RUM_CAT_NORM_KEY | (1,5) | f | 1A,6 | f | + see | 1 | RUM_CAT_NORM_KEY | (1,11) | f | 3A,5 | f | + see | 1 | RUM_CAT_NORM_KEY | (1,32) | f | 3A,13 | f | + see | 1 | RUM_CAT_NORM_KEY | (2,13) | f | 1A,6 | f | + see | 1 | RUM_CAT_NORM_KEY | (2,19) | f | 3A,5 | f | + see | 1 | RUM_CAT_NORM_KEY | (2,40) | f | 3A,13 | f | + see | 1 | RUM_CAT_NORM_KEY | (3,22) | f | 1A,6 | f | + see | 1 | RUM_CAT_NORM_KEY | (3,28) | f | 3A,5 | f | + see | 1 | RUM_CAT_NORM_KEY | (4,5) | f | 3A,13 | f | + see | 1 | RUM_CAT_NORM_KEY | (4,30) | f | 1A,6 | f | + see | 1 | RUM_CAT_NORM_KEY | (4,36) | f | 3A,5 | f | + see | 1 | RUM_CAT_NORM_KEY | (5,12) | f | 3A,13 | f | + see | 1 | RUM_CAT_NORM_KEY | (5,37) | f | 1A,6 | f | + seem | 1 | RUM_CAT_NORM_KEY | (0,4) | f | 1A,10 | f | + seem | 1 | RUM_CAT_NORM_KEY | (1,13) | f | 1A,10 | f | + seem | 1 | RUM_CAT_NORM_KEY | (2,21) | f | 1A,10 | f | + seem | 1 | RUM_CAT_NORM_KEY | (3,30) | f | 1A,10 | f | + seem | 1 | RUM_CAT_NORM_KEY | (4,38) | f | 1A,10 | f | + seen | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 5A,19 | f | + seen | 1 | RUM_CAT_NORM_KEY | (1,5) | f | 4A,12 | f | + seen | 1 | RUM_CAT_NORM_KEY | (1,32) | f | 5A,19 | f | + seen | 1 | RUM_CAT_NORM_KEY | (2,13) | f | 4A,12 | f | + seen | 1 | RUM_CAT_NORM_KEY | (2,40) | f | 5A,19 | f | + seen | 1 | RUM_CAT_NORM_KEY | (3,22) | f | 4A,12 | f | + seen | 1 | RUM_CAT_NORM_KEY | (4,5) | f | 5A,19 | f | + seen | 1 | RUM_CAT_NORM_KEY | (4,30) | f | 4A,12 | f | + seen | 1 | RUM_CAT_NORM_KEY | (5,12) | f | 5A,19 | f | + seen | 1 | RUM_CAT_NORM_KEY | (5,37) | f | 4A,12 | f | + send | 1 | RUM_CAT_NORM_KEY | (0,5) | f | 1A,13 | f | + send | 1 | RUM_CAT_NORM_KEY | (1,14) | f | 1A,13 | f | + send | 1 | RUM_CAT_NORM_KEY | (2,22) | f | 1A,13 | f | + send | 1 | RUM_CAT_NORM_KEY | (3,31) | f | 1A,13 | f | + send | 1 | RUM_CAT_NORM_KEY | (4,39) | f | 1A,13 | f | + seri | 1 | RUM_CAT_NORM_KEY | (0,6) | f | 6 | f | + seri | 1 | RUM_CAT_NORM_KEY | (1,15) | f | 6 | f | + seri | 1 | RUM_CAT_NORM_KEY | (2,23) | f | 6 | f | + seri | 1 | RUM_CAT_NORM_KEY | (3,32) | f | 6 | f | + seri | 1 | RUM_CAT_NORM_KEY | (4,40) | f | 6 | f | + set | 1 | RUM_CAT_NORM_KEY | (0,35) | f | 2A,14 | f | + set | 1 | RUM_CAT_NORM_KEY | (1,44) | f | 2A,14 | f | + set | 1 | RUM_CAT_NORM_KEY | (3,9) | f | 2A,14 | f | + set | 1 | RUM_CAT_NORM_KEY | (4,17) | f | 2A,14 | f | + set | 1 | RUM_CAT_NORM_KEY | (5,24) | f | 2A,14 | f | + shall | 1 | RUM_CAT_NORM_KEY | (1,4) | f | 8 | f | + shall | 1 | RUM_CAT_NORM_KEY | (2,12) | f | 8 | f | + shall | 1 | RUM_CAT_NORM_KEY | (3,21) | f | 8 | f | + shall | 1 | RUM_CAT_NORM_KEY | (4,29) | f | 8 | f | + shall | 1 | RUM_CAT_NORM_KEY | (5,36) | f | 8 | f | + sheet | 1 | RUM_CAT_NORM_KEY | | | | t | 16 + show | 1 | RUM_CAT_NORM_KEY | (0,4) | f | 2A,18 | f | + show | 1 | RUM_CAT_NORM_KEY | (0,18) | f | 1A,6 | f | + show | 1 | RUM_CAT_NORM_KEY | (1,13) | f | 2A,18 | f | + show | 1 | RUM_CAT_NORM_KEY | (1,27) | f | 1A,6 | f | + show | 1 | RUM_CAT_NORM_KEY | (1,45) | f | 1A,6 | f | + show | 1 | RUM_CAT_NORM_KEY | (2,21) | f | 2A,18 | f | + show | 1 | RUM_CAT_NORM_KEY | (2,35) | f | 1A,6 | f | + show | 1 | RUM_CAT_NORM_KEY | (3,30) | f | 2A,18 | f | + show | 1 | RUM_CAT_NORM_KEY | (4,38) | f | 2A,18 | f | + show | 1 | RUM_CAT_NORM_KEY | (5,7) | f | 1A,6 | f | + shrubberi | 1 | RUM_CAT_NORM_KEY | (1,3) | f | 11 | f | + shrubberi | 1 | RUM_CAT_NORM_KEY | (2,11) | f | 11 | f | + shrubberi | 1 | RUM_CAT_NORM_KEY | (3,20) | f | 11 | f | + shrubberi | 1 | RUM_CAT_NORM_KEY | (4,28) | f | 11 | f | + shrubberi | 1 | RUM_CAT_NORM_KEY | (5,35) | f | 11 | f | + sight | 1 | RUM_CAT_NORM_KEY | (0,7) | f | 15 | f | + sight | 1 | RUM_CAT_NORM_KEY | (1,16) | f | 15 | f | + sight | 1 | RUM_CAT_NORM_KEY | (2,24) | f | 15 | f | + sight | 1 | RUM_CAT_NORM_KEY | (3,33) | f | 15 | f | + sight | 1 | RUM_CAT_NORM_KEY | (4,41) | f | 15 | f | + situat | 1 | RUM_CAT_NORM_KEY | (0,41) | f | 6 | f | + situat | 1 | RUM_CAT_NORM_KEY | (2,6) | f | 6 | f | + situat | 1 | RUM_CAT_NORM_KEY | (3,15) | f | 6 | f | + situat | 1 | RUM_CAT_NORM_KEY | (4,23) | f | 6 | f | + situat | 1 | RUM_CAT_NORM_KEY | (5,30) | f | 6 | f | + slope | 1 | RUM_CAT_NORM_KEY | (0,43) | f | 12 | f | + slope | 1 | RUM_CAT_NORM_KEY | (2,8) | f | 12 | f | + slope | 1 | RUM_CAT_NORM_KEY | (3,17) | f | 12 | f | + slope | 1 | RUM_CAT_NORM_KEY | (4,25) | f | 12 | f | + slope | 1 | RUM_CAT_NORM_KEY | (5,32) | f | 12 | f | + snow | 1 | RUM_CAT_NORM_KEY | (0,35) | f | 6 | f | + snow | 1 | RUM_CAT_NORM_KEY | (1,44) | f | 6 | f | + snow | 1 | RUM_CAT_NORM_KEY | (3,9) | f | 6 | f | + snow | 1 | RUM_CAT_NORM_KEY | (4,17) | f | 6 | f | + snow | 1 | RUM_CAT_NORM_KEY | (5,24) | f | 6 | f | + solid | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 12 | f | + solid | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 12 | f | + solid | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 12 | f | + solid | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 12 | f | + solid | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 12 | f | + someth | 1 | RUM_CAT_NORM_KEY | (0,11) | f | 9 | f | + someth | 1 | RUM_CAT_NORM_KEY | (1,20) | f | 9 | f | + someth | 1 | RUM_CAT_NORM_KEY | (2,28) | f | 9 | f | + someth | 1 | RUM_CAT_NORM_KEY | (3,37) | f | 9 | f | + someth | 1 | RUM_CAT_NORM_KEY | (4,45) | f | 9 | f | + speak | 1 | RUM_CAT_NORM_KEY | (0,8) | f | 3A,15 | f | + speak | 1 | RUM_CAT_NORM_KEY | (1,17) | f | 3A,15 | f | + speak | 1 | RUM_CAT_NORM_KEY | (2,25) | f | 3A,15 | f | + speak | 1 | RUM_CAT_NORM_KEY | (3,34) | f | 3A,15 | f | + speak | 1 | RUM_CAT_NORM_KEY | (4,42) | f | 3A,15 | f | + spec | 1 | RUM_CAT_NORM_KEY | (0,9) | f | 7 | f | + spec | 1 | RUM_CAT_NORM_KEY | (1,18) | f | 7 | f | + spec | 1 | RUM_CAT_NORM_KEY | (2,26) | f | 7 | f | + spec | 1 | RUM_CAT_NORM_KEY | (3,35) | f | 7 | f | + spec | 1 | RUM_CAT_NORM_KEY | (4,43) | f | 7 | f | + spectacl | 1 | RUM_CAT_NORM_KEY | (0,40) | f | 4 | f | + spectacl | 1 | RUM_CAT_NORM_KEY | (2,5) | f | 4 | f | + spectacl | 1 | RUM_CAT_NORM_KEY | (3,14) | f | 4 | f | + spectacl | 1 | RUM_CAT_NORM_KEY | (4,22) | f | 4 | f | + spectacl | 1 | RUM_CAT_NORM_KEY | (5,29) | f | 4 | f | + speed | 1 | RUM_CAT_NORM_KEY | (1,2) | f | 5 | f | + speed | 1 | RUM_CAT_NORM_KEY | (2,10) | f | 5 | f | + speed | 1 | RUM_CAT_NORM_KEY | (3,19) | f | 5 | f | + speed | 1 | RUM_CAT_NORM_KEY | (4,27) | f | 5 | f | + speed | 1 | RUM_CAT_NORM_KEY | (5,34) | f | 5 | f | + spent | 1 | RUM_CAT_NORM_KEY | (0,37) | f | 2A,8 | f | + spent | 1 | RUM_CAT_NORM_KEY | (2,2) | f | 2A,8 | f | + spent | 1 | RUM_CAT_NORM_KEY | (3,11) | f | 2A,8 | f | + spent | 1 | RUM_CAT_NORM_KEY | (4,19) | f | 2A,8 | f | + spent | 1 | RUM_CAT_NORM_KEY | (5,26) | f | 2A,8 | f | + spur | 1 | RUM_CAT_NORM_KEY | (0,10) | f | 7 | f | + spur | 1 | RUM_CAT_NORM_KEY | (1,19) | f | 7 | f | + spur | 1 | RUM_CAT_NORM_KEY | (2,27) | f | 7 | f | + spur | 1 | RUM_CAT_NORM_KEY | (3,36) | f | 7 | f | + spur | 1 | RUM_CAT_NORM_KEY | (4,44) | f | 7 | f | + still | 1 | RUM_CAT_NORM_KEY | (0,14) | f | 16 | f | + still | 1 | RUM_CAT_NORM_KEY | (1,23) | f | 16 | f | + still | 1 | RUM_CAT_NORM_KEY | (2,31) | f | 16 | f | + still | 1 | RUM_CAT_NORM_KEY | (3,40) | f | 16 | f | + still | 1 | RUM_CAT_NORM_KEY | (5,3) | f | 16 | f | + strassburg | 1 | RUM_CAT_NORM_KEY | (1,5) | f | 16 | f | + strassburg | 1 | RUM_CAT_NORM_KEY | (2,13) | f | 16 | f | + strassburg | 1 | RUM_CAT_NORM_KEY | (3,22) | f | 16 | f | + strassburg | 1 | RUM_CAT_NORM_KEY | (4,30) | f | 16 | f | + strassburg | 1 | RUM_CAT_NORM_KEY | (5,37) | f | 16 | f | + stream | 1 | RUM_CAT_NORM_KEY | (1,1) | f | 8 | f | + stream | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 8 | f | + stream | 1 | RUM_CAT_NORM_KEY | (3,18) | f | 8 | f | + stream | 1 | RUM_CAT_NORM_KEY | (4,26) | f | 8 | f | + stream | 1 | RUM_CAT_NORM_KEY | (5,33) | f | 8 | f | + structur | 1 | RUM_CAT_NORM_KEY | (0,21) | f | 5 | f | + structur | 1 | RUM_CAT_NORM_KEY | (1,30) | f | 5 | f | + structur | 1 | RUM_CAT_NORM_KEY | (2,38) | f | 5 | f | + structur | 1 | RUM_CAT_NORM_KEY | (4,3) | f | 5 | f | + structur | 1 | RUM_CAT_NORM_KEY | (5,10) | f | 5 | f | + style | 1 | RUM_CAT_NORM_KEY | (0,21) | f | 10 | f | + style | 1 | RUM_CAT_NORM_KEY | (1,30) | f | 10 | f | + style | 1 | RUM_CAT_NORM_KEY | (2,38) | f | 10 | f | + style | 1 | RUM_CAT_NORM_KEY | (4,3) | f | 10 | f | + style | 1 | RUM_CAT_NORM_KEY | (5,10) | f | 10 | f | + sure | 1 | RUM_CAT_NORM_KEY | (0,33) | f | 13 | f | + sure | 1 | RUM_CAT_NORM_KEY | (1,42) | f | 13 | f | + sure | 1 | RUM_CAT_NORM_KEY | (3,7) | f | 13 | f | + sure | 1 | RUM_CAT_NORM_KEY | (4,15) | f | 13 | f | + sure | 1 | RUM_CAT_NORM_KEY | (5,22) | f | 13 | f | + swept | 1 | RUM_CAT_NORM_KEY | (0,35) | f | 1A,3 | f | + swept | 1 | RUM_CAT_NORM_KEY | (1,44) | f | 1A,3 | f | + swept | 1 | RUM_CAT_NORM_KEY | (3,9) | f | 1A,3 | f | + swept | 1 | RUM_CAT_NORM_KEY | (4,17) | f | 1A,3 | f | + swept | 1 | RUM_CAT_NORM_KEY | (5,24) | f | 1A,3 | f | + switzerland | 1 | RUM_CAT_NORM_KEY | (0,30) | f | 13 | f | + switzerland | 1 | RUM_CAT_NORM_KEY | (1,39) | f | 13 | f | + switzerland | 1 | RUM_CAT_NORM_KEY | (3,4) | f | 13 | f | + switzerland | 1 | RUM_CAT_NORM_KEY | (4,12) | f | 13 | f | + switzerland | 1 | RUM_CAT_NORM_KEY | (5,19) | f | 13 | f | + terrass | 1 | RUM_CAT_NORM_KEY | (0,11) | f | 4 | f | + terrass | 1 | RUM_CAT_NORM_KEY | (1,20) | f | 4 | f | + terrass | 1 | RUM_CAT_NORM_KEY | (2,28) | f | 4 | f | + terrass | 1 | RUM_CAT_NORM_KEY | (3,37) | f | 4 | f | + terrass | 1 | RUM_CAT_NORM_KEY | (4,45) | f | 4 | f | + thank | 1 | RUM_CAT_NORM_KEY | (0,31) | f | 17 | f | + thank | 1 | RUM_CAT_NORM_KEY | (1,40) | f | 17 | f | + thank | 1 | RUM_CAT_NORM_KEY | (3,5) | f | 17 | f | + thank | 1 | RUM_CAT_NORM_KEY | (4,13) | f | 17 | f | + thank | 1 | RUM_CAT_NORM_KEY | (5,20) | f | 17 | f | + thick | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 2 | f | + thick | 1 | RUM_CAT_NORM_KEY | (0,42) | f | 9 | f | + thick | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 2 | f | + thick | 1 | RUM_CAT_NORM_KEY | (2,7) | f | 9 | f | + thick | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 2 | f | + thick | 1 | RUM_CAT_NORM_KEY | (3,16) | f | 9 | f | + thick | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 2 | f | + thick | 1 | RUM_CAT_NORM_KEY | (4,24) | f | 9 | f | + thick | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 2 | f | + thick | 1 | RUM_CAT_NORM_KEY | (5,31) | f | 9 | f | + thickly-wood | 1 | RUM_CAT_NORM_KEY | (0,42) | f | 8 | f | + thickly-wood | 1 | RUM_CAT_NORM_KEY | (2,7) | f | 8 | f | + thickly-wood | 1 | RUM_CAT_NORM_KEY | (3,16) | f | 8 | f | + thickly-wood | 1 | RUM_CAT_NORM_KEY | (4,24) | f | 8 | f | + thickly-wood | 1 | RUM_CAT_NORM_KEY | (5,31) | f | 8 | f | + think | 1 | RUM_CAT_NORM_KEY | (0,27) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (0,36) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (1,36) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (2,1) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (3,1) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (3,10) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (4,9) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (4,18) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (5,16) | f | 1A,6 | f | + think | 1 | RUM_CAT_NORM_KEY | (5,25) | f | 1A,6 | f | + three | 1 | RUM_CAT_NORM_KEY | (1,6) | f | 4 | f | + three | 1 | RUM_CAT_NORM_KEY | (2,14) | f | 4 | f | + three | 1 | RUM_CAT_NORM_KEY | (3,23) | f | 4 | f | + three | 1 | RUM_CAT_NORM_KEY | (4,31) | f | 4 | f | + three | 1 | RUM_CAT_NORM_KEY | (5,38) | f | 4 | f | + throng | 1 | RUM_CAT_NORM_KEY | (0,38) | f | 10 | f | + throng | 1 | RUM_CAT_NORM_KEY | (2,3) | f | 10 | f | + throng | 1 | RUM_CAT_NORM_KEY | (3,12) | f | 10 | f | + throng | 1 | RUM_CAT_NORM_KEY | (4,20) | f | 10 | f | + throng | 1 | RUM_CAT_NORM_KEY | (5,27) | f | 10 | f | + thurm | 1 | RUM_CAT_NORM_KEY | (0,12) | f | 4 | f | + thurm | 1 | RUM_CAT_NORM_KEY | (1,21) | f | 4 | f | + thurm | 1 | RUM_CAT_NORM_KEY | (2,29) | f | 4 | f | + thurm | 1 | RUM_CAT_NORM_KEY | (3,38) | f | 4 | f | + thurm | 1 | RUM_CAT_NORM_KEY | (5,1) | f | 4 | f | + thus | 1 | RUM_CAT_NORM_KEY | (0,11) | f | 5 | f | + thus | 1 | RUM_CAT_NORM_KEY | (1,20) | f | 5 | f | + thus | 1 | RUM_CAT_NORM_KEY | (2,28) | f | 5 | f | + thus | 1 | RUM_CAT_NORM_KEY | (3,37) | f | 5 | f | + thus | 1 | RUM_CAT_NORM_KEY | (4,45) | f | 5 | f | + time | 1 | RUM_CAT_NORM_KEY | (0,20) | f | 1 | f | + time | 1 | RUM_CAT_NORM_KEY | (1,29) | f | 1 | f | + time | 1 | RUM_CAT_NORM_KEY | (2,37) | f | 1 | f | + time | 1 | RUM_CAT_NORM_KEY | (4,2) | f | 1 | f | + time | 1 | RUM_CAT_NORM_KEY | (5,9) | f | 1 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (1,4) | f | 10 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (1,5) | f | 17 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (2,12) | f | 10 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (2,13) | f | 17 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (3,21) | f | 10 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (3,22) | f | 17 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (4,29) | f | 10 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (4,30) | f | 17 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (5,36) | f | 10 | f | + to-morrow | 1 | RUM_CAT_NORM_KEY | (5,37) | f | 17 | f | + town | 1 | RUM_CAT_NORM_KEY | (0,4) | f | 5 | f | + town | 1 | RUM_CAT_NORM_KEY | (1,2) | f | 1 | f | + town | 1 | RUM_CAT_NORM_KEY | (1,13) | f | 5 | f | + town | 1 | RUM_CAT_NORM_KEY | (2,10) | f | 1 | f | + town | 1 | RUM_CAT_NORM_KEY | (2,21) | f | 5 | f | + town | 1 | RUM_CAT_NORM_KEY | (3,19) | f | 1 | f | + town | 1 | RUM_CAT_NORM_KEY | (3,30) | f | 5 | f | + town | 1 | RUM_CAT_NORM_KEY | (4,27) | f | 1 | f | + town | 1 | RUM_CAT_NORM_KEY | (4,38) | f | 5 | f | + town | 1 | RUM_CAT_NORM_KEY | (5,34) | f | 1 | f | + tri | 1 | RUM_CAT_NORM_KEY | (0,31) | f | 2A,5 | f | + tri | 1 | RUM_CAT_NORM_KEY | (1,40) | f | 2A,5 | f | + tri | 1 | RUM_CAT_NORM_KEY | (3,5) | f | 2A,5 | f | + tri | 1 | RUM_CAT_NORM_KEY | (4,13) | f | 2A,5 | f | + tri | 1 | RUM_CAT_NORM_KEY | (5,20) | f | 2A,5 | f | + turbid | 1 | RUM_CAT_NORM_KEY | (1,1) | f | 6 | f | + turbid | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 6 | f | + turbid | 1 | RUM_CAT_NORM_KEY | (3,18) | f | 6 | f | + turbid | 1 | RUM_CAT_NORM_KEY | (4,26) | f | 6 | f | + turbid | 1 | RUM_CAT_NORM_KEY | (5,33) | f | 6 | f | + turbul | 1 | RUM_CAT_NORM_KEY | (1,1) | f | 7 | f | + turbul | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 7 | f | + turbul | 1 | RUM_CAT_NORM_KEY | (3,18) | f | 7 | f | + turbul | 1 | RUM_CAT_NORM_KEY | (4,26) | f | 7 | f | + turbul | 1 | RUM_CAT_NORM_KEY | (5,33) | f | 7 | f | + twenti | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 7 | f | + twenti | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 7 | f | + twenti | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 7 | f | + twenti | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 7 | f | + twenti | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 7 | f | + twenty-on | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 6 | f | + twenty-on | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 6 | f | + twenty-on | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 6 | f | + twenty-on | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 6 | f | + twenty-on | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 6 | f | + two | 1 | RUM_CAT_NORM_KEY | (1,6) | f | 2 | f | + two | 1 | RUM_CAT_NORM_KEY | (2,14) | f | 2 | f | + two | 1 | RUM_CAT_NORM_KEY | (3,23) | f | 2 | f | + two | 1 | RUM_CAT_NORM_KEY | (4,31) | f | 2 | f | + two | 1 | RUM_CAT_NORM_KEY | (5,38) | f | 2 | f | + valley | 1 | RUM_CAT_NORM_KEY | (0,43) | f | 4 | f | + valley | 1 | RUM_CAT_NORM_KEY | (2,8) | f | 4 | f | + valley | 1 | RUM_CAT_NORM_KEY | (3,17) | f | 4 | f | + valley | 1 | RUM_CAT_NORM_KEY | (4,25) | f | 4 | f | + valley | 1 | RUM_CAT_NORM_KEY | (5,32) | f | 4 | f | + ventur | 1 | RUM_CAT_NORM_KEY | (0,8) | f | 10 | f | + ventur | 1 | RUM_CAT_NORM_KEY | (1,17) | f | 10 | f | + ventur | 1 | RUM_CAT_NORM_KEY | (2,25) | f | 10 | f | + ventur | 1 | RUM_CAT_NORM_KEY | (3,34) | f | 10 | f | + ventur | 1 | RUM_CAT_NORM_KEY | (4,42) | f | 10 | f | + villa | 1 | RUM_CAT_NORM_KEY | (1,4) | f | 6 | f | + villa | 1 | RUM_CAT_NORM_KEY | (2,12) | f | 6 | f | + villa | 1 | RUM_CAT_NORM_KEY | (3,21) | f | 6 | f | + villa | 1 | RUM_CAT_NORM_KEY | (4,29) | f | 6 | f | + villa | 1 | RUM_CAT_NORM_KEY | (5,36) | f | 6 | f | + wall | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 5 | f | + wall | 1 | RUM_CAT_NORM_KEY | (1,22) | f | 5 | f | + wall | 1 | RUM_CAT_NORM_KEY | (2,30) | f | 5 | f | + wall | 1 | RUM_CAT_NORM_KEY | (3,39) | f | 5 | f | + wall | 1 | RUM_CAT_NORM_KEY | (5,2) | f | 5 | f | + way | 1 | RUM_CAT_NORM_KEY | (0,5) | f | 10 | f | + way | 1 | RUM_CAT_NORM_KEY | (0,9) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (0,14) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (0,36) | f | 19 | f | + way | 1 | RUM_CAT_NORM_KEY | (1,14) | f | 10 | f | + way | 1 | RUM_CAT_NORM_KEY | (1,18) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (1,23) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (2,1) | f | 19 | f | + way | 1 | RUM_CAT_NORM_KEY | (2,22) | f | 10 | f | + way | 1 | RUM_CAT_NORM_KEY | (2,26) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (2,31) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (3,10) | f | 19 | f | + way | 1 | RUM_CAT_NORM_KEY | (3,31) | f | 10 | f | + way | 1 | RUM_CAT_NORM_KEY | (3,35) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (3,40) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (4,18) | f | 19 | f | + way | 1 | RUM_CAT_NORM_KEY | (4,39) | f | 10 | f | + way | 1 | RUM_CAT_NORM_KEY | (4,43) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (5,3) | f | 14 | f | + way | 1 | RUM_CAT_NORM_KEY | (5,25) | f | 19 | f | + well | 1 | RUM_CAT_NORM_KEY | (0,7) | f | 17 | f | + well | 1 | RUM_CAT_NORM_KEY | (0,14) | f | 5 | f | + well | 1 | RUM_CAT_NORM_KEY | (1,16) | f | 17 | f | + well | 1 | RUM_CAT_NORM_KEY | (1,23) | f | 5 | f | + well | 1 | RUM_CAT_NORM_KEY | (2,24) | f | 17 | f | + well | 1 | RUM_CAT_NORM_KEY | (2,31) | f | 5 | f | + well | 1 | RUM_CAT_NORM_KEY | (3,33) | f | 17 | f | + well | 1 | RUM_CAT_NORM_KEY | (3,40) | f | 5 | f | + well | 1 | RUM_CAT_NORM_KEY | (4,41) | f | 17 | f | + well | 1 | RUM_CAT_NORM_KEY | (5,3) | f | 5 | f | + whole | 1 | RUM_CAT_NORM_KEY | (0,40) | f | 8 | f | + whole | 1 | RUM_CAT_NORM_KEY | (2,5) | f | 8 | f | + whole | 1 | RUM_CAT_NORM_KEY | (3,14) | f | 8 | f | + whole | 1 | RUM_CAT_NORM_KEY | (4,22) | f | 8 | f | + whole | 1 | RUM_CAT_NORM_KEY | (5,29) | f | 8 | f | + wine | 1 | RUM_CAT_NORM_KEY | (0,17) | f | 4 | f | + wine | 1 | RUM_CAT_NORM_KEY | (1,26) | f | 4 | f | + wine | 1 | RUM_CAT_NORM_KEY | (2,34) | f | 4 | f | + wine | 1 | RUM_CAT_NORM_KEY | (3,43) | f | 4 | f | + wine | 1 | RUM_CAT_NORM_KEY | (5,6) | f | 4 | f | + wish | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 1A,10 | f | + wish | 1 | RUM_CAT_NORM_KEY | (1,32) | f | 1A,10 | f | + wish | 1 | RUM_CAT_NORM_KEY | (2,40) | f | 1A,10 | f | + wish | 1 | RUM_CAT_NORM_KEY | (4,5) | f | 1A,10 | f | + wish | 1 | RUM_CAT_NORM_KEY | (5,12) | f | 1A,10 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (0,2) | f | 11 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (0,6) | f | 4A,15 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (1,11) | f | 11 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (1,15) | f | 4A,15 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (2,19) | f | 11 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (2,23) | f | 4A,15 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (3,28) | f | 11 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (3,32) | f | 4A,15 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (4,36) | f | 11 | f | + wonder | 1 | RUM_CAT_NORM_KEY | (4,40) | f | 4A,15 | f | + wood | 1 | RUM_CAT_NORM_KEY | (0,10) | f | 6 | f | + wood | 1 | RUM_CAT_NORM_KEY | (0,42) | f | 10 | f | + wood | 1 | RUM_CAT_NORM_KEY | (1,19) | f | 6 | f | + wood | 1 | RUM_CAT_NORM_KEY | (2,7) | f | 10 | f | + wood | 1 | RUM_CAT_NORM_KEY | (2,27) | f | 6 | f | + wood | 1 | RUM_CAT_NORM_KEY | (3,16) | f | 10 | f | + wood | 1 | RUM_CAT_NORM_KEY | (3,36) | f | 6 | f | + wood | 1 | RUM_CAT_NORM_KEY | (4,24) | f | 10 | f | + wood | 1 | RUM_CAT_NORM_KEY | (4,44) | f | 6 | f | + wood | 1 | RUM_CAT_NORM_KEY | (5,31) | f | 10 | f | + wouldn | 1 | RUM_CAT_NORM_KEY | (0,17) | f | 1A,6 | f | + wouldn | 1 | RUM_CAT_NORM_KEY | (1,26) | f | 1A,6 | f | + wouldn | 1 | RUM_CAT_NORM_KEY | (2,34) | f | 1A,6 | f | + wouldn | 1 | RUM_CAT_NORM_KEY | (3,43) | f | 1A,6 | f | + wouldn | 1 | RUM_CAT_NORM_KEY | (5,6) | f | 1A,6 | f | + write | 1 | RUM_CAT_NORM_KEY | | | | t | 21 + wrote | 1 | RUM_CAT_NORM_KEY | (0,7) | f | 1A,8 | f | + wrote | 1 | RUM_CAT_NORM_KEY | (1,16) | f | 1A,8 | f | + wrote | 1 | RUM_CAT_NORM_KEY | (2,24) | f | 1A,8 | f | + wrote | 1 | RUM_CAT_NORM_KEY | (3,33) | f | 1A,8 | f | + wrote | 1 | RUM_CAT_NORM_KEY | (4,41) | f | 1A,8 | f | + xxx | 1 | RUM_CAT_NORM_KEY | (1,9) | f | 2 | f | + xxx | 1 | RUM_CAT_NORM_KEY | (2,17) | f | 2 | f | + xxx | 1 | RUM_CAT_NORM_KEY | (3,26) | f | 2 | f | + xxx | 1 | RUM_CAT_NORM_KEY | (4,34) | f | 2 | f | + xxx | 1 | RUM_CAT_NORM_KEY | (5,41) | f | 2 | f | + zum | 1 | RUM_CAT_NORM_KEY | (0,20) | f | 6 | f | + zum | 1 | RUM_CAT_NORM_KEY | (1,29) | f | 6 | f | + zum | 1 | RUM_CAT_NORM_KEY | (2,37) | f | 6 | f | + zum | 1 | RUM_CAT_NORM_KEY | (4,2) | f | 6 | f | + zum | 1 | RUM_CAT_NORM_KEY | (5,9) | f | 6 | f | + | 1 | RUM_CAT_EMPTY_ITEM | (0,24) | t | | f | +(551 rows) + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 21); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 4 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_weight_idx', 21); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+----------+------------------+----------------------------------------------------- + t | | (0,0) | t | + f | 23 | (39,43) | f | high key positions in posting tree is not supported + f | 22 | (74,9) | f | high key positions in posting tree is not supported + f | 24 | (98,9) | f | high key positions in posting tree is not supported + f | 25 | (0,0) | t | +(5 rows) + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 22); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 23 | 24 | 1471 | 13 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_weight_idx', 22); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+----------+------------------+----------------------------------------------------- + t | (74,9) | f | high key positions in posting tree is not supported + f | (40,1) | f | 1A,9 + f | (40,2) | f | 1A,9 + f | (40,3) | f | 1A,9 + f | (40,4) | f | 1A,9 + f | (40,5) | f | 1A,9 + f | (40,6) | f | 1A,9 + f | (40,7) | f | 1A,9 + f | (40,8) | f | 1A,9 + f | (40,9) | f | 1A,9 + f | (40,10) | f | 1A,9 + f | (40,11) | f | 1A,9 + f | (40,12) | f | 1A,9 + f | (40,13) | f | 1A,9 + f | (40,14) | f | 1A,9 + f | (40,15) | f | 1A,9 + f | (40,16) | f | 1A,9 + f | (40,17) | f | 1A,9 + f | (40,18) | f | 1A,9 + f | (40,19) | f | 1A,9 + f | (40,20) | f | 1A,9 + f | (40,21) | f | 1A,9 + f | (40,22) | f | 1A,9 + f | (40,23) | f | 1A,9 + f | (40,24) | f | 1A,9 + f | (40,25) | f | 1A,9 + f | (40,26) | f | 1A,9 + f | (40,27) | f | 1A,9 + f | (40,28) | f | 1A,9 + f | (40,29) | f | 1A,9 + f | (40,30) | f | 1A,9 + f | (40,31) | f | 1A,9 + f | (40,32) | f | 1A,9 + f | (40,33) | f | 1A,9 + f | (40,34) | f | 1A,9 + f | (40,35) | f | 1A,9 + f | (40,36) | f | 1A,9 + f | (40,37) | f | 1A,9 + f | (40,38) | f | 1A,9 + f | (40,39) | f | 1A,9 + f | (40,40) | f | 1A,9 + f | (40,41) | f | 1A,9 + f | (40,42) | f | 1A,9 + f | (40,43) | f | 1A,9 + f | (41,1) | f | 1A,9 + f | (41,2) | f | 1A,9 + f | (41,3) | f | 1A,9 + f | (41,4) | f | 1A,9 + f | (41,5) | f | 1A,9 + f | (41,6) | f | 1A,9 + f | (41,7) | f | 1A,9 + f | (41,8) | f | 1A,9 + f | (41,9) | f | 1A,9 + f | (41,10) | f | 1A,9 + f | (41,11) | f | 1A,9 + f | (41,12) | f | 1A,9 + f | (41,13) | f | 1A,9 + f | (41,14) | f | 1A,9 + f | (41,15) | f | 1A,9 + f | (41,16) | f | 1A,9 + f | (41,17) | f | 1A,9 + f | (41,18) | f | 1A,9 + f | (41,19) | f | 1A,9 + f | (41,20) | f | 1A,9 + f | (41,21) | f | 1A,9 + f | (41,22) | f | 1A,9 + f | (41,23) | f | 1A,9 + f | (41,24) | f | 1A,9 + f | (41,25) | f | 1A,9 + f | (41,26) | f | 1A,9 + f | (41,27) | f | 1A,9 + f | (41,28) | f | 1A,9 + f | (41,29) | f | 1A,9 + f | (41,30) | f | 1A,9 + f | (41,31) | f | 1A,9 + f | (41,32) | f | 1A,9 + f | (41,33) | f | 1A,9 + f | (41,34) | f | 1A,9 + f | (41,35) | f | 1A,9 + f | (41,36) | f | 1A,9 + f | (41,37) | f | 1A,9 + f | (41,38) | f | 1A,9 + f | (41,39) | f | 1A,9 + f | (41,40) | f | 1A,9 + f | (41,41) | f | 1A,9 + f | (41,42) | f | 1A,9 + f | (41,43) | f | 1A,9 + f | (42,1) | f | 1A,9 + f | (42,2) | f | 1A,9 + f | (42,3) | f | 1A,9 + f | (42,4) | f | 1A,9 + f | (42,5) | f | 1A,9 + f | (42,6) | f | 1A,9 + f | (42,7) | f | 1A,9 + f | (42,8) | f | 1A,9 + f | (42,9) | f | 1A,9 + f | (42,10) | f | 1A,9 + f | (42,11) | f | 1A,9 + f | (42,12) | f | 1A,9 + f | (42,13) | f | 1A,9 + f | (42,14) | f | 1A,9 + f | (42,15) | f | 1A,9 + f | (42,16) | f | 1A,9 + f | (42,17) | f | 1A,9 + f | (42,18) | f | 1A,9 + f | (42,19) | f | 1A,9 + f | (42,20) | f | 1A,9 + f | (42,21) | f | 1A,9 + f | (42,22) | f | 1A,9 + f | (42,23) | f | 1A,9 + f | (42,24) | f | 1A,9 + f | (42,25) | f | 1A,9 + f | (42,26) | f | 1A,9 + f | (42,27) | f | 1A,9 + f | (42,28) | f | 1A,9 + f | (42,29) | f | 1A,9 + f | (42,30) | f | 1A,9 + f | (42,31) | f | 1A,9 + f | (42,32) | f | 1A,9 + f | (42,33) | f | 1A,9 + f | (42,34) | f | 1A,9 + f | (42,35) | f | 1A,9 + f | (42,36) | f | 1A,9 + f | (42,37) | f | 1A,9 + f | (42,38) | f | 1A,9 + f | (42,39) | f | 1A,9 + f | (42,40) | f | 1A,9 + f | (42,41) | f | 1A,9 + f | (42,42) | f | 1A,9 + f | (42,43) | f | 1A,9 + f | (43,1) | f | 1A,9 + f | (43,2) | f | 1A,9 + f | (43,3) | f | 1A,9 + f | (43,4) | f | 1A,9 + f | (43,5) | f | 1A,9 + f | (43,6) | f | 1A,9 + f | (43,7) | f | 1A,9 + f | (43,8) | f | 1A,9 + f | (43,9) | f | 1A,9 + f | (43,10) | f | 1A,9 + f | (43,11) | f | 1A,9 + f | (43,12) | f | 1A,9 + f | (43,13) | f | 1A,9 + f | (43,14) | f | 1A,9 + f | (43,15) | f | 1A,9 + f | (43,16) | f | 1A,9 + f | (43,17) | f | 1A,9 + f | (43,18) | f | 1A,9 + f | (43,19) | f | 1A,9 + f | (43,20) | f | 1A,9 + f | (43,21) | f | 1A,9 + f | (43,22) | f | 1A,9 + f | (43,23) | f | 1A,9 + f | (43,24) | f | 1A,9 + f | (43,25) | f | 1A,9 + f | (43,26) | f | 1A,9 + f | (43,27) | f | 1A,9 + f | (43,28) | f | 1A,9 + f | (43,29) | f | 1A,9 + f | (43,30) | f | 1A,9 + f | (43,31) | f | 1A,9 + f | (43,32) | f | 1A,9 + f | (43,33) | f | 1A,9 + f | (43,34) | f | 1A,9 + f | (43,35) | f | 1A,9 + f | (43,36) | f | 1A,9 + f | (43,37) | f | 1A,9 + f | (43,38) | f | 1A,9 + f | (43,39) | f | 1A,9 + f | (43,40) | f | 1A,9 + f | (43,41) | f | 1A,9 + f | (43,42) | f | 1A,9 + f | (43,43) | f | 1A,9 + f | (44,1) | f | 1A,9 + f | (44,2) | f | 1A,9 + f | (44,3) | f | 1A,9 + f | (44,4) | f | 1A,9 + f | (44,5) | f | 1A,9 + f | (44,6) | f | 1A,9 + f | (44,7) | f | 1A,9 + f | (44,8) | f | 1A,9 + f | (44,9) | f | 1A,9 + f | (44,10) | f | 1A,9 + f | (44,11) | f | 1A,9 + f | (44,12) | f | 1A,9 + f | (44,13) | f | 1A,9 + f | (44,14) | f | 1A,9 + f | (44,15) | f | 1A,9 + f | (44,16) | f | 1A,9 + f | (44,17) | f | 1A,9 + f | (44,18) | f | 1A,9 + f | (44,19) | f | 1A,9 + f | (44,20) | f | 1A,9 + f | (44,21) | f | 1A,9 + f | (44,22) | f | 1A,9 + f | (44,23) | f | 1A,9 + f | (44,24) | f | 1A,9 + f | (44,25) | f | 1A,9 + f | (44,26) | f | 1A,9 + f | (44,27) | f | 1A,9 + f | (44,28) | f | 1A,9 + f | (44,29) | f | 1A,9 + f | (44,30) | f | 1A,9 + f | (44,31) | f | 1A,9 + f | (44,32) | f | 1A,9 + f | (44,33) | f | 1A,9 + f | (44,34) | f | 1A,9 + f | (44,35) | f | 1A,9 + f | (44,36) | f | 1A,9 + f | (44,37) | f | 1A,9 + f | (44,38) | f | 1A,9 + f | (44,39) | f | 1A,9 + f | (44,40) | f | 1A,9 + f | (44,41) | f | 1A,9 + f | (44,42) | f | 1A,9 + f | (44,43) | f | 1A,9 + f | (45,1) | f | 1A,9 + f | (45,2) | f | 1A,9 + f | (45,3) | f | 1A,9 + f | (45,4) | f | 1A,9 + f | (45,5) | f | 1A,9 + f | (45,6) | f | 1A,9 + f | (45,7) | f | 1A,9 + f | (45,8) | f | 1A,9 + f | (45,9) | f | 1A,9 + f | (45,10) | f | 1A,9 + f | (45,11) | f | 1A,9 + f | (45,12) | f | 1A,9 + f | (45,13) | f | 1A,9 + f | (45,14) | f | 1A,9 + f | (45,15) | f | 1A,9 + f | (45,16) | f | 1A,9 + f | (45,17) | f | 1A,9 + f | (45,18) | f | 1A,9 + f | (45,19) | f | 1A,9 + f | (45,20) | f | 1A,9 + f | (45,21) | f | 1A,9 + f | (45,22) | f | 1A,9 + f | (45,23) | f | 1A,9 + f | (45,24) | f | 1A,9 + f | (45,25) | f | 1A,9 + f | (45,26) | f | 1A,9 + f | (45,27) | f | 1A,9 + f | (45,28) | f | 1A,9 + f | (45,29) | f | 1A,9 + f | (45,30) | f | 1A,9 + f | (45,31) | f | 1A,9 + f | (45,32) | f | 1A,9 + f | (45,33) | f | 1A,9 + f | (45,34) | f | 1A,9 + f | (45,35) | f | 1A,9 + f | (45,36) | f | 1A,9 + f | (45,37) | f | 1A,9 + f | (45,38) | f | 1A,9 + f | (45,39) | f | 1A,9 + f | (45,40) | f | 1A,9 + f | (45,41) | f | 1A,9 + f | (45,42) | f | 1A,9 + f | (45,43) | f | 1A,9 + f | (46,1) | f | 1A,9 + f | (46,2) | f | 1A,9 + f | (46,3) | f | 1A,9 + f | (46,4) | f | 1A,9 + f | (46,5) | f | 1A,9 + f | (46,6) | f | 1A,9 + f | (46,7) | f | 1A,9 + f | (46,8) | f | 1A,9 + f | (46,9) | f | 1A,9 + f | (46,10) | f | 1A,9 + f | (46,11) | f | 1A,9 + f | (46,12) | f | 1A,9 + f | (46,13) | f | 1A,9 + f | (46,14) | f | 1A,9 + f | (46,15) | f | 1A,9 + f | (46,16) | f | 1A,9 + f | (46,17) | f | 1A,9 + f | (46,18) | f | 1A,9 + f | (46,19) | f | 1A,9 + f | (46,20) | f | 1A,9 + f | (46,21) | f | 1A,9 + f | (46,22) | f | 1A,9 + f | (46,23) | f | 1A,9 + f | (46,24) | f | 1A,9 + f | (46,25) | f | 1A,9 + f | (46,26) | f | 1A,9 + f | (46,27) | f | 1A,9 + f | (46,28) | f | 1A,9 + f | (46,29) | f | 1A,9 + f | (46,30) | f | 1A,9 + f | (46,31) | f | 1A,9 + f | (46,32) | f | 1A,9 + f | (46,33) | f | 1A,9 + f | (46,34) | f | 1A,9 + f | (46,35) | f | 1A,9 + f | (46,36) | f | 1A,9 + f | (46,37) | f | 1A,9 + f | (46,38) | f | 1A,9 + f | (46,39) | f | 1A,9 + f | (46,40) | f | 1A,9 + f | (46,41) | f | 1A,9 + f | (46,42) | f | 1A,9 + f | (46,43) | f | 1A,9 + f | (47,1) | f | 1A,9 + f | (47,2) | f | 1A,9 + f | (47,3) | f | 1A,9 + f | (47,4) | f | 1A,9 + f | (47,5) | f | 1A,9 + f | (47,6) | f | 1A,9 + f | (47,7) | f | 1A,9 + f | (47,8) | f | 1A,9 + f | (47,9) | f | 1A,9 + f | (47,10) | f | 1A,9 + f | (47,11) | f | 1A,9 + f | (47,12) | f | 1A,9 + f | (47,13) | f | 1A,9 + f | (47,14) | f | 1A,9 + f | (47,15) | f | 1A,9 + f | (47,16) | f | 1A,9 + f | (47,17) | f | 1A,9 + f | (47,18) | f | 1A,9 + f | (47,19) | f | 1A,9 + f | (47,20) | f | 1A,9 + f | (47,21) | f | 1A,9 + f | (47,22) | f | 1A,9 + f | (47,23) | f | 1A,9 + f | (47,24) | f | 1A,9 + f | (47,25) | f | 1A,9 + f | (47,26) | f | 1A,9 + f | (47,27) | f | 1A,9 + f | (47,28) | f | 1A,9 + f | (47,29) | f | 1A,9 + f | (47,30) | f | 1A,9 + f | (47,31) | f | 1A,9 + f | (47,32) | f | 1A,9 + f | (47,33) | f | 1A,9 + f | (47,34) | f | 1A,9 + f | (47,35) | f | 1A,9 + f | (47,36) | f | 1A,9 + f | (47,37) | f | 1A,9 + f | (47,38) | f | 1A,9 + f | (47,39) | f | 1A,9 + f | (47,40) | f | 1A,9 + f | (47,41) | f | 1A,9 + f | (47,42) | f | 1A,9 + f | (47,43) | f | 1A,9 + f | (48,1) | f | 1A,9 + f | (48,2) | f | 1A,9 + f | (48,3) | f | 1A,9 + f | (48,4) | f | 1A,9 + f | (48,5) | f | 1A,9 + f | (48,6) | f | 1A,9 + f | (48,7) | f | 1A,9 + f | (48,8) | f | 1A,9 + f | (48,9) | f | 1A,9 + f | (48,10) | f | 1A,9 + f | (48,11) | f | 1A,9 + f | (48,12) | f | 1A,9 + f | (48,13) | f | 1A,9 + f | (48,14) | f | 1A,9 + f | (48,15) | f | 1A,9 + f | (48,16) | f | 1A,9 + f | (48,17) | f | 1A,9 + f | (48,18) | f | 1A,9 + f | (48,19) | f | 1A,9 + f | (48,20) | f | 1A,9 + f | (48,21) | f | 1A,9 + f | (48,22) | f | 1A,9 + f | (48,23) | f | 1A,9 + f | (48,24) | f | 1A,9 + f | (48,25) | f | 1A,9 + f | (48,26) | f | 1A,9 + f | (48,27) | f | 1A,9 + f | (48,28) | f | 1A,9 + f | (48,29) | f | 1A,9 + f | (48,30) | f | 1A,9 + f | (48,31) | f | 1A,9 + f | (48,32) | f | 1A,9 + f | (48,33) | f | 1A,9 + f | (48,34) | f | 1A,9 + f | (48,35) | f | 1A,9 + f | (48,36) | f | 1A,9 + f | (48,37) | f | 1A,9 + f | (48,38) | f | 1A,9 + f | (48,39) | f | 1A,9 + f | (48,40) | f | 1A,9 + f | (48,41) | f | 1A,9 + f | (48,42) | f | 1A,9 + f | (48,43) | f | 1A,9 + f | (49,1) | f | 1A,9 + f | (49,2) | f | 1A,9 + f | (49,3) | f | 1A,9 + f | (49,4) | f | 1A,9 + f | (49,5) | f | 1A,9 + f | (49,6) | f | 1A,9 + f | (49,7) | f | 1A,9 + f | (49,8) | f | 1A,9 + f | (49,9) | f | 1A,9 + f | (49,10) | f | 1A,9 + f | (49,11) | f | 1A,9 + f | (49,12) | f | 1A,9 + f | (49,13) | f | 1A,9 + f | (49,14) | f | 1A,9 + f | (49,15) | f | 1A,9 + f | (49,16) | f | 1A,9 + f | (49,17) | f | 1A,9 + f | (49,18) | f | 1A,9 + f | (49,19) | f | 1A,9 + f | (49,20) | f | 1A,9 + f | (49,21) | f | 1A,9 + f | (49,22) | f | 1A,9 + f | (49,23) | f | 1A,9 + f | (49,24) | f | 1A,9 + f | (49,25) | f | 1A,9 + f | (49,26) | f | 1A,9 + f | (49,27) | f | 1A,9 + f | (49,28) | f | 1A,9 + f | (49,29) | f | 1A,9 + f | (49,30) | f | 1A,9 + f | (49,31) | f | 1A,9 + f | (49,32) | f | 1A,9 + f | (49,33) | f | 1A,9 + f | (49,34) | f | 1A,9 + f | (49,35) | f | 1A,9 + f | (49,36) | f | 1A,9 + f | (49,37) | f | 1A,9 + f | (49,38) | f | 1A,9 + f | (49,39) | f | 1A,9 + f | (49,40) | f | 1A,9 + f | (49,41) | f | 1A,9 + f | (49,42) | f | 1A,9 + f | (49,43) | f | 1A,9 + f | (50,1) | f | 1A,9 + f | (50,2) | f | 1A,9 + f | (50,3) | f | 1A,9 + f | (50,4) | f | 1A,9 + f | (50,5) | f | 1A,9 + f | (50,6) | f | 1A,9 + f | (50,7) | f | 1A,9 + f | (50,8) | f | 1A,9 + f | (50,9) | f | 1A,9 + f | (50,10) | f | 1A,9 + f | (50,11) | f | 1A,9 + f | (50,12) | f | 1A,9 + f | (50,13) | f | 1A,9 + f | (50,14) | f | 1A,9 + f | (50,15) | f | 1A,9 + f | (50,16) | f | 1A,9 + f | (50,17) | f | 1A,9 + f | (50,18) | f | 1A,9 + f | (50,19) | f | 1A,9 + f | (50,20) | f | 1A,9 + f | (50,21) | f | 1A,9 + f | (50,22) | f | 1A,9 + f | (50,23) | f | 1A,9 + f | (50,24) | f | 1A,9 + f | (50,25) | f | 1A,9 + f | (50,26) | f | 1A,9 + f | (50,27) | f | 1A,9 + f | (50,28) | f | 1A,9 + f | (50,29) | f | 1A,9 + f | (50,30) | f | 1A,9 + f | (50,31) | f | 1A,9 + f | (50,32) | f | 1A,9 + f | (50,33) | f | 1A,9 + f | (50,34) | f | 1A,9 + f | (50,35) | f | 1A,9 + f | (50,36) | f | 1A,9 + f | (50,37) | f | 1A,9 + f | (50,38) | f | 1A,9 + f | (50,39) | f | 1A,9 + f | (50,40) | f | 1A,9 + f | (50,41) | f | 1A,9 + f | (50,42) | f | 1A,9 + f | (50,43) | f | 1A,9 + f | (51,1) | f | 1A,9 + f | (51,2) | f | 1A,9 + f | (51,3) | f | 1A,9 + f | (51,4) | f | 1A,9 + f | (51,5) | f | 1A,9 + f | (51,6) | f | 1A,9 + f | (51,7) | f | 1A,9 + f | (51,8) | f | 1A,9 + f | (51,9) | f | 1A,9 + f | (51,10) | f | 1A,9 + f | (51,11) | f | 1A,9 + f | (51,12) | f | 1A,9 + f | (51,13) | f | 1A,9 + f | (51,14) | f | 1A,9 + f | (51,15) | f | 1A,9 + f | (51,16) | f | 1A,9 + f | (51,17) | f | 1A,9 + f | (51,18) | f | 1A,9 + f | (51,19) | f | 1A,9 + f | (51,20) | f | 1A,9 + f | (51,21) | f | 1A,9 + f | (51,22) | f | 1A,9 + f | (51,23) | f | 1A,9 + f | (51,24) | f | 1A,9 + f | (51,25) | f | 1A,9 + f | (51,26) | f | 1A,9 + f | (51,27) | f | 1A,9 + f | (51,28) | f | 1A,9 + f | (51,29) | f | 1A,9 + f | (51,30) | f | 1A,9 + f | (51,31) | f | 1A,9 + f | (51,32) | f | 1A,9 + f | (51,33) | f | 1A,9 + f | (51,34) | f | 1A,9 + f | (51,35) | f | 1A,9 + f | (51,36) | f | 1A,9 + f | (51,37) | f | 1A,9 + f | (51,38) | f | 1A,9 + f | (51,39) | f | 1A,9 + f | (51,40) | f | 1A,9 + f | (51,41) | f | 1A,9 + f | (51,42) | f | 1A,9 + f | (51,43) | f | 1A,9 + f | (52,1) | f | 1A,9 + f | (52,2) | f | 1A,9 + f | (52,3) | f | 1A,9 + f | (52,4) | f | 1A,9 + f | (52,5) | f | 1A,9 + f | (52,6) | f | 1A,9 + f | (52,7) | f | 1A,9 + f | (52,8) | f | 1A,9 + f | (52,9) | f | 1A,9 + f | (52,10) | f | 1A,9 + f | (52,11) | f | 1A,9 + f | (52,12) | f | 1A,9 + f | (52,13) | f | 1A,9 + f | (52,14) | f | 1A,9 + f | (52,15) | f | 1A,9 + f | (52,16) | f | 1A,9 + f | (52,17) | f | 1A,9 + f | (52,18) | f | 1A,9 + f | (52,19) | f | 1A,9 + f | (52,20) | f | 1A,9 + f | (52,21) | f | 1A,9 + f | (52,22) | f | 1A,9 + f | (52,23) | f | 1A,9 + f | (52,24) | f | 1A,9 + f | (52,25) | f | 1A,9 + f | (52,26) | f | 1A,9 + f | (52,27) | f | 1A,9 + f | (52,28) | f | 1A,9 + f | (52,29) | f | 1A,9 + f | (52,30) | f | 1A,9 + f | (52,31) | f | 1A,9 + f | (52,32) | f | 1A,9 + f | (52,33) | f | 1A,9 + f | (52,34) | f | 1A,9 + f | (52,35) | f | 1A,9 + f | (52,36) | f | 1A,9 + f | (52,37) | f | 1A,9 + f | (52,38) | f | 1A,9 + f | (52,39) | f | 1A,9 + f | (52,40) | f | 1A,9 + f | (52,41) | f | 1A,9 + f | (52,42) | f | 1A,9 + f | (52,43) | f | 1A,9 + f | (53,1) | f | 1A,9 + f | (53,2) | f | 1A,9 + f | (53,3) | f | 1A,9 + f | (53,4) | f | 1A,9 + f | (53,5) | f | 1A,9 + f | (53,6) | f | 1A,9 + f | (53,7) | f | 1A,9 + f | (53,8) | f | 1A,9 + f | (53,9) | f | 1A,9 + f | (53,10) | f | 1A,9 + f | (53,11) | f | 1A,9 + f | (53,12) | f | 1A,9 + f | (53,13) | f | 1A,9 + f | (53,14) | f | 1A,9 + f | (53,15) | f | 1A,9 + f | (53,16) | f | 1A,9 + f | (53,17) | f | 1A,9 + f | (53,18) | f | 1A,9 + f | (53,19) | f | 1A,9 + f | (53,20) | f | 1A,9 + f | (53,21) | f | 1A,9 + f | (53,22) | f | 1A,9 + f | (53,23) | f | 1A,9 + f | (53,24) | f | 1A,9 + f | (53,25) | f | 1A,9 + f | (53,26) | f | 1A,9 + f | (53,27) | f | 1A,9 + f | (53,28) | f | 1A,9 + f | (53,29) | f | 1A,9 + f | (53,30) | f | 1A,9 + f | (53,31) | f | 1A,9 + f | (53,32) | f | 1A,9 + f | (53,33) | f | 1A,9 + f | (53,34) | f | 1A,9 + f | (53,35) | f | 1A,9 + f | (53,36) | f | 1A,9 + f | (53,37) | f | 1A,9 + f | (53,38) | f | 1A,9 + f | (53,39) | f | 1A,9 + f | (53,40) | f | 1A,9 + f | (53,41) | f | 1A,9 + f | (53,42) | f | 1A,9 + f | (53,43) | f | 1A,9 + f | (54,1) | f | 1A,9 + f | (54,2) | f | 1A,9 + f | (54,3) | f | 1A,9 + f | (54,4) | f | 1A,9 + f | (54,5) | f | 1A,9 + f | (54,6) | f | 1A,9 + f | (54,7) | f | 1A,9 + f | (54,8) | f | 1A,9 + f | (54,9) | f | 1A,9 + f | (54,10) | f | 1A,9 + f | (54,11) | f | 1A,9 + f | (54,12) | f | 1A,9 + f | (54,13) | f | 1A,9 + f | (54,14) | f | 1A,9 + f | (54,15) | f | 1A,9 + f | (54,16) | f | 1A,9 + f | (54,17) | f | 1A,9 + f | (54,18) | f | 1A,9 + f | (54,19) | f | 1A,9 + f | (54,20) | f | 1A,9 + f | (54,21) | f | 1A,9 + f | (54,22) | f | 1A,9 + f | (54,23) | f | 1A,9 + f | (54,24) | f | 1A,9 + f | (54,25) | f | 1A,9 + f | (54,26) | f | 1A,9 + f | (54,27) | f | 1A,9 + f | (54,28) | f | 1A,9 + f | (54,29) | f | 1A,9 + f | (54,30) | f | 1A,9 + f | (54,31) | f | 1A,9 + f | (54,32) | f | 1A,9 + f | (54,33) | f | 1A,9 + f | (54,34) | f | 1A,9 + f | (54,35) | f | 1A,9 + f | (54,36) | f | 1A,9 + f | (54,37) | f | 1A,9 + f | (54,38) | f | 1A,9 + f | (54,39) | f | 1A,9 + f | (54,40) | f | 1A,9 + f | (54,41) | f | 1A,9 + f | (54,42) | f | 1A,9 + f | (54,43) | f | 1A,9 + f | (55,1) | f | 1A,9 + f | (55,2) | f | 1A,9 + f | (55,3) | f | 1A,9 + f | (55,4) | f | 1A,9 + f | (55,5) | f | 1A,9 + f | (55,6) | f | 1A,9 + f | (55,7) | f | 1A,9 + f | (55,8) | f | 1A,9 + f | (55,9) | f | 1A,9 + f | (55,10) | f | 1A,9 + f | (55,11) | f | 1A,9 + f | (55,12) | f | 1A,9 + f | (55,13) | f | 1A,9 + f | (55,14) | f | 1A,9 + f | (55,15) | f | 1A,9 + f | (55,16) | f | 1A,9 + f | (55,17) | f | 1A,9 + f | (55,18) | f | 1A,9 + f | (55,19) | f | 1A,9 + f | (55,20) | f | 1A,9 + f | (55,21) | f | 1A,9 + f | (55,22) | f | 1A,9 + f | (55,23) | f | 1A,9 + f | (55,24) | f | 1A,9 + f | (55,25) | f | 1A,9 + f | (55,26) | f | 1A,9 + f | (55,27) | f | 1A,9 + f | (55,28) | f | 1A,9 + f | (55,29) | f | 1A,9 + f | (55,30) | f | 1A,9 + f | (55,31) | f | 1A,9 + f | (55,32) | f | 1A,9 + f | (55,33) | f | 1A,9 + f | (55,34) | f | 1A,9 + f | (55,35) | f | 1A,9 + f | (55,36) | f | 1A,9 + f | (55,37) | f | 1A,9 + f | (55,38) | f | 1A,9 + f | (55,39) | f | 1A,9 + f | (55,40) | f | 1A,9 + f | (55,41) | f | 1A,9 + f | (55,42) | f | 1A,9 + f | (55,43) | f | 1A,9 + f | (56,1) | f | 1A,9 + f | (56,2) | f | 1A,9 + f | (56,3) | f | 1A,9 + f | (56,4) | f | 1A,9 + f | (56,5) | f | 1A,9 + f | (56,6) | f | 1A,9 + f | (56,7) | f | 1A,9 + f | (56,8) | f | 1A,9 + f | (56,9) | f | 1A,9 + f | (56,10) | f | 1A,9 + f | (56,11) | f | 1A,9 + f | (56,12) | f | 1A,9 + f | (56,13) | f | 1A,9 + f | (56,14) | f | 1A,9 + f | (56,15) | f | 1A,9 + f | (56,16) | f | 1A,9 + f | (56,17) | f | 1A,9 + f | (56,18) | f | 1A,9 + f | (56,19) | f | 1A,9 + f | (56,20) | f | 1A,9 + f | (56,21) | f | 1A,9 + f | (56,22) | f | 1A,9 + f | (56,23) | f | 1A,9 + f | (56,24) | f | 1A,9 + f | (56,25) | f | 1A,9 + f | (56,26) | f | 1A,9 + f | (56,27) | f | 1A,9 + f | (56,28) | f | 1A,9 + f | (56,29) | f | 1A,9 + f | (56,30) | f | 1A,9 + f | (56,31) | f | 1A,9 + f | (56,32) | f | 1A,9 + f | (56,33) | f | 1A,9 + f | (56,34) | f | 1A,9 + f | (56,35) | f | 1A,9 + f | (56,36) | f | 1A,9 + f | (56,37) | f | 1A,9 + f | (56,38) | f | 1A,9 + f | (56,39) | f | 1A,9 + f | (56,40) | f | 1A,9 + f | (56,41) | f | 1A,9 + f | (56,42) | f | 1A,9 + f | (56,43) | f | 1A,9 + f | (57,1) | f | 1A,9 + f | (57,2) | f | 1A,9 + f | (57,3) | f | 1A,9 + f | (57,4) | f | 1A,9 + f | (57,5) | f | 1A,9 + f | (57,6) | f | 1A,9 + f | (57,7) | f | 1A,9 + f | (57,8) | f | 1A,9 + f | (57,9) | f | 1A,9 + f | (57,10) | f | 1A,9 + f | (57,11) | f | 1A,9 + f | (57,12) | f | 1A,9 + f | (57,13) | f | 1A,9 + f | (57,14) | f | 1A,9 + f | (57,15) | f | 1A,9 + f | (57,16) | f | 1A,9 + f | (57,17) | f | 1A,9 + f | (57,18) | f | 1A,9 + f | (57,19) | f | 1A,9 + f | (57,20) | f | 1A,9 + f | (57,21) | f | 1A,9 + f | (57,22) | f | 1A,9 + f | (57,23) | f | 1A,9 + f | (57,24) | f | 1A,9 + f | (57,25) | f | 1A,9 + f | (57,26) | f | 1A,9 + f | (57,27) | f | 1A,9 + f | (57,28) | f | 1A,9 + f | (57,29) | f | 1A,9 + f | (57,30) | f | 1A,9 + f | (57,31) | f | 1A,9 + f | (57,32) | f | 1A,9 + f | (57,33) | f | 1A,9 + f | (57,34) | f | 1A,9 + f | (57,35) | f | 1A,9 + f | (57,36) | f | 1A,9 + f | (57,37) | f | 1A,9 + f | (57,38) | f | 1A,9 + f | (57,39) | f | 1A,9 + f | (57,40) | f | 1A,9 + f | (57,41) | f | 1A,9 + f | (57,42) | f | 1A,9 + f | (57,43) | f | 1A,9 + f | (58,1) | f | 1A,9 + f | (58,2) | f | 1A,9 + f | (58,3) | f | 1A,9 + f | (58,4) | f | 1A,9 + f | (58,5) | f | 1A,9 + f | (58,6) | f | 1A,9 + f | (58,7) | f | 1A,9 + f | (58,8) | f | 1A,9 + f | (58,9) | f | 1A,9 + f | (58,10) | f | 1A,9 + f | (58,11) | f | 1A,9 + f | (58,12) | f | 1A,9 + f | (58,13) | f | 1A,9 + f | (58,14) | f | 1A,9 + f | (58,15) | f | 1A,9 + f | (58,16) | f | 1A,9 + f | (58,17) | f | 1A,9 + f | (58,18) | f | 1A,9 + f | (58,19) | f | 1A,9 + f | (58,20) | f | 1A,9 + f | (58,21) | f | 1A,9 + f | (58,22) | f | 1A,9 + f | (58,23) | f | 1A,9 + f | (58,24) | f | 1A,9 + f | (58,25) | f | 1A,9 + f | (58,26) | f | 1A,9 + f | (58,27) | f | 1A,9 + f | (58,28) | f | 1A,9 + f | (58,29) | f | 1A,9 + f | (58,30) | f | 1A,9 + f | (58,31) | f | 1A,9 + f | (58,32) | f | 1A,9 + f | (58,33) | f | 1A,9 + f | (58,34) | f | 1A,9 + f | (58,35) | f | 1A,9 + f | (58,36) | f | 1A,9 + f | (58,37) | f | 1A,9 + f | (58,38) | f | 1A,9 + f | (58,39) | f | 1A,9 + f | (58,40) | f | 1A,9 + f | (58,41) | f | 1A,9 + f | (58,42) | f | 1A,9 + f | (58,43) | f | 1A,9 + f | (59,1) | f | 1A,9 + f | (59,2) | f | 1A,9 + f | (59,3) | f | 1A,9 + f | (59,4) | f | 1A,9 + f | (59,5) | f | 1A,9 + f | (59,6) | f | 1A,9 + f | (59,7) | f | 1A,9 + f | (59,8) | f | 1A,9 + f | (59,9) | f | 1A,9 + f | (59,10) | f | 1A,9 + f | (59,11) | f | 1A,9 + f | (59,12) | f | 1A,9 + f | (59,13) | f | 1A,9 + f | (59,14) | f | 1A,9 + f | (59,15) | f | 1A,9 + f | (59,16) | f | 1A,9 + f | (59,17) | f | 1A,9 + f | (59,18) | f | 1A,9 + f | (59,19) | f | 1A,9 + f | (59,20) | f | 1A,9 + f | (59,21) | f | 1A,9 + f | (59,22) | f | 1A,9 + f | (59,23) | f | 1A,9 + f | (59,24) | f | 1A,9 + f | (59,25) | f | 1A,9 + f | (59,26) | f | 1A,9 + f | (59,27) | f | 1A,9 + f | (59,28) | f | 1A,9 + f | (59,29) | f | 1A,9 + f | (59,30) | f | 1A,9 + f | (59,31) | f | 1A,9 + f | (59,32) | f | 1A,9 + f | (59,33) | f | 1A,9 + f | (59,34) | f | 1A,9 + f | (59,35) | f | 1A,9 + f | (59,36) | f | 1A,9 + f | (59,37) | f | 1A,9 + f | (59,38) | f | 1A,9 + f | (59,39) | f | 1A,9 + f | (59,40) | f | 1A,9 + f | (59,41) | f | 1A,9 + f | (59,42) | f | 1A,9 + f | (59,43) | f | 1A,9 + f | (60,1) | f | 1A,9 + f | (60,2) | f | 1A,9 + f | (60,3) | f | 1A,9 + f | (60,4) | f | 1A,9 + f | (60,5) | f | 1A,9 + f | (60,6) | f | 1A,9 + f | (60,7) | f | 1A,9 + f | (60,8) | f | 1A,9 + f | (60,9) | f | 1A,9 + f | (60,10) | f | 1A,9 + f | (60,11) | f | 1A,9 + f | (60,12) | f | 1A,9 + f | (60,13) | f | 1A,9 + f | (60,14) | f | 1A,9 + f | (60,15) | f | 1A,9 + f | (60,16) | f | 1A,9 + f | (60,17) | f | 1A,9 + f | (60,18) | f | 1A,9 + f | (60,19) | f | 1A,9 + f | (60,20) | f | 1A,9 + f | (60,21) | f | 1A,9 + f | (60,22) | f | 1A,9 + f | (60,23) | f | 1A,9 + f | (60,24) | f | 1A,9 + f | (60,25) | f | 1A,9 + f | (60,26) | f | 1A,9 + f | (60,27) | f | 1A,9 + f | (60,28) | f | 1A,9 + f | (60,29) | f | 1A,9 + f | (60,30) | f | 1A,9 + f | (60,31) | f | 1A,9 + f | (60,32) | f | 1A,9 + f | (60,33) | f | 1A,9 + f | (60,34) | f | 1A,9 + f | (60,35) | f | 1A,9 + f | (60,36) | f | 1A,9 + f | (60,37) | f | 1A,9 + f | (60,38) | f | 1A,9 + f | (60,39) | f | 1A,9 + f | (60,40) | f | 1A,9 + f | (60,41) | f | 1A,9 + f | (60,42) | f | 1A,9 + f | (60,43) | f | 1A,9 + f | (61,1) | f | 1A,9 + f | (61,2) | f | 1A,9 + f | (61,3) | f | 1A,9 + f | (61,4) | f | 1A,9 + f | (61,5) | f | 1A,9 + f | (61,6) | f | 1A,9 + f | (61,7) | f | 1A,9 + f | (61,8) | f | 1A,9 + f | (61,9) | f | 1A,9 + f | (61,10) | f | 1A,9 + f | (61,11) | f | 1A,9 + f | (61,12) | f | 1A,9 + f | (61,13) | f | 1A,9 + f | (61,14) | f | 1A,9 + f | (61,15) | f | 1A,9 + f | (61,16) | f | 1A,9 + f | (61,17) | f | 1A,9 + f | (61,18) | f | 1A,9 + f | (61,19) | f | 1A,9 + f | (61,20) | f | 1A,9 + f | (61,21) | f | 1A,9 + f | (61,22) | f | 1A,9 + f | (61,23) | f | 1A,9 + f | (61,24) | f | 1A,9 + f | (61,25) | f | 1A,9 + f | (61,26) | f | 1A,9 + f | (61,27) | f | 1A,9 + f | (61,28) | f | 1A,9 + f | (61,29) | f | 1A,9 + f | (61,30) | f | 1A,9 + f | (61,31) | f | 1A,9 + f | (61,32) | f | 1A,9 + f | (61,33) | f | 1A,9 + f | (61,34) | f | 1A,9 + f | (61,35) | f | 1A,9 + f | (61,36) | f | 1A,9 + f | (61,37) | f | 1A,9 + f | (61,38) | f | 1A,9 + f | (61,39) | f | 1A,9 + f | (61,40) | f | 1A,9 + f | (61,41) | f | 1A,9 + f | (61,42) | f | 1A,9 + f | (61,43) | f | 1A,9 + f | (62,1) | f | 1A,9 + f | (62,2) | f | 1A,9 + f | (62,3) | f | 1A,9 + f | (62,4) | f | 1A,9 + f | (62,5) | f | 1A,9 + f | (62,6) | f | 1A,9 + f | (62,7) | f | 1A,9 + f | (62,8) | f | 1A,9 + f | (62,9) | f | 1A,9 + f | (62,10) | f | 1A,9 + f | (62,11) | f | 1A,9 + f | (62,12) | f | 1A,9 + f | (62,13) | f | 1A,9 + f | (62,14) | f | 1A,9 + f | (62,15) | f | 1A,9 + f | (62,16) | f | 1A,9 + f | (62,17) | f | 1A,9 + f | (62,18) | f | 1A,9 + f | (62,19) | f | 1A,9 + f | (62,20) | f | 1A,9 + f | (62,21) | f | 1A,9 + f | (62,22) | f | 1A,9 + f | (62,23) | f | 1A,9 + f | (62,24) | f | 1A,9 + f | (62,25) | f | 1A,9 + f | (62,26) | f | 1A,9 + f | (62,27) | f | 1A,9 + f | (62,28) | f | 1A,9 + f | (62,29) | f | 1A,9 + f | (62,30) | f | 1A,9 + f | (62,31) | f | 1A,9 + f | (62,32) | f | 1A,9 + f | (62,33) | f | 1A,9 + f | (62,34) | f | 1A,9 + f | (62,35) | f | 1A,9 + f | (62,36) | f | 1A,9 + f | (62,37) | f | 1A,9 + f | (62,38) | f | 1A,9 + f | (62,39) | f | 1A,9 + f | (62,40) | f | 1A,9 + f | (62,41) | f | 1A,9 + f | (62,42) | f | 1A,9 + f | (62,43) | f | 1A,9 + f | (63,1) | f | 1A,9 + f | (63,2) | f | 1A,9 + f | (63,3) | f | 1A,9 + f | (63,4) | f | 1A,9 + f | (63,5) | f | 1A,9 + f | (63,6) | f | 1A,9 + f | (63,7) | f | 1A,9 + f | (63,8) | f | 1A,9 + f | (63,9) | f | 1A,9 + f | (63,10) | f | 1A,9 + f | (63,11) | f | 1A,9 + f | (63,12) | f | 1A,9 + f | (63,13) | f | 1A,9 + f | (63,14) | f | 1A,9 + f | (63,15) | f | 1A,9 + f | (63,16) | f | 1A,9 + f | (63,17) | f | 1A,9 + f | (63,18) | f | 1A,9 + f | (63,19) | f | 1A,9 + f | (63,20) | f | 1A,9 + f | (63,21) | f | 1A,9 + f | (63,22) | f | 1A,9 + f | (63,23) | f | 1A,9 + f | (63,24) | f | 1A,9 + f | (63,25) | f | 1A,9 + f | (63,26) | f | 1A,9 + f | (63,27) | f | 1A,9 + f | (63,28) | f | 1A,9 + f | (63,29) | f | 1A,9 + f | (63,30) | f | 1A,9 + f | (63,31) | f | 1A,9 + f | (63,32) | f | 1A,9 + f | (63,33) | f | 1A,9 + f | (63,34) | f | 1A,9 + f | (63,35) | f | 1A,9 + f | (63,36) | f | 1A,9 + f | (63,37) | f | 1A,9 + f | (63,38) | f | 1A,9 + f | (63,39) | f | 1A,9 + f | (63,40) | f | 1A,9 + f | (63,41) | f | 1A,9 + f | (63,42) | f | 1A,9 + f | (63,43) | f | 1A,9 + f | (64,1) | f | 1A,9 + f | (64,2) | f | 1A,9 + f | (64,3) | f | 1A,9 + f | (64,4) | f | 1A,9 + f | (64,5) | f | 1A,9 + f | (64,6) | f | 1A,9 + f | (64,7) | f | 1A,9 + f | (64,8) | f | 1A,9 + f | (64,9) | f | 1A,9 + f | (64,10) | f | 1A,9 + f | (64,11) | f | 1A,9 + f | (64,12) | f | 1A,9 + f | (64,13) | f | 1A,9 + f | (64,14) | f | 1A,9 + f | (64,15) | f | 1A,9 + f | (64,16) | f | 1A,9 + f | (64,17) | f | 1A,9 + f | (64,18) | f | 1A,9 + f | (64,19) | f | 1A,9 + f | (64,20) | f | 1A,9 + f | (64,21) | f | 1A,9 + f | (64,22) | f | 1A,9 + f | (64,23) | f | 1A,9 + f | (64,24) | f | 1A,9 + f | (64,25) | f | 1A,9 + f | (64,26) | f | 1A,9 + f | (64,27) | f | 1A,9 + f | (64,28) | f | 1A,9 + f | (64,29) | f | 1A,9 + f | (64,30) | f | 1A,9 + f | (64,31) | f | 1A,9 + f | (64,32) | f | 1A,9 + f | (64,33) | f | 1A,9 + f | (64,34) | f | 1A,9 + f | (64,35) | f | 1A,9 + f | (64,36) | f | 1A,9 + f | (64,37) | f | 1A,9 + f | (64,38) | f | 1A,9 + f | (64,39) | f | 1A,9 + f | (64,40) | f | 1A,9 + f | (64,41) | f | 1A,9 + f | (64,42) | f | 1A,9 + f | (64,43) | f | 1A,9 + f | (65,1) | f | 1A,9 + f | (65,2) | f | 1A,9 + f | (65,3) | f | 1A,9 + f | (65,4) | f | 1A,9 + f | (65,5) | f | 1A,9 + f | (65,6) | f | 1A,9 + f | (65,7) | f | 1A,9 + f | (65,8) | f | 1A,9 + f | (65,9) | f | 1A,9 + f | (65,10) | f | 1A,9 + f | (65,11) | f | 1A,9 + f | (65,12) | f | 1A,9 + f | (65,13) | f | 1A,9 + f | (65,14) | f | 1A,9 + f | (65,15) | f | 1A,9 + f | (65,16) | f | 1A,9 + f | (65,17) | f | 1A,9 + f | (65,18) | f | 1A,9 + f | (65,19) | f | 1A,9 + f | (65,20) | f | 1A,9 + f | (65,21) | f | 1A,9 + f | (65,22) | f | 1A,9 + f | (65,23) | f | 1A,9 + f | (65,24) | f | 1A,9 + f | (65,25) | f | 1A,9 + f | (65,26) | f | 1A,9 + f | (65,27) | f | 1A,9 + f | (65,28) | f | 1A,9 + f | (65,29) | f | 1A,9 + f | (65,30) | f | 1A,9 + f | (65,31) | f | 1A,9 + f | (65,32) | f | 1A,9 + f | (65,33) | f | 1A,9 + f | (65,34) | f | 1A,9 + f | (65,35) | f | 1A,9 + f | (65,36) | f | 1A,9 + f | (65,37) | f | 1A,9 + f | (65,38) | f | 1A,9 + f | (65,39) | f | 1A,9 + f | (65,40) | f | 1A,9 + f | (65,41) | f | 1A,9 + f | (65,42) | f | 1A,9 + f | (65,43) | f | 1A,9 + f | (66,1) | f | 1A,9 + f | (66,2) | f | 1A,9 + f | (66,3) | f | 1A,9 + f | (66,4) | f | 1A,9 + f | (66,5) | f | 1A,9 + f | (66,6) | f | 1A,9 + f | (66,7) | f | 1A,9 + f | (66,8) | f | 1A,9 + f | (66,9) | f | 1A,9 + f | (66,10) | f | 1A,9 + f | (66,11) | f | 1A,9 + f | (66,12) | f | 1A,9 + f | (66,13) | f | 1A,9 + f | (66,14) | f | 1A,9 + f | (66,15) | f | 1A,9 + f | (66,16) | f | 1A,9 + f | (66,17) | f | 1A,9 + f | (66,18) | f | 1A,9 + f | (66,19) | f | 1A,9 + f | (66,20) | f | 1A,9 + f | (66,21) | f | 1A,9 + f | (66,22) | f | 1A,9 + f | (66,23) | f | 1A,9 + f | (66,24) | f | 1A,9 + f | (66,25) | f | 1A,9 + f | (66,26) | f | 1A,9 + f | (66,27) | f | 1A,9 + f | (66,28) | f | 1A,9 + f | (66,29) | f | 1A,9 + f | (66,30) | f | 1A,9 + f | (66,31) | f | 1A,9 + f | (66,32) | f | 1A,9 + f | (66,33) | f | 1A,9 + f | (66,34) | f | 1A,9 + f | (66,35) | f | 1A,9 + f | (66,36) | f | 1A,9 + f | (66,37) | f | 1A,9 + f | (66,38) | f | 1A,9 + f | (66,39) | f | 1A,9 + f | (66,40) | f | 1A,9 + f | (66,41) | f | 1A,9 + f | (66,42) | f | 1A,9 + f | (66,43) | f | 1A,9 + f | (67,1) | f | 1A,9 + f | (67,2) | f | 1A,9 + f | (67,3) | f | 1A,9 + f | (67,4) | f | 1A,9 + f | (67,5) | f | 1A,9 + f | (67,6) | f | 1A,9 + f | (67,7) | f | 1A,9 + f | (67,8) | f | 1A,9 + f | (67,9) | f | 1A,9 + f | (67,10) | f | 1A,9 + f | (67,11) | f | 1A,9 + f | (67,12) | f | 1A,9 + f | (67,13) | f | 1A,9 + f | (67,14) | f | 1A,9 + f | (67,15) | f | 1A,9 + f | (67,16) | f | 1A,9 + f | (67,17) | f | 1A,9 + f | (67,18) | f | 1A,9 + f | (67,19) | f | 1A,9 + f | (67,20) | f | 1A,9 + f | (67,21) | f | 1A,9 + f | (67,22) | f | 1A,9 + f | (67,23) | f | 1A,9 + f | (67,24) | f | 1A,9 + f | (67,25) | f | 1A,9 + f | (67,26) | f | 1A,9 + f | (67,27) | f | 1A,9 + f | (67,28) | f | 1A,9 + f | (67,29) | f | 1A,9 + f | (67,30) | f | 1A,9 + f | (67,31) | f | 1A,9 + f | (67,32) | f | 1A,9 + f | (67,33) | f | 1A,9 + f | (67,34) | f | 1A,9 + f | (67,35) | f | 1A,9 + f | (67,36) | f | 1A,9 + f | (67,37) | f | 1A,9 + f | (67,38) | f | 1A,9 + f | (67,39) | f | 1A,9 + f | (67,40) | f | 1A,9 + f | (67,41) | f | 1A,9 + f | (67,42) | f | 1A,9 + f | (67,43) | f | 1A,9 + f | (68,1) | f | 1A,9 + f | (68,2) | f | 1A,9 + f | (68,3) | f | 1A,9 + f | (68,4) | f | 1A,9 + f | (68,5) | f | 1A,9 + f | (68,6) | f | 1A,9 + f | (68,7) | f | 1A,9 + f | (68,8) | f | 1A,9 + f | (68,9) | f | 1A,9 + f | (68,10) | f | 1A,9 + f | (68,11) | f | 1A,9 + f | (68,12) | f | 1A,9 + f | (68,13) | f | 1A,9 + f | (68,14) | f | 1A,9 + f | (68,15) | f | 1A,9 + f | (68,16) | f | 1A,9 + f | (68,17) | f | 1A,9 + f | (68,18) | f | 1A,9 + f | (68,19) | f | 1A,9 + f | (68,20) | f | 1A,9 + f | (68,21) | f | 1A,9 + f | (68,22) | f | 1A,9 + f | (68,23) | f | 1A,9 + f | (68,24) | f | 1A,9 + f | (68,25) | f | 1A,9 + f | (68,26) | f | 1A,9 + f | (68,27) | f | 1A,9 + f | (68,28) | f | 1A,9 + f | (68,29) | f | 1A,9 + f | (68,30) | f | 1A,9 + f | (68,31) | f | 1A,9 + f | (68,32) | f | 1A,9 + f | (68,33) | f | 1A,9 + f | (68,34) | f | 1A,9 + f | (68,35) | f | 1A,9 + f | (68,36) | f | 1A,9 + f | (68,37) | f | 1A,9 + f | (68,38) | f | 1A,9 + f | (68,39) | f | 1A,9 + f | (68,40) | f | 1A,9 + f | (68,41) | f | 1A,9 + f | (68,42) | f | 1A,9 + f | (68,43) | f | 1A,9 + f | (69,1) | f | 1A,9 + f | (69,2) | f | 1A,9 + f | (69,3) | f | 1A,9 + f | (69,4) | f | 1A,9 + f | (69,5) | f | 1A,9 + f | (69,6) | f | 1A,9 + f | (69,7) | f | 1A,9 + f | (69,8) | f | 1A,9 + f | (69,9) | f | 1A,9 + f | (69,10) | f | 1A,9 + f | (69,11) | f | 1A,9 + f | (69,12) | f | 1A,9 + f | (69,13) | f | 1A,9 + f | (69,14) | f | 1A,9 + f | (69,15) | f | 1A,9 + f | (69,16) | f | 1A,9 + f | (69,17) | f | 1A,9 + f | (69,18) | f | 1A,9 + f | (69,19) | f | 1A,9 + f | (69,20) | f | 1A,9 + f | (69,21) | f | 1A,9 + f | (69,22) | f | 1A,9 + f | (69,23) | f | 1A,9 + f | (69,24) | f | 1A,9 + f | (69,25) | f | 1A,9 + f | (69,26) | f | 1A,9 + f | (69,27) | f | 1A,9 + f | (69,28) | f | 1A,9 + f | (69,29) | f | 1A,9 + f | (69,30) | f | 1A,9 + f | (69,31) | f | 1A,9 + f | (69,32) | f | 1A,9 + f | (69,33) | f | 1A,9 + f | (69,34) | f | 1A,9 + f | (69,35) | f | 1A,9 + f | (69,36) | f | 1A,9 + f | (69,37) | f | 1A,9 + f | (69,38) | f | 1A,9 + f | (69,39) | f | 1A,9 + f | (69,40) | f | 1A,9 + f | (69,41) | f | 1A,9 + f | (69,42) | f | 1A,9 + f | (69,43) | f | 1A,9 + f | (70,1) | f | 1A,9 + f | (70,2) | f | 1A,9 + f | (70,3) | f | 1A,9 + f | (70,4) | f | 1A,9 + f | (70,5) | f | 1A,9 + f | (70,6) | f | 1A,9 + f | (70,7) | f | 1A,9 + f | (70,8) | f | 1A,9 + f | (70,9) | f | 1A,9 + f | (70,10) | f | 1A,9 + f | (70,11) | f | 1A,9 + f | (70,12) | f | 1A,9 + f | (70,13) | f | 1A,9 + f | (70,14) | f | 1A,9 + f | (70,15) | f | 1A,9 + f | (70,16) | f | 1A,9 + f | (70,17) | f | 1A,9 + f | (70,18) | f | 1A,9 + f | (70,19) | f | 1A,9 + f | (70,20) | f | 1A,9 + f | (70,21) | f | 1A,9 + f | (70,22) | f | 1A,9 + f | (70,23) | f | 1A,9 + f | (70,24) | f | 1A,9 + f | (70,25) | f | 1A,9 + f | (70,26) | f | 1A,9 + f | (70,27) | f | 1A,9 + f | (70,28) | f | 1A,9 + f | (70,29) | f | 1A,9 + f | (70,30) | f | 1A,9 + f | (70,31) | f | 1A,9 + f | (70,32) | f | 1A,9 + f | (70,33) | f | 1A,9 + f | (70,34) | f | 1A,9 + f | (70,35) | f | 1A,9 + f | (70,36) | f | 1A,9 + f | (70,37) | f | 1A,9 + f | (70,38) | f | 1A,9 + f | (70,39) | f | 1A,9 + f | (70,40) | f | 1A,9 + f | (70,41) | f | 1A,9 + f | (70,42) | f | 1A,9 + f | (70,43) | f | 1A,9 + f | (71,1) | f | 1A,9 + f | (71,2) | f | 1A,9 + f | (71,3) | f | 1A,9 + f | (71,4) | f | 1A,9 + f | (71,5) | f | 1A,9 + f | (71,6) | f | 1A,9 + f | (71,7) | f | 1A,9 + f | (71,8) | f | 1A,9 + f | (71,9) | f | 1A,9 + f | (71,10) | f | 1A,9 + f | (71,11) | f | 1A,9 + f | (71,12) | f | 1A,9 + f | (71,13) | f | 1A,9 + f | (71,14) | f | 1A,9 + f | (71,15) | f | 1A,9 + f | (71,16) | f | 1A,9 + f | (71,17) | f | 1A,9 + f | (71,18) | f | 1A,9 + f | (71,19) | f | 1A,9 + f | (71,20) | f | 1A,9 + f | (71,21) | f | 1A,9 + f | (71,22) | f | 1A,9 + f | (71,23) | f | 1A,9 + f | (71,24) | f | 1A,9 + f | (71,25) | f | 1A,9 + f | (71,26) | f | 1A,9 + f | (71,27) | f | 1A,9 + f | (71,28) | f | 1A,9 + f | (71,29) | f | 1A,9 + f | (71,30) | f | 1A,9 + f | (71,31) | f | 1A,9 + f | (71,32) | f | 1A,9 + f | (71,33) | f | 1A,9 + f | (71,34) | f | 1A,9 + f | (71,35) | f | 1A,9 + f | (71,36) | f | 1A,9 + f | (71,37) | f | 1A,9 + f | (71,38) | f | 1A,9 + f | (71,39) | f | 1A,9 + f | (71,40) | f | 1A,9 + f | (71,41) | f | 1A,9 + f | (71,42) | f | 1A,9 + f | (71,43) | f | 1A,9 + f | (72,1) | f | 1A,9 + f | (72,2) | f | 1A,9 + f | (72,3) | f | 1A,9 + f | (72,4) | f | 1A,9 + f | (72,5) | f | 1A,9 + f | (72,6) | f | 1A,9 + f | (72,7) | f | 1A,9 + f | (72,8) | f | 1A,9 + f | (72,9) | f | 1A,9 + f | (72,10) | f | 1A,9 + f | (72,11) | f | 1A,9 + f | (72,12) | f | 1A,9 + f | (72,13) | f | 1A,9 + f | (72,14) | f | 1A,9 + f | (72,15) | f | 1A,9 + f | (72,16) | f | 1A,9 + f | (72,17) | f | 1A,9 + f | (72,18) | f | 1A,9 + f | (72,19) | f | 1A,9 + f | (72,20) | f | 1A,9 + f | (72,21) | f | 1A,9 + f | (72,22) | f | 1A,9 + f | (72,23) | f | 1A,9 + f | (72,24) | f | 1A,9 + f | (72,25) | f | 1A,9 + f | (72,26) | f | 1A,9 + f | (72,27) | f | 1A,9 + f | (72,28) | f | 1A,9 + f | (72,29) | f | 1A,9 + f | (72,30) | f | 1A,9 + f | (72,31) | f | 1A,9 + f | (72,32) | f | 1A,9 + f | (72,33) | f | 1A,9 + f | (72,34) | f | 1A,9 + f | (72,35) | f | 1A,9 + f | (72,36) | f | 1A,9 + f | (72,37) | f | 1A,9 + f | (72,38) | f | 1A,9 + f | (72,39) | f | 1A,9 + f | (72,40) | f | 1A,9 + f | (72,41) | f | 1A,9 + f | (72,42) | f | 1A,9 + f | (72,43) | f | 1A,9 + f | (73,1) | f | 1A,9 + f | (73,2) | f | 1A,9 + f | (73,3) | f | 1A,9 + f | (73,4) | f | 1A,9 + f | (73,5) | f | 1A,9 + f | (73,6) | f | 1A,9 + f | (73,7) | f | 1A,9 + f | (73,8) | f | 1A,9 + f | (73,9) | f | 1A,9 + f | (73,10) | f | 1A,9 + f | (73,11) | f | 1A,9 + f | (73,12) | f | 1A,9 + f | (73,13) | f | 1A,9 + f | (73,14) | f | 1A,9 + f | (73,15) | f | 1A,9 + f | (73,16) | f | 1A,9 + f | (73,17) | f | 1A,9 + f | (73,18) | f | 1A,9 + f | (73,19) | f | 1A,9 + f | (73,20) | f | 1A,9 + f | (73,21) | f | 1A,9 + f | (73,22) | f | 1A,9 + f | (73,23) | f | 1A,9 + f | (73,24) | f | 1A,9 + f | (73,25) | f | 1A,9 + f | (73,26) | f | 1A,9 + f | (73,27) | f | 1A,9 + f | (73,28) | f | 1A,9 + f | (73,29) | f | 1A,9 + f | (73,30) | f | 1A,9 + f | (73,31) | f | 1A,9 + f | (73,32) | f | 1A,9 + f | (73,33) | f | 1A,9 + f | (73,34) | f | 1A,9 + f | (73,35) | f | 1A,9 + f | (73,36) | f | 1A,9 + f | (73,37) | f | 1A,9 + f | (73,38) | f | 1A,9 + f | (73,39) | f | 1A,9 + f | (73,40) | f | 1A,9 + f | (73,41) | f | 1A,9 + f | (73,42) | f | 1A,9 + f | (73,43) | f | 1A,9 + f | (74,1) | f | 1A,9 + f | (74,2) | f | 1A,9 + f | (74,3) | f | 1A,9 + f | (74,4) | f | 1A,9 + f | (74,5) | f | 1A,9 + f | (74,6) | f | 1A,9 + f | (74,7) | f | 1A,9 + f | (74,8) | f | 1A,9 + f | (74,9) | f | 1A,9 +(1472 rows) + +DROP TABLE test_debug_table_with_weight; +DROP FUNCTION fill_test_debug_weight_trigger; diff --git a/expected/rum_debug_funcs_1.out b/expected/rum_debug_funcs_1.out new file mode 100644 index 0000000000..a0ba9c6f6f --- /dev/null +++ b/expected/rum_debug_funcs_1.out @@ -0,0 +1,7895 @@ +CREATE TABLE test_debug_table (id int, t tsvector, d timestamp); +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +-- It is necessary to create all types of pages in the Posting Tree +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table(id, t, d) + VALUES(i, 'b9', '2016-05-02 00:21:22.326724'); + END LOOP; +END; +$$; +-- Testing on the index without additional information +CREATE INDEX test_without_addinfo_idx ON test_debug_table +USING rum (t, d); +SELECT * FROM rum_metapage_info('test_without_addinfo_idx', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 85 +n_entry_pages | 78 +n_data_pages | 6 +n_entries | 1650 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_without_addinfo_idx', 1); + key | attrnum | category | down_link +---------------------------------+---------+------------------+----------- + 3s | 1 | RUM_CAT_NORM_KEY | 3 + 80 | 1 | RUM_CAT_NORM_KEY | 2 + ad | 1 | RUM_CAT_NORM_KEY | 4 + ap | 1 | RUM_CAT_NORM_KEY | 5 + b2 | 1 | RUM_CAT_NORM_KEY | 6 + bq | 1 | RUM_CAT_NORM_KEY | 10 + ce | 1 | RUM_CAT_NORM_KEY | 11 + cx | 1 | RUM_CAT_NORM_KEY | 12 + df | 1 | RUM_CAT_NORM_KEY | 13 + ds | 1 | RUM_CAT_NORM_KEY | 14 + e5 | 1 | RUM_CAT_NORM_KEY | 15 + ef | 1 | RUM_CAT_NORM_KEY | 16 + em | 1 | RUM_CAT_NORM_KEY | 17 + et | 1 | RUM_CAT_NORM_KEY | 18 + f3 | 1 | RUM_CAT_NORM_KEY | 19 + fj | 1 | RUM_CAT_NORM_KEY | 20 + fx | 1 | RUM_CAT_NORM_KEY | 21 + gg | 1 | RUM_CAT_NORM_KEY | 22 + gt | 1 | RUM_CAT_NORM_KEY | 23 + hc | 1 | RUM_CAT_NORM_KEY | 24 + hp | 1 | RUM_CAT_NORM_KEY | 25 + i5 | 1 | RUM_CAT_NORM_KEY | 26 + ih | 1 | RUM_CAT_NORM_KEY | 27 + ir | 1 | RUM_CAT_NORM_KEY | 28 + j3 | 1 | RUM_CAT_NORM_KEY | 29 + jl | 1 | RUM_CAT_NORM_KEY | 30 + k1 | 1 | RUM_CAT_NORM_KEY | 31 + kk | 1 | RUM_CAT_NORM_KEY | 32 + kz | 1 | RUM_CAT_NORM_KEY | 33 + lj | 1 | RUM_CAT_NORM_KEY | 34 + ly | 1 | RUM_CAT_NORM_KEY | 35 + mn | 1 | RUM_CAT_NORM_KEY | 36 + nc | 1 | RUM_CAT_NORM_KEY | 37 + nx | 1 | RUM_CAT_NORM_KEY | 38 + od | 1 | RUM_CAT_NORM_KEY | 39 + on | 1 | RUM_CAT_NORM_KEY | 40 + oy | 1 | RUM_CAT_NORM_KEY | 41 + pe | 1 | RUM_CAT_NORM_KEY | 42 + pp | 1 | RUM_CAT_NORM_KEY | 43 + q1 | 1 | RUM_CAT_NORM_KEY | 44 + qa | 1 | RUM_CAT_NORM_KEY | 45 + qg | 1 | RUM_CAT_NORM_KEY | 46 + ql | 1 | RUM_CAT_NORM_KEY | 47 + qr | 1 | RUM_CAT_NORM_KEY | 48 + qw | 1 | RUM_CAT_NORM_KEY | 49 + r5 | 1 | RUM_CAT_NORM_KEY | 50 + rf | 1 | RUM_CAT_NORM_KEY | 51 + rn | 1 | RUM_CAT_NORM_KEY | 52 + rv | 1 | RUM_CAT_NORM_KEY | 53 + s8 | 1 | RUM_CAT_NORM_KEY | 54 + sl | 1 | RUM_CAT_NORM_KEY | 55 + sx | 1 | RUM_CAT_NORM_KEY | 56 + tb | 1 | RUM_CAT_NORM_KEY | 57 + tk | 1 | RUM_CAT_NORM_KEY | 58 + tt | 1 | RUM_CAT_NORM_KEY | 59 + u3 | 1 | RUM_CAT_NORM_KEY | 60 + ug | 1 | RUM_CAT_NORM_KEY | 61 + up | 1 | RUM_CAT_NORM_KEY | 62 + uz | 1 | RUM_CAT_NORM_KEY | 63 + vm | 1 | RUM_CAT_NORM_KEY | 64 + w4 | 1 | RUM_CAT_NORM_KEY | 65 + wd | 1 | RUM_CAT_NORM_KEY | 66 + wj | 1 | RUM_CAT_NORM_KEY | 67 + wq | 1 | RUM_CAT_NORM_KEY | 68 + ww | 1 | RUM_CAT_NORM_KEY | 69 + xe | 1 | RUM_CAT_NORM_KEY | 70 + xv | 1 | RUM_CAT_NORM_KEY | 71 + yb | 1 | RUM_CAT_NORM_KEY | 72 + yk | 1 | RUM_CAT_NORM_KEY | 73 + yt | 1 | RUM_CAT_NORM_KEY | 74 + z8 | 1 | RUM_CAT_NORM_KEY | 75 + zr | 1 | RUM_CAT_NORM_KEY | 76 + Tue May 03 23:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 80 + Sun May 08 17:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 81 + Fri May 13 11:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 82 + Wed May 18 05:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 83 + +inf | | | 84 +(77 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 10); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 6 | 11 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_without_addinfo_idx', 10); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +-----+---------+------------------+----------+------------------+----------+------------------+-------------------- + b3 | 1 | RUM_CAT_NORM_KEY | (0,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (2,17) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (6,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (9,10) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (11,4) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (16,9) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (18,11) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (24,2) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (25,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (27,13) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (31,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (34,6) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (36,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (41,5) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (43,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (48,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (49,21) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (52,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (55,18) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (59,2) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (60,15) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (65,20) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (68,2) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (73,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (74,21) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (77,5) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (80,14) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (83,16) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (85,12) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (90,17) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (92,17) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (97,17) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (99,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (101,13) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (105,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (108,6) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (110,1) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (115,5) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (117,7) | t | | f | + b3 | 1 | RUM_CAT_NORM_KEY | (122,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (1,3) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (3,19) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (13,9) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (17,9) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,12) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (18,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (19,4) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (22,2) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (25,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (28,15) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (38,4) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (41,17) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (42,6) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,8) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,10) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (43,20) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (46,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (50,14) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (53,7) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (62,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (66,12) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,3) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,5) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (68,15) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (71,13) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (75,11) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (78,5) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (87,18) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (91,10) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (91,17) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (92,18) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,2) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (93,12) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (96,1) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (99,21) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (102,15) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (112,4) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (115,17) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (116,6) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,8) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,10) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (117,20) | t | | f | + b4 | 1 | RUM_CAT_NORM_KEY | (120,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,15) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (2,22) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (4,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (8,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,5) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,10) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (9,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (13,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (25,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (27,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (28,21) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (32,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,6) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (34,7) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (38,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (49,24) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (52,12) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (53,13) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (57,12) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (58,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,2) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (59,3) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (63,9) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (74,24) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (77,10) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (78,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (82,8) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (83,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (83,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (83,17) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (88,6) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (99,4) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (99,11) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (101,18) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (102,21) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (106,16) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,1) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,6) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (108,7) | t | | f | + b5 | 1 | RUM_CAT_NORM_KEY | (112,13) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (1,14) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (2,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (6,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (7,11) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (9,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (10,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (12,7) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (14,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (20,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (30,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (32,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (34,5) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (35,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (37,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (39,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (45,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (55,15) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (57,2) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (59,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (60,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (62,1) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (63,21) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,9) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,23) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,2) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (80,11) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (81,16) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (83,15) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (85,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (86,15) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (88,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (100,10) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (100,18) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (104,19) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (106,6) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (108,5) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (109,12) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (111,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (113,4) | t | | f | + b6 | 1 | RUM_CAT_NORM_KEY | (119,14) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (1,12) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (4,4) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (9,2) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (10,17) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (13,6) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (22,7) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (26,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (28,21) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (32,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (33,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (35,11) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (38,1) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (39,7) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (46,19) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (51,2) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (53,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (56,19) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (58,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (60,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (62,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (64,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (71,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (75,20) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (78,11) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (81,13) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (83,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (85,5) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (87,15) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (88,21) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (96,6) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (100,8) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (102,21) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (106,3) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (107,18) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (109,11) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (112,1) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (113,7) | t | | f | + b7 | 1 | RUM_CAT_NORM_KEY | (121,3) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (0,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (1,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (8,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (11,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (15,19) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,11) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,19) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (20,8) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (33,16) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (36,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (40,15) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,15) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (45,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (49,22) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (58,11) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (61,4) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (65,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,8) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,12) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (69,22) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (74,22) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (83,6) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (85,18) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,19) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,6) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,8) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,10) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (94,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,2) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,20) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (107,16) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (110,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (114,15) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,7) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,13) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,15) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,17) | t | | f | + b8 | 1 | RUM_CAT_NORM_KEY | (119,4) | t | | f | + b9 | 1 | RUM_CAT_NORM_KEY | | | | t | 7 + ba | 1 | RUM_CAT_NORM_KEY | (1,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (10,12) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (12,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (14,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (15,11) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (17,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (23,8) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (26,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (29,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (30,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (35,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (36,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (38,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (40,7) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (42,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (47,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (50,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,11) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (60,3) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (61,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (63,17) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (65,2) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (67,5) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (72,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (75,18) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,8) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,13) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (84,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (86,9) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (88,14) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (89,19) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (92,2) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (97,5) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (100,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,1) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (109,6) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (110,16) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (112,21) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (114,7) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (116,10) | t | | f | + ba | 1 | RUM_CAT_NORM_KEY | (122,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (0,23) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (2,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,22) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (9,20) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (11,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (12,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (15,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (18,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (20,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (20,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (22,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (23,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (25,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (27,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (28,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (30,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (32,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (34,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (36,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (36,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (40,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (42,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (43,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (44,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (45,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (47,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (48,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (50,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (52,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (53,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (53,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (54,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (55,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (59,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (60,15) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (61,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (65,8) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (65,19) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (67,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (68,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (69,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,23) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (72,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (73,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (75,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (77,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (77,24) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (78,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (79,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (80,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (84,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (85,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (86,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,18) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (91,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (92,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (93,2) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (94,11) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (96,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (97,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (99,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (101,9) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (102,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,5) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (104,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (105,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (105,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (106,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (108,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (110,1) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (110,16) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (114,13) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,6) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,17) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (116,12) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (117,10) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (118,23) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (119,14) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (121,4) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (122,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,3) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,7) | t | | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (1,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (9,19) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (10,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (12,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (14,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (18,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (18,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (20,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (23,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (24,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (26,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (27,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (35,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (36,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (37,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (39,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (43,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (43,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (44,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (48,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (48,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (51,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (51,20) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (60,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (61,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (62,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (64,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (64,21) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (65,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (69,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (73,2) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (73,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (76,4) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (76,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,3) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (85,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (85,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (87,4) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,1) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,18) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (92,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (93,8) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (94,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (97,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (97,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (100,12) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (101,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (104,13) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (108,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (108,17) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (109,15) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (110,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (111,10) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (113,9) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,5) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,6) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (117,7) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (117,16) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (118,24) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (122,4) | t | | f | + bc | 1 | RUM_CAT_NORM_KEY | (122,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (0,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (4,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (5,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (7,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (8,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (12,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (14,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (15,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (15,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (16,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (18,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (20,8) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (23,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (23,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (25,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (25,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (28,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (29,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (30,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (30,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (32,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (32,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (37,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (39,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (39,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (40,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (41,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (43,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (45,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (47,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (48,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (49,21) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (53,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (54,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (55,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (57,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (57,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (61,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (64,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (64,16) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (65,8) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (66,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (68,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (69,22) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (72,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (73,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (74,21) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (77,24) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (79,6) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (79,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (80,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (82,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (82,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (86,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (89,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (89,12) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (90,5) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (91,3) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (92,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (94,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (96,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (97,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (99,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (99,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (102,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (103,14) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (104,1) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (104,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (106,9) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (106,18) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (111,2) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (113,11) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (113,20) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (114,13) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (115,10) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (117,7) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (119,4) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (121,17) | t | | f | + bd | 1 | RUM_CAT_NORM_KEY | (122,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (0,24) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (1,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (3,21) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (4,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (5,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (6,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (8,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (8,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (9,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (13,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (15,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (16,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (16,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (19,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (19,21) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (20,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (22,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (26,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (27,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (28,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (29,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (29,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (30,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (33,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (38,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (40,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (40,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (41,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (44,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (44,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (44,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (46,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (46,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (47,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (50,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (51,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (51,20) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (53,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (53,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (54,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (55,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (57,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (58,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (58,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (63,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (64,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (65,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (66,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (69,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (69,10) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (69,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (71,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (71,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,6) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (72,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (75,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (75,20) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (76,18) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (78,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (78,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (79,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (79,20) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (80,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (80,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (82,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (83,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (83,7) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (88,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (89,15) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (90,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (91,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (94,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,2) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (96,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (99,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (100,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (101,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (102,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (103,5) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (104,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (104,12) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (104,16) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (107,4) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (107,13) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (107,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (112,11) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (114,3) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (114,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (115,8) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (118,14) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (118,17) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (118,23) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (120,19) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (121,1) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (121,9) | t | | f | + be | 1 | RUM_CAT_NORM_KEY | (121,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (3,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (6,22) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (7,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (7,21) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (10,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (11,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (11,12) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (11,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (13,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (15,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (17,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (17,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (18,5) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (22,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (24,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (28,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (31,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (32,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (35,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (35,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (36,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (36,15) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (38,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (39,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (39,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (42,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (42,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (43,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (47,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (49,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (53,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (56,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (57,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (59,19) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (60,13) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (61,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (61,12) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (63,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (64,3) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (64,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (66,17) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (67,3) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (67,14) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (72,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (74,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (78,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (81,5) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (81,18) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (84,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (85,10) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (86,2) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (86,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (87,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (88,21) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (89,12) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (91,15) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (92,11) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (96,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (98,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (102,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (105,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (106,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (109,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (109,16) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (110,9) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (110,15) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (112,6) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (113,7) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (113,20) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (116,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (116,8) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (117,1) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (121,4) | t | | f | + bf | 1 | RUM_CAT_NORM_KEY | (123,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (0,24) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (1,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (2,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (2,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (3,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (5,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (8,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (8,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (9,12) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (10,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (10,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (11,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (11,12) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (13,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (13,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (14,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (18,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (20,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (21,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (22,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (24,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (25,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (25,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (26,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (27,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (27,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (28,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (29,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (32,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (33,12) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (34,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (34,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (35,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (36,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (36,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (38,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (38,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (39,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (43,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (44,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (45,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (47,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (49,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (50,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (50,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (52,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (52,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (52,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (54,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (57,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (58,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (59,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (59,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (59,21) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (60,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (61,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (62,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (63,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (63,21) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (67,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (69,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (70,19) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (72,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (74,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (75,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (75,14) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (77,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (77,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (77,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (79,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (82,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (83,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (84,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (84,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (84,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (85,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (86,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (87,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (87,20) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (88,18) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (92,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (94,10) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (95,7) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (96,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (98,5) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (99,11) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (99,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (100,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (101,13) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (101,15) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (102,1) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (103,16) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (106,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (107,12) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (108,8) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (108,17) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (109,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (110,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (110,9) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (112,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (112,6) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (113,4) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (117,3) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (118,22) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (120,2) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (121,12) | t | | f | + bg | 1 | RUM_CAT_NORM_KEY | (123,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (0,10) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (1,22) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (2,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (2,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (3,5) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (6,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (9,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (9,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (9,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (11,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (11,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (12,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (12,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (12,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (16,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (16,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (22,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (22,20) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (24,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (27,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (27,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (28,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (31,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (33,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (34,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (34,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (35,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (36,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (36,10) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (36,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (37,4) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (41,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (41,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (47,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (47,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (48,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (49,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (52,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (52,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (52,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (56,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (58,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (59,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (59,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (60,11) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (61,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (62,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (65,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (66,10) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (72,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (72,13) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (73,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (74,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (77,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (77,7) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (77,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (81,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (83,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (84,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (84,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (85,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (85,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,3) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,9) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (86,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (90,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (91,8) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (96,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (96,19) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (97,17) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (98,23) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (101,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (101,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (102,1) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (105,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (107,18) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (108,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (108,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (109,14) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (110,6) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (110,10) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (110,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (111,4) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (115,2) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (115,15) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (121,12) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (121,16) | t | | f | + bh | 1 | RUM_CAT_NORM_KEY | (122,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (2,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (2,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (3,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (4,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (5,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (5,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (8,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (10,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (10,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (13,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (14,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (14,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (16,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (17,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (17,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (20,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (21,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (21,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (22,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (23,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (23,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (24,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (27,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (27,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (28,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (29,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (30,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (30,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (32,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (34,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (35,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (38,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (38,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (39,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (39,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (40,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (42,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (42,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (44,23) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (45,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (46,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (46,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (47,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (48,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (48,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (51,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (51,20) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (52,24) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (53,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (54,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (55,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (57,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (59,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (60,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (63,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (63,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (63,20) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (64,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (65,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (67,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (69,20) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (70,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (71,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (71,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (72,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (73,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (73,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (76,15) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (76,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (77,22) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (78,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (79,14) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (80,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (82,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (84,10) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (84,21) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (88,21) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (90,11) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (91,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (92,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (94,15) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (95,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (95,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (96,1) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (97,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (97,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (98,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (101,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (101,5) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (102,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (103,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (104,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (104,13) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (106,16) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (108,17) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (109,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (112,8) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (112,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (113,3) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (113,7) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (114,19) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (116,6) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (116,9) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (119,2) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (119,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (120,12) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (120,18) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (121,22) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (122,4) | t | | f | + bi | 1 | RUM_CAT_NORM_KEY | (122,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (1,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (2,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (2,15) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (4,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (4,10) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (4,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (5,12) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (9,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (10,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (12,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (12,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (13,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (14,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (17,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (19,18) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (19,25) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (20,6) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (20,15) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (22,18) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (23,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (23,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (25,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (26,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (26,21) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (27,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (29,3) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (29,6) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (29,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (30,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (30,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (34,9) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (35,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (37,10) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (37,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (38,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (39,8) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (42,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (44,10) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (44,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (44,23) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (45,9) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (47,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (47,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (47,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (47,22) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (50,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (51,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (51,15) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (52,5) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (53,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (54,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (54,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (55,3) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (55,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (59,5) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (60,8) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (62,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (62,10) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (62,19) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (64,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (66,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (69,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (69,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (69,20) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (70,6) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (72,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (72,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (72,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (75,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (75,19) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (76,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (77,3) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (78,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (78,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (78,18) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (79,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (79,19) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (80,3) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (84,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (85,5) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (87,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (87,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (87,16) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (88,22) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (91,15) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (94,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (94,9) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (94,15) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (96,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (96,20) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (97,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (99,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (100,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (100,21) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (101,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (103,3) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (103,6) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (103,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (104,1) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (104,7) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (108,9) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (109,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (111,10) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (111,13) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (112,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (113,8) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (116,4) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (118,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (118,21) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (119,2) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (119,11) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (121,14) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (121,17) | t | | f | + bj | 1 | RUM_CAT_NORM_KEY | (121,20) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (2,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (2,18) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (2,21) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (3,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (4,16) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (5,6) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (7,17) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (9,5) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (10,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (14,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (15,13) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (16,3) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (18,18) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (19,25) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (26,18) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (27,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (27,17) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (28,10) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (29,12) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (30,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (32,12) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (34,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (35,3) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (39,3) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (40,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (40,19) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (43,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (44,17) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (51,12) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (52,8) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (52,11) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (53,2) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (54,7) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (54,16) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (57,8) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (58,16) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (59,21) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (63,20) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (65,4) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (65,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (68,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (69,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (76,10) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (77,6) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (77,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (77,24) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (79,4) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (79,13) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (82,4) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (83,11) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (84,18) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (88,17) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (90,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (90,11) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (93,6) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (94,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (100,18) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (101,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (101,17) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (102,10) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (103,12) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (104,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (106,12) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (108,1) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (109,3) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (113,3) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (114,9) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (114,19) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (117,14) | t | | f | + bk | 1 | RUM_CAT_NORM_KEY | (118,21) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (0,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (0,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (0,29) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (1,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (2,11) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (3,16) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (3,20) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (4,13) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (4,16) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (5,20) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (10,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (11,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (14,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (14,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (17,3) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (17,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (22,1) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (22,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (23,2) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (23,6) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (25,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (25,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (25,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (25,22) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (27,7) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (28,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (28,16) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (29,9) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (29,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (30,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (32,3) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (35,2) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (36,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (38,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (39,9) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (41,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (42,5) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (46,13) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (47,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (47,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (47,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (49,24) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (50,1) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (50,11) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (50,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (52,1) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (53,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (53,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (54,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (54,7) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (55,11) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (56,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (59,20) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (61,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (63,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (64,5) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (66,13) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (66,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (71,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (71,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (72,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (72,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (72,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (74,24) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (75,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (75,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (76,20) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (78,2) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (78,6) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (79,1) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (79,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (80,7) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (81,13) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (84,17) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (86,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (88,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (89,1) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (91,11) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (91,16) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (95,22) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (96,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (96,21) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (97,3) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (99,4) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (99,8) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (99,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (99,22) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (101,7) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (102,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (102,16) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (103,9) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (103,12) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (104,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (106,3) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (109,2) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (110,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (112,19) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (113,9) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (115,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (116,5) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (120,17) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (121,15) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (121,18) | t | | f | + bl | 1 | RUM_CAT_NORM_KEY | (121,22) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (2,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (2,15) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (5,12) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (6,10) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (7,12) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (10,10) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (12,13) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (13,13) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (14,10) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (16,18) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (21,13) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (22,2) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (26,21) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (27,11) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (30,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (31,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (32,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (35,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (37,10) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (38,8) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (39,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (41,14) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (46,3) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (46,14) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (51,15) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (52,5) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (55,3) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (55,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (55,21) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (57,3) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (60,1) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (62,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (63,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (63,21) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (66,9) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (71,2) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (71,13) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (76,13) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (77,3) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (79,19) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (80,3) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (80,17) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (81,17) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (84,19) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (87,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (88,1) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (88,18) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (91,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (95,12) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (96,1) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (100,21) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (101,11) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (104,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (105,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (106,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (109,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (111,10) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (112,8) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (113,4) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (115,14) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (120,7) | t | | f | + bm | 1 | RUM_CAT_NORM_KEY | (120,18) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (1,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (1,19) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (2,11) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (4,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (4,10) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (6,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (7,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (7,9) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (7,12) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (8,18) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (9,10) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (12,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (12,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (12,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (12,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (12,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (13,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (14,1) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (14,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (14,22) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (16,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (20,3) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (21,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (26,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (26,15) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (27,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (29,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (29,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (31,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (32,3) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (32,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (32,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (33,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (34,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (36,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (37,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (37,11) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (37,13) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (37,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (38,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (38,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (38,21) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (39,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (41,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (44,20) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (46,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (50,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (51,9) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (52,1) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (53,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (54,1) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (55,19) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (56,19) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (56,20) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (57,3) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (58,9) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (59,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (61,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (62,1) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (62,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (62,10) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (62,11) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (62,19) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (63,12) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (63,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (64,12) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (65,19) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (69,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (71,3) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (75,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (76,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (76,20) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (78,15) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (78,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (80,15) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (81,13) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (81,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (81,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (83,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (83,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (86,10) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (86,15) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (87,5) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (87,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (87,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (87,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (88,9) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (88,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (89,8) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (90,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (94,12) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (95,13) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (100,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (100,15) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (101,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (103,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (103,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (105,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (106,3) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (106,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (106,7) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (107,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (108,6) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (110,17) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (111,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (111,11) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (111,13) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (111,14) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (112,2) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (112,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (112,21) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (113,16) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (115,4) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (118,24) | t | | f | + bn | 1 | RUM_CAT_NORM_KEY | (120,8) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (1,5) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (1,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (3,4) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (3,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (5,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (5,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (10,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (12,18) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (13,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (13,14) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (15,4) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (15,7) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (15,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (16,14) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (17,5) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (17,14) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (19,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (21,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (22,10) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (23,7) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (23,8) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (26,1) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (26,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (27,22) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (28,8) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (30,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (30,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (34,19) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (37,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (37,18) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (38,9) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (39,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (40,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (40,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (41,10) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (42,2) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (42,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (43,19) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (46,2) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (47,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (47,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (47,21) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (50,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (51,6) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (52,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (52,24) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (55,7) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (55,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (59,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (62,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (62,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (63,5) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (64,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (64,19) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (65,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (66,5) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (66,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (67,6) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (68,14) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (71,1) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (72,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (72,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (72,21) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (75,13) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (76,4) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (77,14) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (77,22) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (80,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (80,7) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (84,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (87,9) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (87,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (88,2) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (89,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (89,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (90,8) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (91,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (91,13) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (92,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (93,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (95,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (96,9) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (97,4) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (97,5) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (100,1) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (100,12) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (101,22) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (102,8) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (104,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (104,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (108,19) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (111,15) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (111,18) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (112,9) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (113,20) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (114,3) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (114,16) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (115,10) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (116,2) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (116,11) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (117,19) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (120,6) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (121,6) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (122,1) | t | | f | + bo | 1 | RUM_CAT_NORM_KEY | (122,2) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (1,11) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (7,12) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (9,8) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (9,12) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (15,6) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (15,19) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (17,9) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (18,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (19,9) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (20,13) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (20,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (21,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (23,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (24,11) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (24,12) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (24,25) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (26,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (32,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (34,4) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (34,8) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (40,2) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (40,15) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (42,6) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (43,13) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (44,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (45,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (45,11) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (45,15) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (47,20) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (49,5) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (49,6) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (51,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (54,20) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (57,3) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (58,19) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (59,4) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (64,18) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (65,10) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (67,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (68,8) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (68,20) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (70,4) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (70,8) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (70,12) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (72,20) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (74,5) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (74,6) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (75,19) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (81,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (83,14) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (84,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (89,14) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (90,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (90,20) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (91,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (93,5) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (93,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (97,4) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (98,9) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (98,10) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (100,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (106,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (108,4) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (108,8) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (114,2) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (114,15) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (116,6) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (117,13) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (118,5) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (119,9) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (119,13) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (119,17) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (122,1) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (123,7) | t | | f | + bp | 1 | RUM_CAT_NORM_KEY | (123,8) | t | | f | + bq | 1 | RUM_CAT_NORM_KEY | (0,22) | t | | f | +(1767 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 7); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 2 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_without_addinfo_idx', 7); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+-----------+------------------+---------- + t | | (0,0) | t | + f | 9 | (137,122) | t | + f | 8 | (0,0) | t | +(3 rows) + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 9); + leftlink | rightlink | maxoff | freespace | flags +------------+-----------+--------+-----------+------------- + 4294967295 | 8 | 2599 | 1164 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_without_addinfo_idx', 9); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+-----------+------------------+---------- + t | (137,122) | t | + f | (0,9) | t | + f | (0,30) | t | + f | (1,23) | t | + f | (2,23) | t | + f | (3,5) | t | + f | (4,11) | t | + f | (5,5) | t | + f | (5,18) | t | + f | (5,22) | t | + f | (5,23) | t | + f | (6,17) | t | + f | (6,24) | t | + f | (7,22) | t | + f | (7,23) | t | + f | (8,13) | t | + f | (9,21) | t | + f | (9,22) | t | + f | (10,20) | t | + f | (11,5) | t | + f | (11,19) | t | + f | (11,20) | t | + f | (12,20) | t | + f | (13,16) | t | + f | (13,22) | t | + f | (14,23) | t | + f | (15,21) | t | + f | (15,22) | t | + f | (16,6) | t | + f | (16,13) | t | + f | (16,14) | t | + f | (16,20) | t | + f | (16,21) | t | + f | (16,22) | t | + f | (16,23) | t | + f | (16,24) | t | + f | (16,25) | t | + f | (16,26) | t | + f | (17,12) | t | + f | (17,17) | t | + f | (17,18) | t | + f | (17,19) | t | + f | (17,20) | t | + f | (18,14) | t | + f | (19,26) | t | + f | (19,27) | t | + f | (19,28) | t | + f | (20,21) | t | + f | (20,22) | t | + f | (20,23) | t | + f | (20,24) | t | + f | (20,25) | t | + f | (21,23) | t | + f | (21,24) | t | + f | (21,25) | t | + f | (21,26) | t | + f | (21,27) | t | + f | (21,28) | t | + f | (22,21) | t | + f | (22,22) | t | + f | (22,23) | t | + f | (23,9) | t | + f | (23,18) | t | + f | (23,19) | t | + f | (23,20) | t | + f | (24,11) | t | + f | (24,24) | t | + f | (26,22) | t | + f | (27,23) | t | + f | (27,24) | t | + f | (27,25) | t | + f | (27,26) | t | + f | (28,1) | t | + f | (29,7) | t | + f | (29,20) | t | + f | (29,21) | t | + f | (29,22) | t | + f | (29,23) | t | + f | (29,24) | t | + f | (30,13) | t | + f | (30,22) | t | + f | (30,23) | t | + f | (30,24) | t | + f | (31,11) | t | + f | (31,22) | t | + f | (31,23) | t | + f | (31,24) | t | + f | (31,25) | t | + f | (31,26) | t | + f | (31,27) | t | + f | (33,9) | t | + f | (33,21) | t | + f | (34,23) | t | + f | (34,24) | t | + f | (34,25) | t | + f | (34,26) | t | + f | (35,18) | t | + f | (35,19) | t | + f | (35,20) | t | + f | (35,21) | t | + f | (35,22) | t | + f | (35,23) | t | + f | (36,2) | t | + f | (38,11) | t | + f | (39,21) | t | + f | (39,22) | t | + f | (39,23) | t | + f | (39,24) | t | + f | (41,2) | t | + f | (41,9) | t | + f | (41,10) | t | + f | (41,22) | t | + f | (42,9) | t | + f | (42,14) | t | + f | (43,10) | t | + f | (43,22) | t | + f | (43,23) | t | + f | (44,24) | t | + f | (45,23) | t | + f | (45,24) | t | + f | (46,20) | t | + f | (46,21) | t | + f | (47,23) | t | + f | (48,1) | t | + f | (48,10) | t | + f | (48,18) | t | + f | (49,5) | t | + f | (49,18) | t | + f | (49,26) | t | + f | (49,27) | t | + f | (50,22) | t | + f | (50,23) | t | + f | (50,24) | t | + f | (51,22) | t | + f | (51,23) | t | + f | (51,24) | t | + f | (51,25) | t | + f | (51,26) | t | + f | (51,27) | t | + f | (52,17) | t | + f | (52,25) | t | + f | (52,26) | t | + f | (52,27) | t | + f | (52,28) | t | + f | (52,29) | t | + f | (53,19) | t | + f | (53,20) | t | + f | (53,21) | t | + f | (53,22) | t | + f | (53,23) | t | + f | (53,24) | t | + f | (54,2) | t | + f | (54,15) | t | + f | (54,21) | t | + f | (55,9) | t | + f | (55,23) | t | + f | (55,24) | t | + f | (55,25) | t | + f | (56,6) | t | + f | (57,21) | t | + f | (57,22) | t | + f | (57,23) | t | + f | (57,24) | t | + f | (57,25) | t | + f | (58,4) | t | + f | (58,20) | t | + f | (58,21) | t | + f | (58,22) | t | + f | (58,23) | t | + f | (58,24) | t | + f | (58,25) | t | + f | (58,26) | t | + f | (59,22) | t | + f | (59,23) | t | + f | (59,24) | t | + f | (59,25) | t | + f | (59,26) | t | + f | (60,16) | t | + f | (60,18) | t | + f | (60,19) | t | + f | (61,19) | t | + f | (61,20) | t | + f | (61,21) | t | + f | (61,22) | t | + f | (62,22) | t | + f | (63,7) | t | + f | (63,22) | t | + f | (64,22) | t | + f | (65,17) | t | + f | (66,4) | t | + f | (66,5) | t | + f | (66,19) | t | + f | (66,20) | t | + f | (66,21) | t | + f | (66,22) | t | + f | (66,23) | t | + f | (66,24) | t | + f | (66,25) | t | + f | (66,26) | t | + f | (67,4) | t | + f | (67,9) | t | + f | (67,19) | t | + f | (67,20) | t | + f | (67,21) | t | + f | (67,22) | t | + f | (68,5) | t | + f | (69,24) | t | + f | (72,24) | t | + f | (72,25) | t | + f | (73,1) | t | + f | (73,10) | t | + f | (73,17) | t | + f | (73,18) | t | + f | (73,19) | t | + f | (73,20) | t | + f | (73,21) | t | + f | (73,22) | t | + f | (74,5) | t | + f | (74,18) | t | + f | (74,26) | t | + f | (74,27) | t | + f | (76,22) | t | + f | (76,23) | t | + f | (76,24) | t | + f | (76,25) | t | + f | (76,26) | t | + f | (76,27) | t | + f | (76,28) | t | + f | (76,29) | t | + f | (77,15) | t | + f | (77,25) | t | + f | (78,18) | t | + f | (78,20) | t | + f | (78,21) | t | + f | (78,22) | t | + f | (78,23) | t | + f | (78,24) | t | + f | (79,12) | t | + f | (79,21) | t | + f | (80,5) | t | + f | (80,24) | t | + f | (81,19) | t | + f | (81,20) | t | + f | (82,20) | t | + f | (82,23) | t | + f | (82,24) | t | + f | (82,25) | t | + f | (84,22) | t | + f | (85,13) | t | + f | (85,19) | t | + f | (85,20) | t | + f | (85,21) | t | + f | (85,22) | t | + f | (85,23) | t | + f | (86,18) | t | + f | (86,19) | t | + f | (86,20) | t | + f | (86,21) | t | + f | (86,22) | t | + f | (86,23) | t | + f | (86,24) | t | + f | (87,22) | t | + f | (87,23) | t | + f | (87,24) | t | + f | (87,25) | t | + f | (88,4) | t | + f | (88,23) | t | + f | (88,24) | t | + f | (88,25) | t | + f | (90,14) | t | + f | (91,2) | t | + f | (91,3) | t | + f | (91,19) | t | + f | (91,20) | t | + f | (91,21) | t | + f | (92,1) | t | + f | (92,6) | t | + f | (93,2) | t | + f | (93,25) | t | + f | (93,26) | t | + f | (93,27) | t | + f | (93,28) | t | + f | (94,22) | t | + f | (94,23) | t | + f | (95,23) | t | + f | (95,24) | t | + f | (95,25) | t | + f | (97,6) | t | + f | (97,15) | t | + f | (97,18) | t | + f | (97,19) | t | + f | (97,20) | t | + f | (97,21) | t | + f | (98,9) | t | + f | (98,22) | t | + f | (98,25) | t | + f | (98,26) | t | + f | (98,27) | t | + f | (98,28) | t | + f | (98,29) | t | + f | (98,30) | t | + f | (98,31) | t | + f | (98,32) | t | + f | (99,23) | t | + f | (99,24) | t | + f | (99,25) | t | + f | (100,22) | t | + f | (101,23) | t | + f | (101,24) | t | + f | (101,25) | t | + f | (101,26) | t | + f | (102,1) | t | + f | (103,7) | t | + f | (103,20) | t | + f | (103,21) | t | + f | (103,22) | t | + f | (103,23) | t | + f | (103,24) | t | + f | (104,13) | t | + f | (104,22) | t | + f | (104,23) | t | + f | (104,24) | t | + f | (105,11) | t | + f | (105,22) | t | + f | (105,23) | t | + f | (105,24) | t | + f | (105,25) | t | + f | (105,26) | t | + f | (105,27) | t | + f | (107,9) | t | + f | (107,21) | t | + f | (108,23) | t | + f | (108,24) | t | + f | (108,25) | t | + f | (108,26) | t | + f | (109,18) | t | + f | (109,19) | t | + f | (109,20) | t | + f | (109,21) | t | + f | (109,22) | t | + f | (109,23) | t | + f | (110,2) | t | + f | (111,21) | t | + f | (111,22) | t | + f | (111,23) | t | + f | (111,24) | t | + f | (111,25) | t | + f | (111,26) | t | + f | (111,27) | t | + f | (111,28) | t | + f | (112,11) | t | + f | (113,21) | t | + f | (113,22) | t | + f | (113,23) | t | + f | (113,24) | t | + f | (115,2) | t | + f | (115,9) | t | + f | (115,10) | t | + f | (115,19) | t | + f | (115,20) | t | + f | (115,21) | t | + f | (115,22) | t | + f | (115,23) | t | + f | (115,24) | t | + f | (115,25) | t | + f | (115,26) | t | + f | (115,27) | t | + f | (115,28) | t | + f | (115,29) | t | + f | (116,9) | t | + f | (116,14) | t | + f | (117,10) | t | + f | (117,21) | t | + f | (117,22) | t | + f | (117,23) | t | + f | (117,24) | t | + f | (117,25) | t | + f | (117,26) | t | + f | (117,27) | t | + f | (119,23) | t | + f | (120,21) | t | + f | (120,22) | t | + f | (120,23) | t | + f | (121,23) | t | + f | (121,24) | t | + f | (122,3) | t | + f | (122,12) | t | + f | (122,17) | t | + f | (122,18) | t | + f | (122,19) | t | + f | (122,20) | t | + f | (122,21) | t | + f | (122,22) | t | + f | (122,23) | t | + f | (122,24) | t | + f | (123,7) | t | + f | (123,12) | t | + f | (123,13) | t | + f | (123,14) | t | + f | (123,15) | t | + f | (123,16) | t | + f | (123,17) | t | + f | (123,18) | t | + f | (123,19) | t | + f | (123,20) | t | + f | (123,21) | t | + f | (123,22) | t | + f | (123,23) | t | + f | (123,24) | t | + f | (123,25) | t | + f | (123,26) | t | + f | (123,27) | t | + f | (123,28) | t | + f | (123,29) | t | + f | (123,30) | t | + f | (123,31) | t | + f | (123,32) | t | + f | (123,33) | t | + f | (123,34) | t | + f | (123,35) | t | + f | (123,36) | t | + f | (123,37) | t | + f | (123,38) | t | + f | (123,39) | t | + f | (123,40) | t | + f | (123,41) | t | + f | (123,42) | t | + f | (123,43) | t | + f | (123,44) | t | + f | (123,45) | t | + f | (123,46) | t | + f | (123,47) | t | + f | (123,48) | t | + f | (123,49) | t | + f | (123,50) | t | + f | (123,51) | t | + f | (123,52) | t | + f | (123,53) | t | + f | (123,54) | t | + f | (123,55) | t | + f | (123,56) | t | + f | (123,57) | t | + f | (123,58) | t | + f | (123,59) | t | + f | (123,60) | t | + f | (123,61) | t | + f | (123,62) | t | + f | (123,63) | t | + f | (123,64) | t | + f | (123,65) | t | + f | (124,1) | t | + f | (124,2) | t | + f | (124,3) | t | + f | (124,4) | t | + f | (124,5) | t | + f | (124,6) | t | + f | (124,7) | t | + f | (124,8) | t | + f | (124,9) | t | + f | (124,10) | t | + f | (124,11) | t | + f | (124,12) | t | + f | (124,13) | t | + f | (124,14) | t | + f | (124,15) | t | + f | (124,16) | t | + f | (124,17) | t | + f | (124,18) | t | + f | (124,19) | t | + f | (124,20) | t | + f | (124,21) | t | + f | (124,22) | t | + f | (124,23) | t | + f | (124,24) | t | + f | (124,25) | t | + f | (124,26) | t | + f | (124,27) | t | + f | (124,28) | t | + f | (124,29) | t | + f | (124,30) | t | + f | (124,31) | t | + f | (124,32) | t | + f | (124,33) | t | + f | (124,34) | t | + f | (124,35) | t | + f | (124,36) | t | + f | (124,37) | t | + f | (124,38) | t | + f | (124,39) | t | + f | (124,40) | t | + f | (124,41) | t | + f | (124,42) | t | + f | (124,43) | t | + f | (124,44) | t | + f | (124,45) | t | + f | (124,46) | t | + f | (124,47) | t | + f | (124,48) | t | + f | (124,49) | t | + f | (124,50) | t | + f | (124,51) | t | + f | (124,52) | t | + f | (124,53) | t | + f | (124,54) | t | + f | (124,55) | t | + f | (124,56) | t | + f | (124,57) | t | + f | (124,58) | t | + f | (124,59) | t | + f | (124,60) | t | + f | (124,61) | t | + f | (124,62) | t | + f | (124,63) | t | + f | (124,64) | t | + f | (124,65) | t | + f | (124,66) | t | + f | (124,67) | t | + f | (124,68) | t | + f | (124,69) | t | + f | (124,70) | t | + f | (124,71) | t | + f | (124,72) | t | + f | (124,73) | t | + f | (124,74) | t | + f | (124,75) | t | + f | (124,76) | t | + f | (124,77) | t | + f | (124,78) | t | + f | (124,79) | t | + f | (124,80) | t | + f | (124,81) | t | + f | (124,82) | t | + f | (124,83) | t | + f | (124,84) | t | + f | (124,85) | t | + f | (124,86) | t | + f | (124,87) | t | + f | (124,88) | t | + f | (124,89) | t | + f | (124,90) | t | + f | (124,91) | t | + f | (124,92) | t | + f | (124,93) | t | + f | (124,94) | t | + f | (124,95) | t | + f | (124,96) | t | + f | (124,97) | t | + f | (124,98) | t | + f | (124,99) | t | + f | (124,100) | t | + f | (124,101) | t | + f | (124,102) | t | + f | (124,103) | t | + f | (124,104) | t | + f | (124,105) | t | + f | (124,106) | t | + f | (124,107) | t | + f | (124,108) | t | + f | (124,109) | t | + f | (124,110) | t | + f | (124,111) | t | + f | (124,112) | t | + f | (124,113) | t | + f | (124,114) | t | + f | (124,115) | t | + f | (124,116) | t | + f | (124,117) | t | + f | (124,118) | t | + f | (124,119) | t | + f | (124,120) | t | + f | (124,121) | t | + f | (124,122) | t | + f | (124,123) | t | + f | (124,124) | t | + f | (124,125) | t | + f | (124,126) | t | + f | (124,127) | t | + f | (124,128) | t | + f | (124,129) | t | + f | (124,130) | t | + f | (124,131) | t | + f | (124,132) | t | + f | (124,133) | t | + f | (124,134) | t | + f | (124,135) | t | + f | (124,136) | t | + f | (124,137) | t | + f | (124,138) | t | + f | (124,139) | t | + f | (124,140) | t | + f | (124,141) | t | + f | (124,142) | t | + f | (124,143) | t | + f | (124,144) | t | + f | (124,145) | t | + f | (124,146) | t | + f | (124,147) | t | + f | (124,148) | t | + f | (124,149) | t | + f | (124,150) | t | + f | (124,151) | t | + f | (124,152) | t | + f | (124,153) | t | + f | (124,154) | t | + f | (124,155) | t | + f | (124,156) | t | + f | (125,1) | t | + f | (125,2) | t | + f | (125,3) | t | + f | (125,4) | t | + f | (125,5) | t | + f | (125,6) | t | + f | (125,7) | t | + f | (125,8) | t | + f | (125,9) | t | + f | (125,10) | t | + f | (125,11) | t | + f | (125,12) | t | + f | (125,13) | t | + f | (125,14) | t | + f | (125,15) | t | + f | (125,16) | t | + f | (125,17) | t | + f | (125,18) | t | + f | (125,19) | t | + f | (125,20) | t | + f | (125,21) | t | + f | (125,22) | t | + f | (125,23) | t | + f | (125,24) | t | + f | (125,25) | t | + f | (125,26) | t | + f | (125,27) | t | + f | (125,28) | t | + f | (125,29) | t | + f | (125,30) | t | + f | (125,31) | t | + f | (125,32) | t | + f | (125,33) | t | + f | (125,34) | t | + f | (125,35) | t | + f | (125,36) | t | + f | (125,37) | t | + f | (125,38) | t | + f | (125,39) | t | + f | (125,40) | t | + f | (125,41) | t | + f | (125,42) | t | + f | (125,43) | t | + f | (125,44) | t | + f | (125,45) | t | + f | (125,46) | t | + f | (125,47) | t | + f | (125,48) | t | + f | (125,49) | t | + f | (125,50) | t | + f | (125,51) | t | + f | (125,52) | t | + f | (125,53) | t | + f | (125,54) | t | + f | (125,55) | t | + f | (125,56) | t | + f | (125,57) | t | + f | (125,58) | t | + f | (125,59) | t | + f | (125,60) | t | + f | (125,61) | t | + f | (125,62) | t | + f | (125,63) | t | + f | (125,64) | t | + f | (125,65) | t | + f | (125,66) | t | + f | (125,67) | t | + f | (125,68) | t | + f | (125,69) | t | + f | (125,70) | t | + f | (125,71) | t | + f | (125,72) | t | + f | (125,73) | t | + f | (125,74) | t | + f | (125,75) | t | + f | (125,76) | t | + f | (125,77) | t | + f | (125,78) | t | + f | (125,79) | t | + f | (125,80) | t | + f | (125,81) | t | + f | (125,82) | t | + f | (125,83) | t | + f | (125,84) | t | + f | (125,85) | t | + f | (125,86) | t | + f | (125,87) | t | + f | (125,88) | t | + f | (125,89) | t | + f | (125,90) | t | + f | (125,91) | t | + f | (125,92) | t | + f | (125,93) | t | + f | (125,94) | t | + f | (125,95) | t | + f | (125,96) | t | + f | (125,97) | t | + f | (125,98) | t | + f | (125,99) | t | + f | (125,100) | t | + f | (125,101) | t | + f | (125,102) | t | + f | (125,103) | t | + f | (125,104) | t | + f | (125,105) | t | + f | (125,106) | t | + f | (125,107) | t | + f | (125,108) | t | + f | (125,109) | t | + f | (125,110) | t | + f | (125,111) | t | + f | (125,112) | t | + f | (125,113) | t | + f | (125,114) | t | + f | (125,115) | t | + f | (125,116) | t | + f | (125,117) | t | + f | (125,118) | t | + f | (125,119) | t | + f | (125,120) | t | + f | (125,121) | t | + f | (125,122) | t | + f | (125,123) | t | + f | (125,124) | t | + f | (125,125) | t | + f | (125,126) | t | + f | (125,127) | t | + f | (125,128) | t | + f | (125,129) | t | + f | (125,130) | t | + f | (125,131) | t | + f | (125,132) | t | + f | (125,133) | t | + f | (125,134) | t | + f | (125,135) | t | + f | (125,136) | t | + f | (125,137) | t | + f | (125,138) | t | + f | (125,139) | t | + f | (125,140) | t | + f | (125,141) | t | + f | (125,142) | t | + f | (125,143) | t | + f | (125,144) | t | + f | (125,145) | t | + f | (125,146) | t | + f | (125,147) | t | + f | (125,148) | t | + f | (125,149) | t | + f | (125,150) | t | + f | (125,151) | t | + f | (125,152) | t | + f | (125,153) | t | + f | (125,154) | t | + f | (125,155) | t | + f | (125,156) | t | + f | (126,1) | t | + f | (126,2) | t | + f | (126,3) | t | + f | (126,4) | t | + f | (126,5) | t | + f | (126,6) | t | + f | (126,7) | t | + f | (126,8) | t | + f | (126,9) | t | + f | (126,10) | t | + f | (126,11) | t | + f | (126,12) | t | + f | (126,13) | t | + f | (126,14) | t | + f | (126,15) | t | + f | (126,16) | t | + f | (126,17) | t | + f | (126,18) | t | + f | (126,19) | t | + f | (126,20) | t | + f | (126,21) | t | + f | (126,22) | t | + f | (126,23) | t | + f | (126,24) | t | + f | (126,25) | t | + f | (126,26) | t | + f | (126,27) | t | + f | (126,28) | t | + f | (126,29) | t | + f | (126,30) | t | + f | (126,31) | t | + f | (126,32) | t | + f | (126,33) | t | + f | (126,34) | t | + f | (126,35) | t | + f | (126,36) | t | + f | (126,37) | t | + f | (126,38) | t | + f | (126,39) | t | + f | (126,40) | t | + f | (126,41) | t | + f | (126,42) | t | + f | (126,43) | t | + f | (126,44) | t | + f | (126,45) | t | + f | (126,46) | t | + f | (126,47) | t | + f | (126,48) | t | + f | (126,49) | t | + f | (126,50) | t | + f | (126,51) | t | + f | (126,52) | t | + f | (126,53) | t | + f | (126,54) | t | + f | (126,55) | t | + f | (126,56) | t | + f | (126,57) | t | + f | (126,58) | t | + f | (126,59) | t | + f | (126,60) | t | + f | (126,61) | t | + f | (126,62) | t | + f | (126,63) | t | + f | (126,64) | t | + f | (126,65) | t | + f | (126,66) | t | + f | (126,67) | t | + f | (126,68) | t | + f | (126,69) | t | + f | (126,70) | t | + f | (126,71) | t | + f | (126,72) | t | + f | (126,73) | t | + f | (126,74) | t | + f | (126,75) | t | + f | (126,76) | t | + f | (126,77) | t | + f | (126,78) | t | + f | (126,79) | t | + f | (126,80) | t | + f | (126,81) | t | + f | (126,82) | t | + f | (126,83) | t | + f | (126,84) | t | + f | (126,85) | t | + f | (126,86) | t | + f | (126,87) | t | + f | (126,88) | t | + f | (126,89) | t | + f | (126,90) | t | + f | (126,91) | t | + f | (126,92) | t | + f | (126,93) | t | + f | (126,94) | t | + f | (126,95) | t | + f | (126,96) | t | + f | (126,97) | t | + f | (126,98) | t | + f | (126,99) | t | + f | (126,100) | t | + f | (126,101) | t | + f | (126,102) | t | + f | (126,103) | t | + f | (126,104) | t | + f | (126,105) | t | + f | (126,106) | t | + f | (126,107) | t | + f | (126,108) | t | + f | (126,109) | t | + f | (126,110) | t | + f | (126,111) | t | + f | (126,112) | t | + f | (126,113) | t | + f | (126,114) | t | + f | (126,115) | t | + f | (126,116) | t | + f | (126,117) | t | + f | (126,118) | t | + f | (126,119) | t | + f | (126,120) | t | + f | (126,121) | t | + f | (126,122) | t | + f | (126,123) | t | + f | (126,124) | t | + f | (126,125) | t | + f | (126,126) | t | + f | (126,127) | t | + f | (126,128) | t | + f | (126,129) | t | + f | (126,130) | t | + f | (126,131) | t | + f | (126,132) | t | + f | (126,133) | t | + f | (126,134) | t | + f | (126,135) | t | + f | (126,136) | t | + f | (126,137) | t | + f | (126,138) | t | + f | (126,139) | t | + f | (126,140) | t | + f | (126,141) | t | + f | (126,142) | t | + f | (126,143) | t | + f | (126,144) | t | + f | (126,145) | t | + f | (126,146) | t | + f | (126,147) | t | + f | (126,148) | t | + f | (126,149) | t | + f | (126,150) | t | + f | (126,151) | t | + f | (126,152) | t | + f | (126,153) | t | + f | (126,154) | t | + f | (126,155) | t | + f | (126,156) | t | + f | (127,1) | t | + f | (127,2) | t | + f | (127,3) | t | + f | (127,4) | t | + f | (127,5) | t | + f | (127,6) | t | + f | (127,7) | t | + f | (127,8) | t | + f | (127,9) | t | + f | (127,10) | t | + f | (127,11) | t | + f | (127,12) | t | + f | (127,13) | t | + f | (127,14) | t | + f | (127,15) | t | + f | (127,16) | t | + f | (127,17) | t | + f | (127,18) | t | + f | (127,19) | t | + f | (127,20) | t | + f | (127,21) | t | + f | (127,22) | t | + f | (127,23) | t | + f | (127,24) | t | + f | (127,25) | t | + f | (127,26) | t | + f | (127,27) | t | + f | (127,28) | t | + f | (127,29) | t | + f | (127,30) | t | + f | (127,31) | t | + f | (127,32) | t | + f | (127,33) | t | + f | (127,34) | t | + f | (127,35) | t | + f | (127,36) | t | + f | (127,37) | t | + f | (127,38) | t | + f | (127,39) | t | + f | (127,40) | t | + f | (127,41) | t | + f | (127,42) | t | + f | (127,43) | t | + f | (127,44) | t | + f | (127,45) | t | + f | (127,46) | t | + f | (127,47) | t | + f | (127,48) | t | + f | (127,49) | t | + f | (127,50) | t | + f | (127,51) | t | + f | (127,52) | t | + f | (127,53) | t | + f | (127,54) | t | + f | (127,55) | t | + f | (127,56) | t | + f | (127,57) | t | + f | (127,58) | t | + f | (127,59) | t | + f | (127,60) | t | + f | (127,61) | t | + f | (127,62) | t | + f | (127,63) | t | + f | (127,64) | t | + f | (127,65) | t | + f | (127,66) | t | + f | (127,67) | t | + f | (127,68) | t | + f | (127,69) | t | + f | (127,70) | t | + f | (127,71) | t | + f | (127,72) | t | + f | (127,73) | t | + f | (127,74) | t | + f | (127,75) | t | + f | (127,76) | t | + f | (127,77) | t | + f | (127,78) | t | + f | (127,79) | t | + f | (127,80) | t | + f | (127,81) | t | + f | (127,82) | t | + f | (127,83) | t | + f | (127,84) | t | + f | (127,85) | t | + f | (127,86) | t | + f | (127,87) | t | + f | (127,88) | t | + f | (127,89) | t | + f | (127,90) | t | + f | (127,91) | t | + f | (127,92) | t | + f | (127,93) | t | + f | (127,94) | t | + f | (127,95) | t | + f | (127,96) | t | + f | (127,97) | t | + f | (127,98) | t | + f | (127,99) | t | + f | (127,100) | t | + f | (127,101) | t | + f | (127,102) | t | + f | (127,103) | t | + f | (127,104) | t | + f | (127,105) | t | + f | (127,106) | t | + f | (127,107) | t | + f | (127,108) | t | + f | (127,109) | t | + f | (127,110) | t | + f | (127,111) | t | + f | (127,112) | t | + f | (127,113) | t | + f | (127,114) | t | + f | (127,115) | t | + f | (127,116) | t | + f | (127,117) | t | + f | (127,118) | t | + f | (127,119) | t | + f | (127,120) | t | + f | (127,121) | t | + f | (127,122) | t | + f | (127,123) | t | + f | (127,124) | t | + f | (127,125) | t | + f | (127,126) | t | + f | (127,127) | t | + f | (127,128) | t | + f | (127,129) | t | + f | (127,130) | t | + f | (127,131) | t | + f | (127,132) | t | + f | (127,133) | t | + f | (127,134) | t | + f | (127,135) | t | + f | (127,136) | t | + f | (127,137) | t | + f | (127,138) | t | + f | (127,139) | t | + f | (127,140) | t | + f | (127,141) | t | + f | (127,142) | t | + f | (127,143) | t | + f | (127,144) | t | + f | (127,145) | t | + f | (127,146) | t | + f | (127,147) | t | + f | (127,148) | t | + f | (127,149) | t | + f | (127,150) | t | + f | (127,151) | t | + f | (127,152) | t | + f | (127,153) | t | + f | (127,154) | t | + f | (127,155) | t | + f | (127,156) | t | + f | (128,1) | t | + f | (128,2) | t | + f | (128,3) | t | + f | (128,4) | t | + f | (128,5) | t | + f | (128,6) | t | + f | (128,7) | t | + f | (128,8) | t | + f | (128,9) | t | + f | (128,10) | t | + f | (128,11) | t | + f | (128,12) | t | + f | (128,13) | t | + f | (128,14) | t | + f | (128,15) | t | + f | (128,16) | t | + f | (128,17) | t | + f | (128,18) | t | + f | (128,19) | t | + f | (128,20) | t | + f | (128,21) | t | + f | (128,22) | t | + f | (128,23) | t | + f | (128,24) | t | + f | (128,25) | t | + f | (128,26) | t | + f | (128,27) | t | + f | (128,28) | t | + f | (128,29) | t | + f | (128,30) | t | + f | (128,31) | t | + f | (128,32) | t | + f | (128,33) | t | + f | (128,34) | t | + f | (128,35) | t | + f | (128,36) | t | + f | (128,37) | t | + f | (128,38) | t | + f | (128,39) | t | + f | (128,40) | t | + f | (128,41) | t | + f | (128,42) | t | + f | (128,43) | t | + f | (128,44) | t | + f | (128,45) | t | + f | (128,46) | t | + f | (128,47) | t | + f | (128,48) | t | + f | (128,49) | t | + f | (128,50) | t | + f | (128,51) | t | + f | (128,52) | t | + f | (128,53) | t | + f | (128,54) | t | + f | (128,55) | t | + f | (128,56) | t | + f | (128,57) | t | + f | (128,58) | t | + f | (128,59) | t | + f | (128,60) | t | + f | (128,61) | t | + f | (128,62) | t | + f | (128,63) | t | + f | (128,64) | t | + f | (128,65) | t | + f | (128,66) | t | + f | (128,67) | t | + f | (128,68) | t | + f | (128,69) | t | + f | (128,70) | t | + f | (128,71) | t | + f | (128,72) | t | + f | (128,73) | t | + f | (128,74) | t | + f | (128,75) | t | + f | (128,76) | t | + f | (128,77) | t | + f | (128,78) | t | + f | (128,79) | t | + f | (128,80) | t | + f | (128,81) | t | + f | (128,82) | t | + f | (128,83) | t | + f | (128,84) | t | + f | (128,85) | t | + f | (128,86) | t | + f | (128,87) | t | + f | (128,88) | t | + f | (128,89) | t | + f | (128,90) | t | + f | (128,91) | t | + f | (128,92) | t | + f | (128,93) | t | + f | (128,94) | t | + f | (128,95) | t | + f | (128,96) | t | + f | (128,97) | t | + f | (128,98) | t | + f | (128,99) | t | + f | (128,100) | t | + f | (128,101) | t | + f | (128,102) | t | + f | (128,103) | t | + f | (128,104) | t | + f | (128,105) | t | + f | (128,106) | t | + f | (128,107) | t | + f | (128,108) | t | + f | (128,109) | t | + f | (128,110) | t | + f | (128,111) | t | + f | (128,112) | t | + f | (128,113) | t | + f | (128,114) | t | + f | (128,115) | t | + f | (128,116) | t | + f | (128,117) | t | + f | (128,118) | t | + f | (128,119) | t | + f | (128,120) | t | + f | (128,121) | t | + f | (128,122) | t | + f | (128,123) | t | + f | (128,124) | t | + f | (128,125) | t | + f | (128,126) | t | + f | (128,127) | t | + f | (128,128) | t | + f | (128,129) | t | + f | (128,130) | t | + f | (128,131) | t | + f | (128,132) | t | + f | (128,133) | t | + f | (128,134) | t | + f | (128,135) | t | + f | (128,136) | t | + f | (128,137) | t | + f | (128,138) | t | + f | (128,139) | t | + f | (128,140) | t | + f | (128,141) | t | + f | (128,142) | t | + f | (128,143) | t | + f | (128,144) | t | + f | (128,145) | t | + f | (128,146) | t | + f | (128,147) | t | + f | (128,148) | t | + f | (128,149) | t | + f | (128,150) | t | + f | (128,151) | t | + f | (128,152) | t | + f | (128,153) | t | + f | (128,154) | t | + f | (128,155) | t | + f | (128,156) | t | + f | (129,1) | t | + f | (129,2) | t | + f | (129,3) | t | + f | (129,4) | t | + f | (129,5) | t | + f | (129,6) | t | + f | (129,7) | t | + f | (129,8) | t | + f | (129,9) | t | + f | (129,10) | t | + f | (129,11) | t | + f | (129,12) | t | + f | (129,13) | t | + f | (129,14) | t | + f | (129,15) | t | + f | (129,16) | t | + f | (129,17) | t | + f | (129,18) | t | + f | (129,19) | t | + f | (129,20) | t | + f | (129,21) | t | + f | (129,22) | t | + f | (129,23) | t | + f | (129,24) | t | + f | (129,25) | t | + f | (129,26) | t | + f | (129,27) | t | + f | (129,28) | t | + f | (129,29) | t | + f | (129,30) | t | + f | (129,31) | t | + f | (129,32) | t | + f | (129,33) | t | + f | (129,34) | t | + f | (129,35) | t | + f | (129,36) | t | + f | (129,37) | t | + f | (129,38) | t | + f | (129,39) | t | + f | (129,40) | t | + f | (129,41) | t | + f | (129,42) | t | + f | (129,43) | t | + f | (129,44) | t | + f | (129,45) | t | + f | (129,46) | t | + f | (129,47) | t | + f | (129,48) | t | + f | (129,49) | t | + f | (129,50) | t | + f | (129,51) | t | + f | (129,52) | t | + f | (129,53) | t | + f | (129,54) | t | + f | (129,55) | t | + f | (129,56) | t | + f | (129,57) | t | + f | (129,58) | t | + f | (129,59) | t | + f | (129,60) | t | + f | (129,61) | t | + f | (129,62) | t | + f | (129,63) | t | + f | (129,64) | t | + f | (129,65) | t | + f | (129,66) | t | + f | (129,67) | t | + f | (129,68) | t | + f | (129,69) | t | + f | (129,70) | t | + f | (129,71) | t | + f | (129,72) | t | + f | (129,73) | t | + f | (129,74) | t | + f | (129,75) | t | + f | (129,76) | t | + f | (129,77) | t | + f | (129,78) | t | + f | (129,79) | t | + f | (129,80) | t | + f | (129,81) | t | + f | (129,82) | t | + f | (129,83) | t | + f | (129,84) | t | + f | (129,85) | t | + f | (129,86) | t | + f | (129,87) | t | + f | (129,88) | t | + f | (129,89) | t | + f | (129,90) | t | + f | (129,91) | t | + f | (129,92) | t | + f | (129,93) | t | + f | (129,94) | t | + f | (129,95) | t | + f | (129,96) | t | + f | (129,97) | t | + f | (129,98) | t | + f | (129,99) | t | + f | (129,100) | t | + f | (129,101) | t | + f | (129,102) | t | + f | (129,103) | t | + f | (129,104) | t | + f | (129,105) | t | + f | (129,106) | t | + f | (129,107) | t | + f | (129,108) | t | + f | (129,109) | t | + f | (129,110) | t | + f | (129,111) | t | + f | (129,112) | t | + f | (129,113) | t | + f | (129,114) | t | + f | (129,115) | t | + f | (129,116) | t | + f | (129,117) | t | + f | (129,118) | t | + f | (129,119) | t | + f | (129,120) | t | + f | (129,121) | t | + f | (129,122) | t | + f | (129,123) | t | + f | (129,124) | t | + f | (129,125) | t | + f | (129,126) | t | + f | (129,127) | t | + f | (129,128) | t | + f | (129,129) | t | + f | (129,130) | t | + f | (129,131) | t | + f | (129,132) | t | + f | (129,133) | t | + f | (129,134) | t | + f | (129,135) | t | + f | (129,136) | t | + f | (129,137) | t | + f | (129,138) | t | + f | (129,139) | t | + f | (129,140) | t | + f | (129,141) | t | + f | (129,142) | t | + f | (129,143) | t | + f | (129,144) | t | + f | (129,145) | t | + f | (129,146) | t | + f | (129,147) | t | + f | (129,148) | t | + f | (129,149) | t | + f | (129,150) | t | + f | (129,151) | t | + f | (129,152) | t | + f | (129,153) | t | + f | (129,154) | t | + f | (129,155) | t | + f | (129,156) | t | + f | (130,1) | t | + f | (130,2) | t | + f | (130,3) | t | + f | (130,4) | t | + f | (130,5) | t | + f | (130,6) | t | + f | (130,7) | t | + f | (130,8) | t | + f | (130,9) | t | + f | (130,10) | t | + f | (130,11) | t | + f | (130,12) | t | + f | (130,13) | t | + f | (130,14) | t | + f | (130,15) | t | + f | (130,16) | t | + f | (130,17) | t | + f | (130,18) | t | + f | (130,19) | t | + f | (130,20) | t | + f | (130,21) | t | + f | (130,22) | t | + f | (130,23) | t | + f | (130,24) | t | + f | (130,25) | t | + f | (130,26) | t | + f | (130,27) | t | + f | (130,28) | t | + f | (130,29) | t | + f | (130,30) | t | + f | (130,31) | t | + f | (130,32) | t | + f | (130,33) | t | + f | (130,34) | t | + f | (130,35) | t | + f | (130,36) | t | + f | (130,37) | t | + f | (130,38) | t | + f | (130,39) | t | + f | (130,40) | t | + f | (130,41) | t | + f | (130,42) | t | + f | (130,43) | t | + f | (130,44) | t | + f | (130,45) | t | + f | (130,46) | t | + f | (130,47) | t | + f | (130,48) | t | + f | (130,49) | t | + f | (130,50) | t | + f | (130,51) | t | + f | (130,52) | t | + f | (130,53) | t | + f | (130,54) | t | + f | (130,55) | t | + f | (130,56) | t | + f | (130,57) | t | + f | (130,58) | t | + f | (130,59) | t | + f | (130,60) | t | + f | (130,61) | t | + f | (130,62) | t | + f | (130,63) | t | + f | (130,64) | t | + f | (130,65) | t | + f | (130,66) | t | + f | (130,67) | t | + f | (130,68) | t | + f | (130,69) | t | + f | (130,70) | t | + f | (130,71) | t | + f | (130,72) | t | + f | (130,73) | t | + f | (130,74) | t | + f | (130,75) | t | + f | (130,76) | t | + f | (130,77) | t | + f | (130,78) | t | + f | (130,79) | t | + f | (130,80) | t | + f | (130,81) | t | + f | (130,82) | t | + f | (130,83) | t | + f | (130,84) | t | + f | (130,85) | t | + f | (130,86) | t | + f | (130,87) | t | + f | (130,88) | t | + f | (130,89) | t | + f | (130,90) | t | + f | (130,91) | t | + f | (130,92) | t | + f | (130,93) | t | + f | (130,94) | t | + f | (130,95) | t | + f | (130,96) | t | + f | (130,97) | t | + f | (130,98) | t | + f | (130,99) | t | + f | (130,100) | t | + f | (130,101) | t | + f | (130,102) | t | + f | (130,103) | t | + f | (130,104) | t | + f | (130,105) | t | + f | (130,106) | t | + f | (130,107) | t | + f | (130,108) | t | + f | (130,109) | t | + f | (130,110) | t | + f | (130,111) | t | + f | (130,112) | t | + f | (130,113) | t | + f | (130,114) | t | + f | (130,115) | t | + f | (130,116) | t | + f | (130,117) | t | + f | (130,118) | t | + f | (130,119) | t | + f | (130,120) | t | + f | (130,121) | t | + f | (130,122) | t | + f | (130,123) | t | + f | (130,124) | t | + f | (130,125) | t | + f | (130,126) | t | + f | (130,127) | t | + f | (130,128) | t | + f | (130,129) | t | + f | (130,130) | t | + f | (130,131) | t | + f | (130,132) | t | + f | (130,133) | t | + f | (130,134) | t | + f | (130,135) | t | + f | (130,136) | t | + f | (130,137) | t | + f | (130,138) | t | + f | (130,139) | t | + f | (130,140) | t | + f | (130,141) | t | + f | (130,142) | t | + f | (130,143) | t | + f | (130,144) | t | + f | (130,145) | t | + f | (130,146) | t | + f | (130,147) | t | + f | (130,148) | t | + f | (130,149) | t | + f | (130,150) | t | + f | (130,151) | t | + f | (130,152) | t | + f | (130,153) | t | + f | (130,154) | t | + f | (130,155) | t | + f | (130,156) | t | + f | (131,1) | t | + f | (131,2) | t | + f | (131,3) | t | + f | (131,4) | t | + f | (131,5) | t | + f | (131,6) | t | + f | (131,7) | t | + f | (131,8) | t | + f | (131,9) | t | + f | (131,10) | t | + f | (131,11) | t | + f | (131,12) | t | + f | (131,13) | t | + f | (131,14) | t | + f | (131,15) | t | + f | (131,16) | t | + f | (131,17) | t | + f | (131,18) | t | + f | (131,19) | t | + f | (131,20) | t | + f | (131,21) | t | + f | (131,22) | t | + f | (131,23) | t | + f | (131,24) | t | + f | (131,25) | t | + f | (131,26) | t | + f | (131,27) | t | + f | (131,28) | t | + f | (131,29) | t | + f | (131,30) | t | + f | (131,31) | t | + f | (131,32) | t | + f | (131,33) | t | + f | (131,34) | t | + f | (131,35) | t | + f | (131,36) | t | + f | (131,37) | t | + f | (131,38) | t | + f | (131,39) | t | + f | (131,40) | t | + f | (131,41) | t | + f | (131,42) | t | + f | (131,43) | t | + f | (131,44) | t | + f | (131,45) | t | + f | (131,46) | t | + f | (131,47) | t | + f | (131,48) | t | + f | (131,49) | t | + f | (131,50) | t | + f | (131,51) | t | + f | (131,52) | t | + f | (131,53) | t | + f | (131,54) | t | + f | (131,55) | t | + f | (131,56) | t | + f | (131,57) | t | + f | (131,58) | t | + f | (131,59) | t | + f | (131,60) | t | + f | (131,61) | t | + f | (131,62) | t | + f | (131,63) | t | + f | (131,64) | t | + f | (131,65) | t | + f | (131,66) | t | + f | (131,67) | t | + f | (131,68) | t | + f | (131,69) | t | + f | (131,70) | t | + f | (131,71) | t | + f | (131,72) | t | + f | (131,73) | t | + f | (131,74) | t | + f | (131,75) | t | + f | (131,76) | t | + f | (131,77) | t | + f | (131,78) | t | + f | (131,79) | t | + f | (131,80) | t | + f | (131,81) | t | + f | (131,82) | t | + f | (131,83) | t | + f | (131,84) | t | + f | (131,85) | t | + f | (131,86) | t | + f | (131,87) | t | + f | (131,88) | t | + f | (131,89) | t | + f | (131,90) | t | + f | (131,91) | t | + f | (131,92) | t | + f | (131,93) | t | + f | (131,94) | t | + f | (131,95) | t | + f | (131,96) | t | + f | (131,97) | t | + f | (131,98) | t | + f | (131,99) | t | + f | (131,100) | t | + f | (131,101) | t | + f | (131,102) | t | + f | (131,103) | t | + f | (131,104) | t | + f | (131,105) | t | + f | (131,106) | t | + f | (131,107) | t | + f | (131,108) | t | + f | (131,109) | t | + f | (131,110) | t | + f | (131,111) | t | + f | (131,112) | t | + f | (131,113) | t | + f | (131,114) | t | + f | (131,115) | t | + f | (131,116) | t | + f | (131,117) | t | + f | (131,118) | t | + f | (131,119) | t | + f | (131,120) | t | + f | (131,121) | t | + f | (131,122) | t | + f | (131,123) | t | + f | (131,124) | t | + f | (131,125) | t | + f | (131,126) | t | + f | (131,127) | t | + f | (131,128) | t | + f | (131,129) | t | + f | (131,130) | t | + f | (131,131) | t | + f | (131,132) | t | + f | (131,133) | t | + f | (131,134) | t | + f | (131,135) | t | + f | (131,136) | t | + f | (131,137) | t | + f | (131,138) | t | + f | (131,139) | t | + f | (131,140) | t | + f | (131,141) | t | + f | (131,142) | t | + f | (131,143) | t | + f | (131,144) | t | + f | (131,145) | t | + f | (131,146) | t | + f | (131,147) | t | + f | (131,148) | t | + f | (131,149) | t | + f | (131,150) | t | + f | (131,151) | t | + f | (131,152) | t | + f | (131,153) | t | + f | (131,154) | t | + f | (131,155) | t | + f | (131,156) | t | + f | (132,1) | t | + f | (132,2) | t | + f | (132,3) | t | + f | (132,4) | t | + f | (132,5) | t | + f | (132,6) | t | + f | (132,7) | t | + f | (132,8) | t | + f | (132,9) | t | + f | (132,10) | t | + f | (132,11) | t | + f | (132,12) | t | + f | (132,13) | t | + f | (132,14) | t | + f | (132,15) | t | + f | (132,16) | t | + f | (132,17) | t | + f | (132,18) | t | + f | (132,19) | t | + f | (132,20) | t | + f | (132,21) | t | + f | (132,22) | t | + f | (132,23) | t | + f | (132,24) | t | + f | (132,25) | t | + f | (132,26) | t | + f | (132,27) | t | + f | (132,28) | t | + f | (132,29) | t | + f | (132,30) | t | + f | (132,31) | t | + f | (132,32) | t | + f | (132,33) | t | + f | (132,34) | t | + f | (132,35) | t | + f | (132,36) | t | + f | (132,37) | t | + f | (132,38) | t | + f | (132,39) | t | + f | (132,40) | t | + f | (132,41) | t | + f | (132,42) | t | + f | (132,43) | t | + f | (132,44) | t | + f | (132,45) | t | + f | (132,46) | t | + f | (132,47) | t | + f | (132,48) | t | + f | (132,49) | t | + f | (132,50) | t | + f | (132,51) | t | + f | (132,52) | t | + f | (132,53) | t | + f | (132,54) | t | + f | (132,55) | t | + f | (132,56) | t | + f | (132,57) | t | + f | (132,58) | t | + f | (132,59) | t | + f | (132,60) | t | + f | (132,61) | t | + f | (132,62) | t | + f | (132,63) | t | + f | (132,64) | t | + f | (132,65) | t | + f | (132,66) | t | + f | (132,67) | t | + f | (132,68) | t | + f | (132,69) | t | + f | (132,70) | t | + f | (132,71) | t | + f | (132,72) | t | + f | (132,73) | t | + f | (132,74) | t | + f | (132,75) | t | + f | (132,76) | t | + f | (132,77) | t | + f | (132,78) | t | + f | (132,79) | t | + f | (132,80) | t | + f | (132,81) | t | + f | (132,82) | t | + f | (132,83) | t | + f | (132,84) | t | + f | (132,85) | t | + f | (132,86) | t | + f | (132,87) | t | + f | (132,88) | t | + f | (132,89) | t | + f | (132,90) | t | + f | (132,91) | t | + f | (132,92) | t | + f | (132,93) | t | + f | (132,94) | t | + f | (132,95) | t | + f | (132,96) | t | + f | (132,97) | t | + f | (132,98) | t | + f | (132,99) | t | + f | (132,100) | t | + f | (132,101) | t | + f | (132,102) | t | + f | (132,103) | t | + f | (132,104) | t | + f | (132,105) | t | + f | (132,106) | t | + f | (132,107) | t | + f | (132,108) | t | + f | (132,109) | t | + f | (132,110) | t | + f | (132,111) | t | + f | (132,112) | t | + f | (132,113) | t | + f | (132,114) | t | + f | (132,115) | t | + f | (132,116) | t | + f | (132,117) | t | + f | (132,118) | t | + f | (132,119) | t | + f | (132,120) | t | + f | (132,121) | t | + f | (132,122) | t | + f | (132,123) | t | + f | (132,124) | t | + f | (132,125) | t | + f | (132,126) | t | + f | (132,127) | t | + f | (132,128) | t | + f | (132,129) | t | + f | (132,130) | t | + f | (132,131) | t | + f | (132,132) | t | + f | (132,133) | t | + f | (132,134) | t | + f | (132,135) | t | + f | (132,136) | t | + f | (132,137) | t | + f | (132,138) | t | + f | (132,139) | t | + f | (132,140) | t | + f | (132,141) | t | + f | (132,142) | t | + f | (132,143) | t | + f | (132,144) | t | + f | (132,145) | t | + f | (132,146) | t | + f | (132,147) | t | + f | (132,148) | t | + f | (132,149) | t | + f | (132,150) | t | + f | (132,151) | t | + f | (132,152) | t | + f | (132,153) | t | + f | (132,154) | t | + f | (132,155) | t | + f | (132,156) | t | + f | (133,1) | t | + f | (133,2) | t | + f | (133,3) | t | + f | (133,4) | t | + f | (133,5) | t | + f | (133,6) | t | + f | (133,7) | t | + f | (133,8) | t | + f | (133,9) | t | + f | (133,10) | t | + f | (133,11) | t | + f | (133,12) | t | + f | (133,13) | t | + f | (133,14) | t | + f | (133,15) | t | + f | (133,16) | t | + f | (133,17) | t | + f | (133,18) | t | + f | (133,19) | t | + f | (133,20) | t | + f | (133,21) | t | + f | (133,22) | t | + f | (133,23) | t | + f | (133,24) | t | + f | (133,25) | t | + f | (133,26) | t | + f | (133,27) | t | + f | (133,28) | t | + f | (133,29) | t | + f | (133,30) | t | + f | (133,31) | t | + f | (133,32) | t | + f | (133,33) | t | + f | (133,34) | t | + f | (133,35) | t | + f | (133,36) | t | + f | (133,37) | t | + f | (133,38) | t | + f | (133,39) | t | + f | (133,40) | t | + f | (133,41) | t | + f | (133,42) | t | + f | (133,43) | t | + f | (133,44) | t | + f | (133,45) | t | + f | (133,46) | t | + f | (133,47) | t | + f | (133,48) | t | + f | (133,49) | t | + f | (133,50) | t | + f | (133,51) | t | + f | (133,52) | t | + f | (133,53) | t | + f | (133,54) | t | + f | (133,55) | t | + f | (133,56) | t | + f | (133,57) | t | + f | (133,58) | t | + f | (133,59) | t | + f | (133,60) | t | + f | (133,61) | t | + f | (133,62) | t | + f | (133,63) | t | + f | (133,64) | t | + f | (133,65) | t | + f | (133,66) | t | + f | (133,67) | t | + f | (133,68) | t | + f | (133,69) | t | + f | (133,70) | t | + f | (133,71) | t | + f | (133,72) | t | + f | (133,73) | t | + f | (133,74) | t | + f | (133,75) | t | + f | (133,76) | t | + f | (133,77) | t | + f | (133,78) | t | + f | (133,79) | t | + f | (133,80) | t | + f | (133,81) | t | + f | (133,82) | t | + f | (133,83) | t | + f | (133,84) | t | + f | (133,85) | t | + f | (133,86) | t | + f | (133,87) | t | + f | (133,88) | t | + f | (133,89) | t | + f | (133,90) | t | + f | (133,91) | t | + f | (133,92) | t | + f | (133,93) | t | + f | (133,94) | t | + f | (133,95) | t | + f | (133,96) | t | + f | (133,97) | t | + f | (133,98) | t | + f | (133,99) | t | + f | (133,100) | t | + f | (133,101) | t | + f | (133,102) | t | + f | (133,103) | t | + f | (133,104) | t | + f | (133,105) | t | + f | (133,106) | t | + f | (133,107) | t | + f | (133,108) | t | + f | (133,109) | t | + f | (133,110) | t | + f | (133,111) | t | + f | (133,112) | t | + f | (133,113) | t | + f | (133,114) | t | + f | (133,115) | t | + f | (133,116) | t | + f | (133,117) | t | + f | (133,118) | t | + f | (133,119) | t | + f | (133,120) | t | + f | (133,121) | t | + f | (133,122) | t | + f | (133,123) | t | + f | (133,124) | t | + f | (133,125) | t | + f | (133,126) | t | + f | (133,127) | t | + f | (133,128) | t | + f | (133,129) | t | + f | (133,130) | t | + f | (133,131) | t | + f | (133,132) | t | + f | (133,133) | t | + f | (133,134) | t | + f | (133,135) | t | + f | (133,136) | t | + f | (133,137) | t | + f | (133,138) | t | + f | (133,139) | t | + f | (133,140) | t | + f | (133,141) | t | + f | (133,142) | t | + f | (133,143) | t | + f | (133,144) | t | + f | (133,145) | t | + f | (133,146) | t | + f | (133,147) | t | + f | (133,148) | t | + f | (133,149) | t | + f | (133,150) | t | + f | (133,151) | t | + f | (133,152) | t | + f | (133,153) | t | + f | (133,154) | t | + f | (133,155) | t | + f | (133,156) | t | + f | (134,1) | t | + f | (134,2) | t | + f | (134,3) | t | + f | (134,4) | t | + f | (134,5) | t | + f | (134,6) | t | + f | (134,7) | t | + f | (134,8) | t | + f | (134,9) | t | + f | (134,10) | t | + f | (134,11) | t | + f | (134,12) | t | + f | (134,13) | t | + f | (134,14) | t | + f | (134,15) | t | + f | (134,16) | t | + f | (134,17) | t | + f | (134,18) | t | + f | (134,19) | t | + f | (134,20) | t | + f | (134,21) | t | + f | (134,22) | t | + f | (134,23) | t | + f | (134,24) | t | + f | (134,25) | t | + f | (134,26) | t | + f | (134,27) | t | + f | (134,28) | t | + f | (134,29) | t | + f | (134,30) | t | + f | (134,31) | t | + f | (134,32) | t | + f | (134,33) | t | + f | (134,34) | t | + f | (134,35) | t | + f | (134,36) | t | + f | (134,37) | t | + f | (134,38) | t | + f | (134,39) | t | + f | (134,40) | t | + f | (134,41) | t | + f | (134,42) | t | + f | (134,43) | t | + f | (134,44) | t | + f | (134,45) | t | + f | (134,46) | t | + f | (134,47) | t | + f | (134,48) | t | + f | (134,49) | t | + f | (134,50) | t | + f | (134,51) | t | + f | (134,52) | t | + f | (134,53) | t | + f | (134,54) | t | + f | (134,55) | t | + f | (134,56) | t | + f | (134,57) | t | + f | (134,58) | t | + f | (134,59) | t | + f | (134,60) | t | + f | (134,61) | t | + f | (134,62) | t | + f | (134,63) | t | + f | (134,64) | t | + f | (134,65) | t | + f | (134,66) | t | + f | (134,67) | t | + f | (134,68) | t | + f | (134,69) | t | + f | (134,70) | t | + f | (134,71) | t | + f | (134,72) | t | + f | (134,73) | t | + f | (134,74) | t | + f | (134,75) | t | + f | (134,76) | t | + f | (134,77) | t | + f | (134,78) | t | + f | (134,79) | t | + f | (134,80) | t | + f | (134,81) | t | + f | (134,82) | t | + f | (134,83) | t | + f | (134,84) | t | + f | (134,85) | t | + f | (134,86) | t | + f | (134,87) | t | + f | (134,88) | t | + f | (134,89) | t | + f | (134,90) | t | + f | (134,91) | t | + f | (134,92) | t | + f | (134,93) | t | + f | (134,94) | t | + f | (134,95) | t | + f | (134,96) | t | + f | (134,97) | t | + f | (134,98) | t | + f | (134,99) | t | + f | (134,100) | t | + f | (134,101) | t | + f | (134,102) | t | + f | (134,103) | t | + f | (134,104) | t | + f | (134,105) | t | + f | (134,106) | t | + f | (134,107) | t | + f | (134,108) | t | + f | (134,109) | t | + f | (134,110) | t | + f | (134,111) | t | + f | (134,112) | t | + f | (134,113) | t | + f | (134,114) | t | + f | (134,115) | t | + f | (134,116) | t | + f | (134,117) | t | + f | (134,118) | t | + f | (134,119) | t | + f | (134,120) | t | + f | (134,121) | t | + f | (134,122) | t | + f | (134,123) | t | + f | (134,124) | t | + f | (134,125) | t | + f | (134,126) | t | + f | (134,127) | t | + f | (134,128) | t | + f | (134,129) | t | + f | (134,130) | t | + f | (134,131) | t | + f | (134,132) | t | + f | (134,133) | t | + f | (134,134) | t | + f | (134,135) | t | + f | (134,136) | t | + f | (134,137) | t | + f | (134,138) | t | + f | (134,139) | t | + f | (134,140) | t | + f | (134,141) | t | + f | (134,142) | t | + f | (134,143) | t | + f | (134,144) | t | + f | (134,145) | t | + f | (134,146) | t | + f | (134,147) | t | + f | (134,148) | t | + f | (134,149) | t | + f | (134,150) | t | + f | (134,151) | t | + f | (134,152) | t | + f | (134,153) | t | + f | (134,154) | t | + f | (134,155) | t | + f | (134,156) | t | + f | (135,1) | t | + f | (135,2) | t | + f | (135,3) | t | + f | (135,4) | t | + f | (135,5) | t | + f | (135,6) | t | + f | (135,7) | t | + f | (135,8) | t | + f | (135,9) | t | + f | (135,10) | t | + f | (135,11) | t | + f | (135,12) | t | + f | (135,13) | t | + f | (135,14) | t | + f | (135,15) | t | + f | (135,16) | t | + f | (135,17) | t | + f | (135,18) | t | + f | (135,19) | t | + f | (135,20) | t | + f | (135,21) | t | + f | (135,22) | t | + f | (135,23) | t | + f | (135,24) | t | + f | (135,25) | t | + f | (135,26) | t | + f | (135,27) | t | + f | (135,28) | t | + f | (135,29) | t | + f | (135,30) | t | + f | (135,31) | t | + f | (135,32) | t | + f | (135,33) | t | + f | (135,34) | t | + f | (135,35) | t | + f | (135,36) | t | + f | (135,37) | t | + f | (135,38) | t | + f | (135,39) | t | + f | (135,40) | t | + f | (135,41) | t | + f | (135,42) | t | + f | (135,43) | t | + f | (135,44) | t | + f | (135,45) | t | + f | (135,46) | t | + f | (135,47) | t | + f | (135,48) | t | + f | (135,49) | t | + f | (135,50) | t | + f | (135,51) | t | + f | (135,52) | t | + f | (135,53) | t | + f | (135,54) | t | + f | (135,55) | t | + f | (135,56) | t | + f | (135,57) | t | + f | (135,58) | t | + f | (135,59) | t | + f | (135,60) | t | + f | (135,61) | t | + f | (135,62) | t | + f | (135,63) | t | + f | (135,64) | t | + f | (135,65) | t | + f | (135,66) | t | + f | (135,67) | t | + f | (135,68) | t | + f | (135,69) | t | + f | (135,70) | t | + f | (135,71) | t | + f | (135,72) | t | + f | (135,73) | t | + f | (135,74) | t | + f | (135,75) | t | + f | (135,76) | t | + f | (135,77) | t | + f | (135,78) | t | + f | (135,79) | t | + f | (135,80) | t | + f | (135,81) | t | + f | (135,82) | t | + f | (135,83) | t | + f | (135,84) | t | + f | (135,85) | t | + f | (135,86) | t | + f | (135,87) | t | + f | (135,88) | t | + f | (135,89) | t | + f | (135,90) | t | + f | (135,91) | t | + f | (135,92) | t | + f | (135,93) | t | + f | (135,94) | t | + f | (135,95) | t | + f | (135,96) | t | + f | (135,97) | t | + f | (135,98) | t | + f | (135,99) | t | + f | (135,100) | t | + f | (135,101) | t | + f | (135,102) | t | + f | (135,103) | t | + f | (135,104) | t | + f | (135,105) | t | + f | (135,106) | t | + f | (135,107) | t | + f | (135,108) | t | + f | (135,109) | t | + f | (135,110) | t | + f | (135,111) | t | + f | (135,112) | t | + f | (135,113) | t | + f | (135,114) | t | + f | (135,115) | t | + f | (135,116) | t | + f | (135,117) | t | + f | (135,118) | t | + f | (135,119) | t | + f | (135,120) | t | + f | (135,121) | t | + f | (135,122) | t | + f | (135,123) | t | + f | (135,124) | t | + f | (135,125) | t | + f | (135,126) | t | + f | (135,127) | t | + f | (135,128) | t | + f | (135,129) | t | + f | (135,130) | t | + f | (135,131) | t | + f | (135,132) | t | + f | (135,133) | t | + f | (135,134) | t | + f | (135,135) | t | + f | (135,136) | t | + f | (135,137) | t | + f | (135,138) | t | + f | (135,139) | t | + f | (135,140) | t | + f | (135,141) | t | + f | (135,142) | t | + f | (135,143) | t | + f | (135,144) | t | + f | (135,145) | t | + f | (135,146) | t | + f | (135,147) | t | + f | (135,148) | t | + f | (135,149) | t | + f | (135,150) | t | + f | (135,151) | t | + f | (135,152) | t | + f | (135,153) | t | + f | (135,154) | t | + f | (135,155) | t | + f | (135,156) | t | + f | (136,1) | t | + f | (136,2) | t | + f | (136,3) | t | + f | (136,4) | t | + f | (136,5) | t | + f | (136,6) | t | + f | (136,7) | t | + f | (136,8) | t | + f | (136,9) | t | + f | (136,10) | t | + f | (136,11) | t | + f | (136,12) | t | + f | (136,13) | t | + f | (136,14) | t | + f | (136,15) | t | + f | (136,16) | t | + f | (136,17) | t | + f | (136,18) | t | + f | (136,19) | t | + f | (136,20) | t | + f | (136,21) | t | + f | (136,22) | t | + f | (136,23) | t | + f | (136,24) | t | + f | (136,25) | t | + f | (136,26) | t | + f | (136,27) | t | + f | (136,28) | t | + f | (136,29) | t | + f | (136,30) | t | + f | (136,31) | t | + f | (136,32) | t | + f | (136,33) | t | + f | (136,34) | t | + f | (136,35) | t | + f | (136,36) | t | + f | (136,37) | t | + f | (136,38) | t | + f | (136,39) | t | + f | (136,40) | t | + f | (136,41) | t | + f | (136,42) | t | + f | (136,43) | t | + f | (136,44) | t | + f | (136,45) | t | + f | (136,46) | t | + f | (136,47) | t | + f | (136,48) | t | + f | (136,49) | t | + f | (136,50) | t | + f | (136,51) | t | + f | (136,52) | t | + f | (136,53) | t | + f | (136,54) | t | + f | (136,55) | t | + f | (136,56) | t | + f | (136,57) | t | + f | (136,58) | t | + f | (136,59) | t | + f | (136,60) | t | + f | (136,61) | t | + f | (136,62) | t | + f | (136,63) | t | + f | (136,64) | t | + f | (136,65) | t | + f | (136,66) | t | + f | (136,67) | t | + f | (136,68) | t | + f | (136,69) | t | + f | (136,70) | t | + f | (136,71) | t | + f | (136,72) | t | + f | (136,73) | t | + f | (136,74) | t | + f | (136,75) | t | + f | (136,76) | t | + f | (136,77) | t | + f | (136,78) | t | + f | (136,79) | t | + f | (136,80) | t | + f | (136,81) | t | + f | (136,82) | t | + f | (136,83) | t | + f | (136,84) | t | + f | (136,85) | t | + f | (136,86) | t | + f | (136,87) | t | + f | (136,88) | t | + f | (136,89) | t | + f | (136,90) | t | + f | (136,91) | t | + f | (136,92) | t | + f | (136,93) | t | + f | (136,94) | t | + f | (136,95) | t | + f | (136,96) | t | + f | (136,97) | t | + f | (136,98) | t | + f | (136,99) | t | + f | (136,100) | t | + f | (136,101) | t | + f | (136,102) | t | + f | (136,103) | t | + f | (136,104) | t | + f | (136,105) | t | + f | (136,106) | t | + f | (136,107) | t | + f | (136,108) | t | + f | (136,109) | t | + f | (136,110) | t | + f | (136,111) | t | + f | (136,112) | t | + f | (136,113) | t | + f | (136,114) | t | + f | (136,115) | t | + f | (136,116) | t | + f | (136,117) | t | + f | (136,118) | t | + f | (136,119) | t | + f | (136,120) | t | + f | (136,121) | t | + f | (136,122) | t | + f | (136,123) | t | + f | (136,124) | t | + f | (136,125) | t | + f | (136,126) | t | + f | (136,127) | t | + f | (136,128) | t | + f | (136,129) | t | + f | (136,130) | t | + f | (136,131) | t | + f | (136,132) | t | + f | (136,133) | t | + f | (136,134) | t | + f | (136,135) | t | + f | (136,136) | t | + f | (136,137) | t | + f | (136,138) | t | + f | (136,139) | t | + f | (136,140) | t | + f | (136,141) | t | + f | (136,142) | t | + f | (136,143) | t | + f | (136,144) | t | + f | (136,145) | t | + f | (136,146) | t | + f | (136,147) | t | + f | (136,148) | t | + f | (136,149) | t | + f | (136,150) | t | + f | (136,151) | t | + f | (136,152) | t | + f | (136,153) | t | + f | (136,154) | t | + f | (136,155) | t | + f | (136,156) | t | + f | (137,1) | t | + f | (137,2) | t | + f | (137,3) | t | + f | (137,4) | t | + f | (137,5) | t | + f | (137,6) | t | + f | (137,7) | t | + f | (137,8) | t | + f | (137,9) | t | + f | (137,10) | t | + f | (137,11) | t | + f | (137,12) | t | + f | (137,13) | t | + f | (137,14) | t | + f | (137,15) | t | + f | (137,16) | t | + f | (137,17) | t | + f | (137,18) | t | + f | (137,19) | t | + f | (137,20) | t | + f | (137,21) | t | + f | (137,22) | t | + f | (137,23) | t | + f | (137,24) | t | + f | (137,25) | t | + f | (137,26) | t | + f | (137,27) | t | + f | (137,28) | t | + f | (137,29) | t | + f | (137,30) | t | + f | (137,31) | t | + f | (137,32) | t | + f | (137,33) | t | + f | (137,34) | t | + f | (137,35) | t | + f | (137,36) | t | + f | (137,37) | t | + f | (137,38) | t | + f | (137,39) | t | + f | (137,40) | t | + f | (137,41) | t | + f | (137,42) | t | + f | (137,43) | t | + f | (137,44) | t | + f | (137,45) | t | + f | (137,46) | t | + f | (137,47) | t | + f | (137,48) | t | + f | (137,49) | t | + f | (137,50) | t | + f | (137,51) | t | + f | (137,52) | t | + f | (137,53) | t | + f | (137,54) | t | + f | (137,55) | t | + f | (137,56) | t | + f | (137,57) | t | + f | (137,58) | t | + f | (137,59) | t | + f | (137,60) | t | + f | (137,61) | t | + f | (137,62) | t | + f | (137,63) | t | + f | (137,64) | t | + f | (137,65) | t | + f | (137,66) | t | + f | (137,67) | t | + f | (137,68) | t | + f | (137,69) | t | + f | (137,70) | t | + f | (137,71) | t | + f | (137,72) | t | + f | (137,73) | t | + f | (137,74) | t | + f | (137,75) | t | + f | (137,76) | t | + f | (137,77) | t | + f | (137,78) | t | + f | (137,79) | t | + f | (137,80) | t | + f | (137,81) | t | + f | (137,82) | t | + f | (137,83) | t | + f | (137,84) | t | + f | (137,85) | t | + f | (137,86) | t | + f | (137,87) | t | + f | (137,88) | t | + f | (137,89) | t | + f | (137,90) | t | + f | (137,91) | t | + f | (137,92) | t | + f | (137,93) | t | + f | (137,94) | t | + f | (137,95) | t | + f | (137,96) | t | + f | (137,97) | t | + f | (137,98) | t | + f | (137,99) | t | + f | (137,100) | t | + f | (137,101) | t | + f | (137,102) | t | + f | (137,103) | t | + f | (137,104) | t | + f | (137,105) | t | + f | (137,106) | t | + f | (137,107) | t | + f | (137,108) | t | + f | (137,109) | t | + f | (137,110) | t | + f | (137,111) | t | + f | (137,112) | t | + f | (137,113) | t | + f | (137,114) | t | + f | (137,115) | t | + f | (137,116) | t | + f | (137,117) | t | + f | (137,118) | t | + f | (137,119) | t | + f | (137,120) | t | + f | (137,121) | t | + f | (137,122) | t | +(2600 rows) + +-- Testing on the index with additional information (order_by_attach = false) +CREATE INDEX test_with_addinfo_idx_false ON test_debug_table +USING rum (t rum_tsvector_addon_ops, d) +WITH (attach = 'd', to = 't', order_by_attach='f'); +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_false', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 399 +n_entry_pages | 226 +n_data_pages | 172 +n_entries | 1650 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_false', 1); + key | attrnum | category | down_link +---------------------------------+---------+------------------+----------- + 1o | 1 | RUM_CAT_NORM_KEY | 3 + 2j | 1 | RUM_CAT_NORM_KEY | 2 + 3i | 1 | RUM_CAT_NORM_KEY | 4 + 4j | 1 | RUM_CAT_NORM_KEY | 5 + 5q | 1 | RUM_CAT_NORM_KEY | 6 + 7h | 1 | RUM_CAT_NORM_KEY | 7 + a0 | 1 | RUM_CAT_NORM_KEY | 8 + a4 | 1 | RUM_CAT_NORM_KEY | 9 + a9 | 1 | RUM_CAT_NORM_KEY | 10 + ab | 1 | RUM_CAT_NORM_KEY | 11 + ae | 1 | RUM_CAT_NORM_KEY | 12 + ah | 1 | RUM_CAT_NORM_KEY | 13 + ak | 1 | RUM_CAT_NORM_KEY | 14 + an | 1 | RUM_CAT_NORM_KEY | 15 + aq | 1 | RUM_CAT_NORM_KEY | 16 + as | 1 | RUM_CAT_NORM_KEY | 17 + aw | 1 | RUM_CAT_NORM_KEY | 18 + az | 1 | RUM_CAT_NORM_KEY | 20 + b7 | 1 | RUM_CAT_NORM_KEY | 21 + bd | 1 | RUM_CAT_NORM_KEY | 32 + bh | 1 | RUM_CAT_NORM_KEY | 33 + bl | 1 | RUM_CAT_NORM_KEY | 34 + bp | 1 | RUM_CAT_NORM_KEY | 35 + bu | 1 | RUM_CAT_NORM_KEY | 36 + by | 1 | RUM_CAT_NORM_KEY | 37 + c5 | 1 | RUM_CAT_NORM_KEY | 38 + cb | 1 | RUM_CAT_NORM_KEY | 39 + cf | 1 | RUM_CAT_NORM_KEY | 40 + cj | 1 | RUM_CAT_NORM_KEY | 41 + cn | 1 | RUM_CAT_NORM_KEY | 42 + cr | 1 | RUM_CAT_NORM_KEY | 43 + cv | 1 | RUM_CAT_NORM_KEY | 44 + cy | 1 | RUM_CAT_NORM_KEY | 45 + d3 | 1 | RUM_CAT_NORM_KEY | 46 + d8 | 1 | RUM_CAT_NORM_KEY | 47 + db | 1 | RUM_CAT_NORM_KEY | 48 + de | 1 | RUM_CAT_NORM_KEY | 49 + dh | 1 | RUM_CAT_NORM_KEY | 50 + dk | 1 | RUM_CAT_NORM_KEY | 51 + dn | 1 | RUM_CAT_NORM_KEY | 52 + dq | 1 | RUM_CAT_NORM_KEY | 53 + dt | 1 | RUM_CAT_NORM_KEY | 54 + dw | 1 | RUM_CAT_NORM_KEY | 55 + dz | 1 | RUM_CAT_NORM_KEY | 56 + e2 | 1 | RUM_CAT_NORM_KEY | 57 + e5 | 1 | RUM_CAT_NORM_KEY | 58 + e8 | 1 | RUM_CAT_NORM_KEY | 59 + f2 | 1 | RUM_CAT_NORM_KEY | 86 + f8 | 1 | RUM_CAT_NORM_KEY | 87 + fc | 1 | RUM_CAT_NORM_KEY | 88 + ff | 1 | RUM_CAT_NORM_KEY | 89 + fi | 1 | RUM_CAT_NORM_KEY | 90 + fl | 1 | RUM_CAT_NORM_KEY | 91 + fo | 1 | RUM_CAT_NORM_KEY | 92 + fr | 1 | RUM_CAT_NORM_KEY | 93 + fu | 1 | RUM_CAT_NORM_KEY | 94 + fx | 1 | RUM_CAT_NORM_KEY | 95 + g1 | 1 | RUM_CAT_NORM_KEY | 96 + g7 | 1 | RUM_CAT_NORM_KEY | 97 + gb | 1 | RUM_CAT_NORM_KEY | 98 + ge | 1 | RUM_CAT_NORM_KEY | 99 + gh | 1 | RUM_CAT_NORM_KEY | 100 + gk | 1 | RUM_CAT_NORM_KEY | 101 + gn | 1 | RUM_CAT_NORM_KEY | 102 + gq | 1 | RUM_CAT_NORM_KEY | 103 + gt | 1 | RUM_CAT_NORM_KEY | 104 + gw | 1 | RUM_CAT_NORM_KEY | 105 + gz | 1 | RUM_CAT_NORM_KEY | 106 + h5 | 1 | RUM_CAT_NORM_KEY | 107 + ha | 1 | RUM_CAT_NORM_KEY | 108 + hd | 1 | RUM_CAT_NORM_KEY | 109 + hg | 1 | RUM_CAT_NORM_KEY | 110 + hj | 1 | RUM_CAT_NORM_KEY | 111 + hm | 1 | RUM_CAT_NORM_KEY | 112 + hp | 1 | RUM_CAT_NORM_KEY | 113 + ht | 1 | RUM_CAT_NORM_KEY | 114 + hw | 1 | RUM_CAT_NORM_KEY | 115 + hz | 1 | RUM_CAT_NORM_KEY | 116 + i3 | 1 | RUM_CAT_NORM_KEY | 117 + i7 | 1 | RUM_CAT_NORM_KEY | 118 + ib | 1 | RUM_CAT_NORM_KEY | 120 + ie | 1 | RUM_CAT_NORM_KEY | 121 + ig | 1 | RUM_CAT_NORM_KEY | 122 + ij | 1 | RUM_CAT_NORM_KEY | 123 + in | 1 | RUM_CAT_NORM_KEY | 124 + iq | 1 | RUM_CAT_NORM_KEY | 126 + iu | 1 | RUM_CAT_NORM_KEY | 128 + iz | 1 | RUM_CAT_NORM_KEY | 132 + j5 | 1 | RUM_CAT_NORM_KEY | 133 + ja | 1 | RUM_CAT_NORM_KEY | 134 + jd | 1 | RUM_CAT_NORM_KEY | 135 + jg | 1 | RUM_CAT_NORM_KEY | 136 + jk | 1 | RUM_CAT_NORM_KEY | 137 + jn | 1 | RUM_CAT_NORM_KEY | 138 + jr | 1 | RUM_CAT_NORM_KEY | 139 + jv | 1 | RUM_CAT_NORM_KEY | 140 + jz | 1 | RUM_CAT_NORM_KEY | 141 + k5 | 1 | RUM_CAT_NORM_KEY | 142 + ka | 1 | RUM_CAT_NORM_KEY | 143 + ke | 1 | RUM_CAT_NORM_KEY | 144 + kh | 1 | RUM_CAT_NORM_KEY | 145 + kl | 1 | RUM_CAT_NORM_KEY | 146 + ko | 1 | RUM_CAT_NORM_KEY | 147 + ks | 1 | RUM_CAT_NORM_KEY | 148 + kv | 1 | RUM_CAT_NORM_KEY | 149 + ky | 1 | RUM_CAT_NORM_KEY | 150 + l4 | 1 | RUM_CAT_NORM_KEY | 151 + la | 1 | RUM_CAT_NORM_KEY | 152 + ld | 1 | RUM_CAT_NORM_KEY | 153 + lh | 1 | RUM_CAT_NORM_KEY | 154 + ll | 1 | RUM_CAT_NORM_KEY | 155 + lo | 1 | RUM_CAT_NORM_KEY | 156 + lr | 1 | RUM_CAT_NORM_KEY | 157 + lv | 1 | RUM_CAT_NORM_KEY | 158 + ly | 1 | RUM_CAT_NORM_KEY | 159 + m3 | 1 | RUM_CAT_NORM_KEY | 160 + m9 | 1 | RUM_CAT_NORM_KEY | 161 + me | 1 | RUM_CAT_NORM_KEY | 162 + mj | 1 | RUM_CAT_NORM_KEY | 163 + mp | 1 | RUM_CAT_NORM_KEY | 164 + mu | 1 | RUM_CAT_NORM_KEY | 165 + my | 1 | RUM_CAT_NORM_KEY | 166 + n5 | 1 | RUM_CAT_NORM_KEY | 167 + nb | 1 | RUM_CAT_NORM_KEY | 168 + ng | 1 | RUM_CAT_NORM_KEY | 169 + nk | 1 | RUM_CAT_NORM_KEY | 170 + np | 1 | RUM_CAT_NORM_KEY | 171 + nt | 1 | RUM_CAT_NORM_KEY | 172 + ny | 1 | RUM_CAT_NORM_KEY | 173 + o2 | 1 | RUM_CAT_NORM_KEY | 174 + o6 | 1 | RUM_CAT_NORM_KEY | 175 + o9 | 1 | RUM_CAT_NORM_KEY | 176 + oc | 1 | RUM_CAT_NORM_KEY | 177 + of | 1 | RUM_CAT_NORM_KEY | 178 + oh | 1 | RUM_CAT_NORM_KEY | 180 + om | 1 | RUM_CAT_NORM_KEY | 183 + oo | 1 | RUM_CAT_NORM_KEY | 184 + oq | 1 | RUM_CAT_NORM_KEY | 185 + ov | 1 | RUM_CAT_NORM_KEY | 188 + oz | 1 | RUM_CAT_NORM_KEY | 190 + p4 | 1 | RUM_CAT_NORM_KEY | 191 + p8 | 1 | RUM_CAT_NORM_KEY | 192 + pb | 1 | RUM_CAT_NORM_KEY | 193 + pe | 1 | RUM_CAT_NORM_KEY | 194 + ph | 1 | RUM_CAT_NORM_KEY | 195 + pk | 1 | RUM_CAT_NORM_KEY | 196 + po | 1 | RUM_CAT_NORM_KEY | 198 + pr | 1 | RUM_CAT_NORM_KEY | 200 + pu | 1 | RUM_CAT_NORM_KEY | 201 + py | 1 | RUM_CAT_NORM_KEY | 203 + q2 | 1 | RUM_CAT_NORM_KEY | 204 + q5 | 1 | RUM_CAT_NORM_KEY | 207 + q7 | 1 | RUM_CAT_NORM_KEY | 208 + qx | 1 | RUM_CAT_NORM_KEY | 209 + r2 | 1 | RUM_CAT_NORM_KEY | 236 + r5 | 1 | RUM_CAT_NORM_KEY | 237 + r9 | 1 | RUM_CAT_NORM_KEY | 238 + rs | 1 | RUM_CAT_NORM_KEY | 244 + s1 | 1 | RUM_CAT_NORM_KEY | 262 + s7 | 1 | RUM_CAT_NORM_KEY | 264 + sb | 1 | RUM_CAT_NORM_KEY | 265 + se | 1 | RUM_CAT_NORM_KEY | 266 + sh | 1 | RUM_CAT_NORM_KEY | 267 + sk | 1 | RUM_CAT_NORM_KEY | 268 + sm | 1 | RUM_CAT_NORM_KEY | 269 + sp | 1 | RUM_CAT_NORM_KEY | 270 + ss | 1 | RUM_CAT_NORM_KEY | 271 + sv | 1 | RUM_CAT_NORM_KEY | 272 + sx | 1 | RUM_CAT_NORM_KEY | 273 + t0 | 1 | RUM_CAT_NORM_KEY | 274 + t4 | 1 | RUM_CAT_NORM_KEY | 275 + t8 | 1 | RUM_CAT_NORM_KEY | 276 + tf | 1 | RUM_CAT_NORM_KEY | 280 + tj | 1 | RUM_CAT_NORM_KEY | 282 + tp | 1 | RUM_CAT_NORM_KEY | 289 + tt | 1 | RUM_CAT_NORM_KEY | 291 + u3 | 1 | RUM_CAT_NORM_KEY | 298 + u7 | 1 | RUM_CAT_NORM_KEY | 299 + ub | 1 | RUM_CAT_NORM_KEY | 300 + ue | 1 | RUM_CAT_NORM_KEY | 301 + uh | 1 | RUM_CAT_NORM_KEY | 302 + uk | 1 | RUM_CAT_NORM_KEY | 303 + up | 1 | RUM_CAT_NORM_KEY | 304 + us | 1 | RUM_CAT_NORM_KEY | 309 + uw | 1 | RUM_CAT_NORM_KEY | 312 + uz | 1 | RUM_CAT_NORM_KEY | 314 + v7 | 1 | RUM_CAT_NORM_KEY | 315 + vd | 1 | RUM_CAT_NORM_KEY | 316 + vg | 1 | RUM_CAT_NORM_KEY | 317 + vk | 1 | RUM_CAT_NORM_KEY | 318 + vo | 1 | RUM_CAT_NORM_KEY | 319 + vs | 1 | RUM_CAT_NORM_KEY | 320 + vw | 1 | RUM_CAT_NORM_KEY | 321 + w0 | 1 | RUM_CAT_NORM_KEY | 322 + w3 | 1 | RUM_CAT_NORM_KEY | 323 + w6 | 1 | RUM_CAT_NORM_KEY | 324 + w8 | 1 | RUM_CAT_NORM_KEY | 325 + x2 | 1 | RUM_CAT_NORM_KEY | 352 + x9 | 1 | RUM_CAT_NORM_KEY | 353 + xe | 1 | RUM_CAT_NORM_KEY | 354 + xh | 1 | RUM_CAT_NORM_KEY | 355 + xl | 1 | RUM_CAT_NORM_KEY | 356 + xp | 1 | RUM_CAT_NORM_KEY | 357 + xt | 1 | RUM_CAT_NORM_KEY | 358 + xx | 1 | RUM_CAT_NORM_KEY | 359 + y0 | 1 | RUM_CAT_NORM_KEY | 360 + y4 | 1 | RUM_CAT_NORM_KEY | 361 + y8 | 1 | RUM_CAT_NORM_KEY | 362 + yc | 1 | RUM_CAT_NORM_KEY | 364 + yh | 1 | RUM_CAT_NORM_KEY | 366 + yl | 1 | RUM_CAT_NORM_KEY | 370 + yu | 1 | RUM_CAT_NORM_KEY | 378 + z2 | 1 | RUM_CAT_NORM_KEY | 379 + z8 | 1 | RUM_CAT_NORM_KEY | 384 + zd | 1 | RUM_CAT_NORM_KEY | 385 + zh | 1 | RUM_CAT_NORM_KEY | 386 + zl | 1 | RUM_CAT_NORM_KEY | 387 + zp | 1 | RUM_CAT_NORM_KEY | 388 + zs | 1 | RUM_CAT_NORM_KEY | 389 + zw | 1 | RUM_CAT_NORM_KEY | 390 + zz | 1 | RUM_CAT_NORM_KEY | 391 + Thu May 05 23:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 395 + Tue May 10 17:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 396 + Sun May 15 11:21:22.326724 2016 | 2 | RUM_CAT_NORM_KEY | 397 + +inf | | | 398 +(225 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 28); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 27 | 29 | 635 | 12 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_false', 28); +ERROR: input page is not a RUM {leaf} page +DETAIL: Flags 0003, expected 0002 +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 19); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------------- + 4294967295 | 4294967295 | 230 | 4872 | {data,leaf} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_false', 19); +ERROR: input page is not a RUM {data} page +DETAIL: Flags 0003, expected 0001 +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 20); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 18 | 21 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_false', 20); +ERROR: input page is not a RUM {data, leaf} page +DETAIL: Flags 0002, expected 0003 +-- Testing on the index with additional information (order_by_attach = true) +CREATE INDEX test_with_addinfo_idx_true ON test_debug_table +USING rum (t rum_tsvector_addon_ops, id) +WITH (attach = 'id', to = 't', order_by_attach='t'); +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_true', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 362 +n_entry_pages | 258 +n_data_pages | 103 +n_entries | 6142 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_true', 1); + key | attrnum | category | down_link +------+---------+------------------+----------- + 1r | 1 | RUM_CAT_NORM_KEY | 3 + 2o | 1 | RUM_CAT_NORM_KEY | 2 + 3w | 1 | RUM_CAT_NORM_KEY | 4 + 5a | 1 | RUM_CAT_NORM_KEY | 5 + 6s | 1 | RUM_CAT_NORM_KEY | 6 + 9y | 1 | RUM_CAT_NORM_KEY | 7 + a4 | 1 | RUM_CAT_NORM_KEY | 8 + aa | 1 | RUM_CAT_NORM_KEY | 9 + ad | 1 | RUM_CAT_NORM_KEY | 10 + ag | 1 | RUM_CAT_NORM_KEY | 11 + aj | 1 | RUM_CAT_NORM_KEY | 12 + am | 1 | RUM_CAT_NORM_KEY | 13 + ap | 1 | RUM_CAT_NORM_KEY | 14 + as | 1 | RUM_CAT_NORM_KEY | 15 + av | 1 | RUM_CAT_NORM_KEY | 16 + ay | 1 | RUM_CAT_NORM_KEY | 17 + b5 | 1 | RUM_CAT_NORM_KEY | 18 + bd | 1 | RUM_CAT_NORM_KEY | 27 + bi | 1 | RUM_CAT_NORM_KEY | 28 + bn | 1 | RUM_CAT_NORM_KEY | 29 + bt | 1 | RUM_CAT_NORM_KEY | 30 + by | 1 | RUM_CAT_NORM_KEY | 31 + c6 | 1 | RUM_CAT_NORM_KEY | 32 + cc | 1 | RUM_CAT_NORM_KEY | 33 + cg | 1 | RUM_CAT_NORM_KEY | 34 + cl | 1 | RUM_CAT_NORM_KEY | 35 + cq | 1 | RUM_CAT_NORM_KEY | 36 + cv | 1 | RUM_CAT_NORM_KEY | 37 + cz | 1 | RUM_CAT_NORM_KEY | 38 + d5 | 1 | RUM_CAT_NORM_KEY | 39 + da | 1 | RUM_CAT_NORM_KEY | 40 + dd | 1 | RUM_CAT_NORM_KEY | 41 + dh | 1 | RUM_CAT_NORM_KEY | 42 + dl | 1 | RUM_CAT_NORM_KEY | 43 + do | 1 | RUM_CAT_NORM_KEY | 44 + dr | 1 | RUM_CAT_NORM_KEY | 45 + du | 1 | RUM_CAT_NORM_KEY | 46 + dy | 1 | RUM_CAT_NORM_KEY | 47 + e1 | 1 | RUM_CAT_NORM_KEY | 48 + e5 | 1 | RUM_CAT_NORM_KEY | 49 + e9 | 1 | RUM_CAT_NORM_KEY | 50 + el | 1 | RUM_CAT_NORM_KEY | 53 + ev | 1 | RUM_CAT_NORM_KEY | 69 + f2 | 1 | RUM_CAT_NORM_KEY | 74 + f8 | 1 | RUM_CAT_NORM_KEY | 75 + fd | 1 | RUM_CAT_NORM_KEY | 76 + fg | 1 | RUM_CAT_NORM_KEY | 77 + fj | 1 | RUM_CAT_NORM_KEY | 78 + fn | 1 | RUM_CAT_NORM_KEY | 79 + fr | 1 | RUM_CAT_NORM_KEY | 80 + fv | 1 | RUM_CAT_NORM_KEY | 81 + fz | 1 | RUM_CAT_NORM_KEY | 82 + g6 | 1 | RUM_CAT_NORM_KEY | 83 + gb | 1 | RUM_CAT_NORM_KEY | 84 + ge | 1 | RUM_CAT_NORM_KEY | 85 + gi | 1 | RUM_CAT_NORM_KEY | 86 + gm | 1 | RUM_CAT_NORM_KEY | 87 + gq | 1 | RUM_CAT_NORM_KEY | 88 + gt | 1 | RUM_CAT_NORM_KEY | 89 + gx | 1 | RUM_CAT_NORM_KEY | 90 + h2 | 1 | RUM_CAT_NORM_KEY | 91 + h8 | 1 | RUM_CAT_NORM_KEY | 92 + hc | 1 | RUM_CAT_NORM_KEY | 93 + hf | 1 | RUM_CAT_NORM_KEY | 94 + hj | 1 | RUM_CAT_NORM_KEY | 95 + hm | 1 | RUM_CAT_NORM_KEY | 96 + hp | 1 | RUM_CAT_NORM_KEY | 97 + ht | 1 | RUM_CAT_NORM_KEY | 98 + hw | 1 | RUM_CAT_NORM_KEY | 99 + i0 | 1 | RUM_CAT_NORM_KEY | 100 + i5 | 1 | RUM_CAT_NORM_KEY | 101 + i9 | 1 | RUM_CAT_NORM_KEY | 102 + ib | 1 | RUM_CAT_NORM_KEY | 103 + ie | 1 | RUM_CAT_NORM_KEY | 104 + ig | 1 | RUM_CAT_NORM_KEY | 105 + ij | 1 | RUM_CAT_NORM_KEY | 106 + im | 1 | RUM_CAT_NORM_KEY | 107 + ip | 1 | RUM_CAT_NORM_KEY | 108 + ir | 1 | RUM_CAT_NORM_KEY | 109 + iu | 1 | RUM_CAT_NORM_KEY | 110 + iw | 1 | RUM_CAT_NORM_KEY | 111 + iy | 1 | RUM_CAT_NORM_KEY | 112 + j3 | 1 | RUM_CAT_NORM_KEY | 113 + ja | 1 | RUM_CAT_NORM_KEY | 114 + jd | 1 | RUM_CAT_NORM_KEY | 115 + jh | 1 | RUM_CAT_NORM_KEY | 116 + jl | 1 | RUM_CAT_NORM_KEY | 117 + jp | 1 | RUM_CAT_NORM_KEY | 118 + jt | 1 | RUM_CAT_NORM_KEY | 119 + jx | 1 | RUM_CAT_NORM_KEY | 120 + k2 | 1 | RUM_CAT_NORM_KEY | 121 + k9 | 1 | RUM_CAT_NORM_KEY | 122 + kd | 1 | RUM_CAT_NORM_KEY | 123 + kh | 1 | RUM_CAT_NORM_KEY | 124 + kl | 1 | RUM_CAT_NORM_KEY | 125 + kp | 1 | RUM_CAT_NORM_KEY | 126 + ku | 1 | RUM_CAT_NORM_KEY | 127 + kx | 1 | RUM_CAT_NORM_KEY | 128 + l3 | 1 | RUM_CAT_NORM_KEY | 129 + la | 1 | RUM_CAT_NORM_KEY | 130 + le | 1 | RUM_CAT_NORM_KEY | 131 + lh | 1 | RUM_CAT_NORM_KEY | 132 + lm | 1 | RUM_CAT_NORM_KEY | 133 + lq | 1 | RUM_CAT_NORM_KEY | 134 + lu | 1 | RUM_CAT_NORM_KEY | 135 + ly | 1 | RUM_CAT_NORM_KEY | 136 + m5 | 1 | RUM_CAT_NORM_KEY | 137 + mc | 1 | RUM_CAT_NORM_KEY | 138 + mh | 1 | RUM_CAT_NORM_KEY | 139 + mm | 1 | RUM_CAT_NORM_KEY | 140 + mt | 1 | RUM_CAT_NORM_KEY | 141 + my | 1 | RUM_CAT_NORM_KEY | 142 + n6 | 1 | RUM_CAT_NORM_KEY | 143 + nc | 1 | RUM_CAT_NORM_KEY | 144 + nh | 1 | RUM_CAT_NORM_KEY | 145 + nm | 1 | RUM_CAT_NORM_KEY | 146 + ns | 1 | RUM_CAT_NORM_KEY | 147 + nx | 1 | RUM_CAT_NORM_KEY | 148 + o2 | 1 | RUM_CAT_NORM_KEY | 149 + o6 | 1 | RUM_CAT_NORM_KEY | 150 + oa | 1 | RUM_CAT_NORM_KEY | 151 + od | 1 | RUM_CAT_NORM_KEY | 152 + of | 1 | RUM_CAT_NORM_KEY | 153 + oi | 1 | RUM_CAT_NORM_KEY | 154 + ol | 1 | RUM_CAT_NORM_KEY | 155 + oo | 1 | RUM_CAT_NORM_KEY | 156 + or | 1 | RUM_CAT_NORM_KEY | 157 + ot | 1 | RUM_CAT_NORM_KEY | 158 + ow | 1 | RUM_CAT_NORM_KEY | 159 + oy | 1 | RUM_CAT_NORM_KEY | 160 + p3 | 1 | RUM_CAT_NORM_KEY | 161 + p7 | 1 | RUM_CAT_NORM_KEY | 162 + pb | 1 | RUM_CAT_NORM_KEY | 163 + pe | 1 | RUM_CAT_NORM_KEY | 164 + ph | 1 | RUM_CAT_NORM_KEY | 165 + pk | 1 | RUM_CAT_NORM_KEY | 166 + pn | 1 | RUM_CAT_NORM_KEY | 167 + pq | 1 | RUM_CAT_NORM_KEY | 168 + pt | 1 | RUM_CAT_NORM_KEY | 169 + pw | 1 | RUM_CAT_NORM_KEY | 170 + pz | 1 | RUM_CAT_NORM_KEY | 171 + q1 | 1 | RUM_CAT_NORM_KEY | 172 + q4 | 1 | RUM_CAT_NORM_KEY | 173 + q6 | 1 | RUM_CAT_NORM_KEY | 174 + q9 | 1 | RUM_CAT_NORM_KEY | 175 + r2 | 1 | RUM_CAT_NORM_KEY | 202 + r6 | 1 | RUM_CAT_NORM_KEY | 203 + rb | 1 | RUM_CAT_NORM_KEY | 204 + rh | 1 | RUM_CAT_NORM_KEY | 206 + rm | 1 | RUM_CAT_NORM_KEY | 210 + rt | 1 | RUM_CAT_NORM_KEY | 218 + rv | 1 | RUM_CAT_NORM_KEY | 219 + s5 | 1 | RUM_CAT_NORM_KEY | 224 + sa | 1 | RUM_CAT_NORM_KEY | 225 + sd | 1 | RUM_CAT_NORM_KEY | 226 + sg | 1 | RUM_CAT_NORM_KEY | 227 + sj | 1 | RUM_CAT_NORM_KEY | 228 + sm | 1 | RUM_CAT_NORM_KEY | 229 + sp | 1 | RUM_CAT_NORM_KEY | 230 + st | 1 | RUM_CAT_NORM_KEY | 231 + sw | 1 | RUM_CAT_NORM_KEY | 232 + sz | 1 | RUM_CAT_NORM_KEY | 233 + t4 | 1 | RUM_CAT_NORM_KEY | 234 + t8 | 1 | RUM_CAT_NORM_KEY | 235 + te | 1 | RUM_CAT_NORM_KEY | 239 + th | 1 | RUM_CAT_NORM_KEY | 240 + tj | 1 | RUM_CAT_NORM_KEY | 241 + tn | 1 | RUM_CAT_NORM_KEY | 243 + tq | 1 | RUM_CAT_NORM_KEY | 244 + tt | 1 | RUM_CAT_NORM_KEY | 245 + ty | 1 | RUM_CAT_NORM_KEY | 246 + u1 | 1 | RUM_CAT_NORM_KEY | 249 + u5 | 1 | RUM_CAT_NORM_KEY | 250 + ua | 1 | RUM_CAT_NORM_KEY | 251 + ud | 1 | RUM_CAT_NORM_KEY | 252 + ug | 1 | RUM_CAT_NORM_KEY | 253 + uj | 1 | RUM_CAT_NORM_KEY | 254 + um | 1 | RUM_CAT_NORM_KEY | 255 + uo | 1 | RUM_CAT_NORM_KEY | 256 + uq | 1 | RUM_CAT_NORM_KEY | 257 + ut | 1 | RUM_CAT_NORM_KEY | 258 + uv | 1 | RUM_CAT_NORM_KEY | 259 + uy | 1 | RUM_CAT_NORM_KEY | 260 + v5 | 1 | RUM_CAT_NORM_KEY | 261 + vc | 1 | RUM_CAT_NORM_KEY | 262 + vg | 1 | RUM_CAT_NORM_KEY | 263 + vk | 1 | RUM_CAT_NORM_KEY | 264 + vp | 1 | RUM_CAT_NORM_KEY | 265 + vu | 1 | RUM_CAT_NORM_KEY | 266 + w0 | 1 | RUM_CAT_NORM_KEY | 267 + w3 | 1 | RUM_CAT_NORM_KEY | 268 + w6 | 1 | RUM_CAT_NORM_KEY | 269 + w9 | 1 | RUM_CAT_NORM_KEY | 270 + x1 | 1 | RUM_CAT_NORM_KEY | 296 + x9 | 1 | RUM_CAT_NORM_KEY | 297 + xf | 1 | RUM_CAT_NORM_KEY | 298 + xj | 1 | RUM_CAT_NORM_KEY | 299 + xn | 1 | RUM_CAT_NORM_KEY | 300 + xr | 1 | RUM_CAT_NORM_KEY | 301 + xv | 1 | RUM_CAT_NORM_KEY | 302 + y0 | 1 | RUM_CAT_NORM_KEY | 303 + y5 | 1 | RUM_CAT_NORM_KEY | 304 + y9 | 1 | RUM_CAT_NORM_KEY | 305 + yb | 1 | RUM_CAT_NORM_KEY | 306 + ye | 1 | RUM_CAT_NORM_KEY | 307 + yg | 1 | RUM_CAT_NORM_KEY | 308 + yi | 1 | RUM_CAT_NORM_KEY | 309 + yl | 1 | RUM_CAT_NORM_KEY | 310 + yo | 1 | RUM_CAT_NORM_KEY | 311 + yr | 1 | RUM_CAT_NORM_KEY | 313 + yt | 1 | RUM_CAT_NORM_KEY | 314 + yx | 1 | RUM_CAT_NORM_KEY | 315 + yz | 1 | RUM_CAT_NORM_KEY | 317 + z6 | 1 | RUM_CAT_NORM_KEY | 318 + zc | 1 | RUM_CAT_NORM_KEY | 319 + zh | 1 | RUM_CAT_NORM_KEY | 320 + zm | 1 | RUM_CAT_NORM_KEY | 321 + zq | 1 | RUM_CAT_NORM_KEY | 322 + zv | 1 | RUM_CAT_NORM_KEY | 323 + zz | 1 | RUM_CAT_NORM_KEY | 324 + 66 | 2 | RUM_CAT_NORM_KEY | 325 + 140 | 2 | RUM_CAT_NORM_KEY | 326 + 214 | 2 | RUM_CAT_NORM_KEY | 327 + 288 | 2 | RUM_CAT_NORM_KEY | 328 + 362 | 2 | RUM_CAT_NORM_KEY | 329 + 436 | 2 | RUM_CAT_NORM_KEY | 330 + 511 | 2 | RUM_CAT_NORM_KEY | 331 + 658 | 2 | RUM_CAT_NORM_KEY | 332 + 805 | 2 | RUM_CAT_NORM_KEY | 333 + 952 | 2 | RUM_CAT_NORM_KEY | 334 + 1099 | 2 | RUM_CAT_NORM_KEY | 335 + 1246 | 2 | RUM_CAT_NORM_KEY | 336 + 1393 | 2 | RUM_CAT_NORM_KEY | 337 + 1540 | 2 | RUM_CAT_NORM_KEY | 338 + 1687 | 2 | RUM_CAT_NORM_KEY | 339 + 1834 | 2 | RUM_CAT_NORM_KEY | 340 + 1981 | 2 | RUM_CAT_NORM_KEY | 341 + 2128 | 2 | RUM_CAT_NORM_KEY | 342 + 2275 | 2 | RUM_CAT_NORM_KEY | 343 + 2422 | 2 | RUM_CAT_NORM_KEY | 344 + 2569 | 2 | RUM_CAT_NORM_KEY | 345 + 2716 | 2 | RUM_CAT_NORM_KEY | 346 + 2863 | 2 | RUM_CAT_NORM_KEY | 347 + 3010 | 2 | RUM_CAT_NORM_KEY | 348 + 3157 | 2 | RUM_CAT_NORM_KEY | 349 + 3304 | 2 | RUM_CAT_NORM_KEY | 350 + 3451 | 2 | RUM_CAT_NORM_KEY | 351 + 3598 | 2 | RUM_CAT_NORM_KEY | 352 + 3745 | 2 | RUM_CAT_NORM_KEY | 353 + 3892 | 2 | RUM_CAT_NORM_KEY | 354 + 4039 | 2 | RUM_CAT_NORM_KEY | 355 + 4186 | 2 | RUM_CAT_NORM_KEY | 356 + 4333 | 2 | RUM_CAT_NORM_KEY | 357 + 4480 | 2 | RUM_CAT_NORM_KEY | 358 + 4627 | 2 | RUM_CAT_NORM_KEY | 359 + 4774 | 2 | RUM_CAT_NORM_KEY | 360 + +inf | | | 361 +(257 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 27); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+-------- + 18 | 28 | 0 | 0 | {leaf} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_true', 27); + key | attrnum | category | tuple_id | add_info_is_null | add_info | is_postring_tree | postring_tree_root +-----+---------+------------------+----------+------------------+----------+------------------+-------------------- + b6 | 1 | RUM_CAT_NORM_KEY | (1,14) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,10) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,4) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,2) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (100,10) | f | 43 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (2,1) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (26,18) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (51,12) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (76,10) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (100,18) | f | 51 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (6,4) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (30,19) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (55,15) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (80,11) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (104,19) | f | 136 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (7,11) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (32,6) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (57,2) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (81,16) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (106,6) | f | 165 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (9,9) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (34,5) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (59,1) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (83,15) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (108,5) | f | 203 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (10,18) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (35,12) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (60,9) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (85,6) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (109,12) | f | 232 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (12,7) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (37,4) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (62,1) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (86,15) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (111,4) | f | 259 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (14,10) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (39,4) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (63,21) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (88,18) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (113,4) | f | 300 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (20,18) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (45,12) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,9) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (70,23) | f | 431 | f | + b6 | 1 | RUM_CAT_NORM_KEY | (119,14) | f | 431 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (1,12) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (26,8) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (51,2) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (75,20) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (100,8) | f | 41 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (4,4) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (28,21) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (53,13) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (78,11) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (102,21) | f | 97 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (7,8) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (32,3) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (56,19) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (81,13) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (106,3) | f | 162 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (9,2) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (33,18) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (58,13) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (83,8) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (107,18) | f | 196 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (10,17) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (35,11) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (60,8) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (85,5) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (109,11) | f | 231 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (13,6) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (38,1) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (62,18) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (87,15) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (112,1) | f | 276 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (14,13) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (39,7) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (64,3) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (88,21) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (113,7) | f | 303 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (22,7) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (46,19) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (71,18) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (96,6) | f | 462 | f | + b7 | 1 | RUM_CAT_NORM_KEY | (121,3) | f | 462 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (0,13) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,2) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (49,22) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (74,22) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,2) | f | 13 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (1,2) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (25,20) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (50,13) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (75,10) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (99,20) | f | 31 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (8,20) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (33,16) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (58,11) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (83,6) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (107,16) | f | 194 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (11,10) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (36,7) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (61,4) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (85,18) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (110,7) | f | 244 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (15,19) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (40,15) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (65,10) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,7) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (114,15) | f | 331 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,11) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,7) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,2) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (90,19) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,7) | f | 343 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,17) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,13) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,8) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,6) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,13) | f | 349 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (16,19) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,15) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,10) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,8) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,15) | f | 351 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (17,2) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (41,17) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (66,12) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (91,10) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (115,17) | f | 353 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (20,8) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (45,2) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (69,22) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (94,17) | f | 421 | f | + b8 | 1 | RUM_CAT_NORM_KEY | (119,4) | f | 421 | f | + b9 | 1 | RUM_CAT_NORM_KEY | | | | t | 19 + ba | 1 | RUM_CAT_NORM_KEY | (1,10) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (26,6) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (50,21) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (75,18) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (100,6) | f | 39 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,1) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (29,16) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,11) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,8) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (103,16) | f | 113 | f | + ba | 1 | RUM_CAT_NORM_KEY | (5,6) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (30,1) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (54,16) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (79,13) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (104,1) | f | 118 | f | + ba | 1 | RUM_CAT_NORM_KEY | (10,12) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (35,6) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (60,3) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (84,21) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (109,6) | f | 226 | f | + ba | 1 | RUM_CAT_NORM_KEY | (12,1) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (36,16) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (61,13) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (86,9) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (110,16) | f | 253 | f | + ba | 1 | RUM_CAT_NORM_KEY | (14,6) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (38,21) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (63,17) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (88,14) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (112,21) | f | 296 | f | + ba | 1 | RUM_CAT_NORM_KEY | (15,11) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (40,7) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (65,2) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (89,19) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (114,7) | f | 323 | f | + ba | 1 | RUM_CAT_NORM_KEY | (17,13) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (42,10) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (67,5) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (92,2) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (116,10) | f | 364 | f | + ba | 1 | RUM_CAT_NORM_KEY | (23,8) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (47,21) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (72,21) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (97,5) | f | 483 | f | + ba | 1 | RUM_CAT_NORM_KEY | (122,2) | f | 483 | f | + bb | 1 | RUM_CAT_NORM_KEY | (0,23) | f | 23 | f | + bb | 1 | RUM_CAT_NORM_KEY | (25,12) | f | 23 | f | + bb | 1 | RUM_CAT_NORM_KEY | (50,5) | f | 23 | f | + bb | 1 | RUM_CAT_NORM_KEY | (75,2) | f | 23 | f | + bb | 1 | RUM_CAT_NORM_KEY | (99,12) | f | 23 | f | + bb | 1 | RUM_CAT_NORM_KEY | (2,13) | f | 63 | f | + bb | 1 | RUM_CAT_NORM_KEY | (27,9) | f | 63 | f | + bb | 1 | RUM_CAT_NORM_KEY | (52,3) | f | 63 | f | + bb | 1 | RUM_CAT_NORM_KEY | (77,1) | f | 63 | f | + bb | 1 | RUM_CAT_NORM_KEY | (101,9) | f | 63 | f | + bb | 1 | RUM_CAT_NORM_KEY | (3,14) | f | 86 | f | + bb | 1 | RUM_CAT_NORM_KEY | (28,10) | f | 86 | f | + bb | 1 | RUM_CAT_NORM_KEY | (53,2) | f | 86 | f | + bb | 1 | RUM_CAT_NORM_KEY | (77,24) | f | 86 | f | + bb | 1 | RUM_CAT_NORM_KEY | (102,10) | f | 86 | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,9) | f | 102 | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,5) | f | 102 | f | + bb | 1 | RUM_CAT_NORM_KEY | (53,18) | f | 102 | f | + bb | 1 | RUM_CAT_NORM_KEY | (78,16) | f | 102 | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,5) | f | 102 | f | + bb | 1 | RUM_CAT_NORM_KEY | (4,14) | f | 107 | f | + bb | 1 | RUM_CAT_NORM_KEY | (29,10) | f | 107 | f | + bb | 1 | RUM_CAT_NORM_KEY | (54,5) | f | 107 | f | + bb | 1 | RUM_CAT_NORM_KEY | (79,2) | f | 107 | f | + bb | 1 | RUM_CAT_NORM_KEY | (103,10) | f | 107 | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,2) | f | 134 | f | + bb | 1 | RUM_CAT_NORM_KEY | (30,17) | f | 134 | f | + bb | 1 | RUM_CAT_NORM_KEY | (55,13) | f | 134 | f | + bb | 1 | RUM_CAT_NORM_KEY | (80,9) | f | 134 | f | + bb | 1 | RUM_CAT_NORM_KEY | (104,17) | f | 134 | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,20) | f | 152 | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,14) | f | 152 | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,9) | f | 152 | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,3) | f | 152 | f | + bb | 1 | RUM_CAT_NORM_KEY | (105,14) | f | 152 | f | + bb | 1 | RUM_CAT_NORM_KEY | (6,22) | f | 154 | f | + bb | 1 | RUM_CAT_NORM_KEY | (31,16) | f | 154 | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,11) | f | 154 | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,5) | f | 154 | f | + bb | 1 | RUM_CAT_NORM_KEY | (105,16) | f | 154 | f | + bb | 1 | RUM_CAT_NORM_KEY | (7,8) | f | 162 | f | + bb | 1 | RUM_CAT_NORM_KEY | (32,3) | f | 162 | f | + bb | 1 | RUM_CAT_NORM_KEY | (56,19) | f | 162 | f | + bb | 1 | RUM_CAT_NORM_KEY | (81,13) | f | 162 | f | + bb | 1 | RUM_CAT_NORM_KEY | (106,3) | f | 162 | f | + bb | 1 | RUM_CAT_NORM_KEY | (9,20) | f | 214 | f | + bb | 1 | RUM_CAT_NORM_KEY | (34,16) | f | 214 | f | + bb | 1 | RUM_CAT_NORM_KEY | (59,12) | f | 214 | f | + bb | 1 | RUM_CAT_NORM_KEY | (84,9) | f | 214 | f | + bb | 1 | RUM_CAT_NORM_KEY | (108,16) | f | 214 | f | + bb | 1 | RUM_CAT_NORM_KEY | (11,4) | f | 238 | f | + bb | 1 | RUM_CAT_NORM_KEY | (36,1) | f | 238 | f | + bb | 1 | RUM_CAT_NORM_KEY | (60,15) | f | 238 | f | + bb | 1 | RUM_CAT_NORM_KEY | (85,12) | f | 238 | f | + bb | 1 | RUM_CAT_NORM_KEY | (110,1) | f | 238 | f | + bb | 1 | RUM_CAT_NORM_KEY | (12,1) | f | 253 | f | + bb | 1 | RUM_CAT_NORM_KEY | (36,16) | f | 253 | f | + bb | 1 | RUM_CAT_NORM_KEY | (61,13) | f | 253 | f | + bb | 1 | RUM_CAT_NORM_KEY | (86,9) | f | 253 | f | + bb | 1 | RUM_CAT_NORM_KEY | (110,16) | f | 253 | f | + bb | 1 | RUM_CAT_NORM_KEY | (15,17) | f | 329 | f | + bb | 1 | RUM_CAT_NORM_KEY | (40,13) | f | 329 | f | + bb | 1 | RUM_CAT_NORM_KEY | (65,8) | f | 329 | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,5) | f | 329 | f | + bb | 1 | RUM_CAT_NORM_KEY | (114,13) | f | 329 | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,8) | f | 340 | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,4) | f | 340 | f | + bb | 1 | RUM_CAT_NORM_KEY | (65,19) | f | 340 | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,16) | f | 340 | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,4) | f | 340 | f | + bb | 1 | RUM_CAT_NORM_KEY | (16,10) | f | 342 | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,6) | f | 342 | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,1) | f | 342 | f | + bb | 1 | RUM_CAT_NORM_KEY | (90,18) | f | 342 | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,6) | f | 342 | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,2) | f | 353 | f | + bb | 1 | RUM_CAT_NORM_KEY | (41,17) | f | 353 | f | + bb | 1 | RUM_CAT_NORM_KEY | (66,12) | f | 353 | f | + bb | 1 | RUM_CAT_NORM_KEY | (91,10) | f | 353 | f | + bb | 1 | RUM_CAT_NORM_KEY | (115,17) | f | 353 | f | + bb | 1 | RUM_CAT_NORM_KEY | (17,15) | f | 366 | f | + bb | 1 | RUM_CAT_NORM_KEY | (42,12) | f | 366 | f | + bb | 1 | RUM_CAT_NORM_KEY | (67,7) | f | 366 | f | + bb | 1 | RUM_CAT_NORM_KEY | (92,4) | f | 366 | f | + bb | 1 | RUM_CAT_NORM_KEY | (116,12) | f | 366 | f | + bb | 1 | RUM_CAT_NORM_KEY | (18,14) | f | 382 | f | + bb | 1 | RUM_CAT_NORM_KEY | (43,10) | f | 382 | f | + bb | 1 | RUM_CAT_NORM_KEY | (68,5) | f | 382 | f | + bb | 1 | RUM_CAT_NORM_KEY | (93,2) | f | 382 | f | + bb | 1 | RUM_CAT_NORM_KEY | (117,10) | f | 382 | f | + bb | 1 | RUM_CAT_NORM_KEY | (20,2) | f | 415 | f | + bb | 1 | RUM_CAT_NORM_KEY | (44,19) | f | 415 | f | + bb | 1 | RUM_CAT_NORM_KEY | (69,16) | f | 415 | f | + bb | 1 | RUM_CAT_NORM_KEY | (94,11) | f | 415 | f | + bb | 1 | RUM_CAT_NORM_KEY | (118,23) | f | 415 | f | + bb | 1 | RUM_CAT_NORM_KEY | (20,18) | f | 431 | f | + bb | 1 | RUM_CAT_NORM_KEY | (45,12) | f | 431 | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,9) | f | 431 | f | + bb | 1 | RUM_CAT_NORM_KEY | (70,23) | f | 431 | f | + bb | 1 | RUM_CAT_NORM_KEY | (119,14) | f | 431 | f | + bb | 1 | RUM_CAT_NORM_KEY | (22,8) | f | 463 | f | + bb | 1 | RUM_CAT_NORM_KEY | (47,1) | f | 463 | f | + bb | 1 | RUM_CAT_NORM_KEY | (72,1) | f | 463 | f | + bb | 1 | RUM_CAT_NORM_KEY | (96,7) | f | 463 | f | + bb | 1 | RUM_CAT_NORM_KEY | (121,4) | f | 463 | f | + bb | 1 | RUM_CAT_NORM_KEY | (23,13) | f | 488 | f | + bb | 1 | RUM_CAT_NORM_KEY | (48,5) | f | 488 | f | + bb | 1 | RUM_CAT_NORM_KEY | (73,5) | f | 488 | f | + bb | 1 | RUM_CAT_NORM_KEY | (97,10) | f | 488 | f | + bb | 1 | RUM_CAT_NORM_KEY | (122,7) | f | 488 | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,7) | f | 500 | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,1) | f | 500 | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,1) | f | 500 | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,5) | f | 500 | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,3) | f | 500 | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,11) | f | 504 | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,5) | f | 504 | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,5) | f | 504 | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,9) | f | 504 | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,7) | f | 504 | f | + bb | 1 | RUM_CAT_NORM_KEY | (24,15) | f | 508 | f | + bb | 1 | RUM_CAT_NORM_KEY | (49,9) | f | 508 | f | + bb | 1 | RUM_CAT_NORM_KEY | (74,9) | f | 508 | f | + bb | 1 | RUM_CAT_NORM_KEY | (98,13) | f | 508 | f | + bb | 1 | RUM_CAT_NORM_KEY | (123,11) | f | 508 | f | + bc | 1 | RUM_CAT_NORM_KEY | (1,16) | f | 45 | f | + bc | 1 | RUM_CAT_NORM_KEY | (26,12) | f | 45 | f | + bc | 1 | RUM_CAT_NORM_KEY | (51,6) | f | 45 | f | + bc | 1 | RUM_CAT_NORM_KEY | (76,4) | f | 45 | f | + bc | 1 | RUM_CAT_NORM_KEY | (100,12) | f | 45 | f | + bc | 1 | RUM_CAT_NORM_KEY | (2,9) | f | 59 | f | + bc | 1 | RUM_CAT_NORM_KEY | (27,5) | f | 59 | f | + bc | 1 | RUM_CAT_NORM_KEY | (51,20) | f | 59 | f | + bc | 1 | RUM_CAT_NORM_KEY | (76,18) | f | 59 | f | + bc | 1 | RUM_CAT_NORM_KEY | (101,5) | f | 59 | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,16) | f | 128 | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,11) | f | 128 | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,7) | f | 128 | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,3) | f | 128 | f | + bc | 1 | RUM_CAT_NORM_KEY | (104,11) | f | 128 | f | + bc | 1 | RUM_CAT_NORM_KEY | (5,18) | f | 130 | f | + bc | 1 | RUM_CAT_NORM_KEY | (30,13) | f | 130 | f | + bc | 1 | RUM_CAT_NORM_KEY | (55,9) | f | 130 | f | + bc | 1 | RUM_CAT_NORM_KEY | (80,5) | f | 130 | f | + bc | 1 | RUM_CAT_NORM_KEY | (104,13) | f | 130 | f | + bc | 1 | RUM_CAT_NORM_KEY | (9,19) | f | 213 | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,15) | f | 213 | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,11) | f | 213 | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,8) | f | 213 | f | + bc | 1 | RUM_CAT_NORM_KEY | (108,15) | f | 213 | f | + bc | 1 | RUM_CAT_NORM_KEY | (10,1) | f | 215 | f | + bc | 1 | RUM_CAT_NORM_KEY | (34,17) | f | 215 | f | + bc | 1 | RUM_CAT_NORM_KEY | (59,13) | f | 215 | f | + bc | 1 | RUM_CAT_NORM_KEY | (84,10) | f | 215 | f | + bc | 1 | RUM_CAT_NORM_KEY | (108,17) | f | 215 | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,1) | f | 235 | f | + bc | 1 | RUM_CAT_NORM_KEY | (35,15) | f | 235 | f | + bc | 1 | RUM_CAT_NORM_KEY | (60,12) | f | 235 | f | + bc | 1 | RUM_CAT_NORM_KEY | (85,9) | f | 235 | f | + bc | 1 | RUM_CAT_NORM_KEY | (109,15) | f | 235 | f | + bc | 1 | RUM_CAT_NORM_KEY | (11,8) | f | 242 | f | + bc | 1 | RUM_CAT_NORM_KEY | (36,5) | f | 242 | f | + bc | 1 | RUM_CAT_NORM_KEY | (61,2) | f | 242 | f | + bc | 1 | RUM_CAT_NORM_KEY | (85,16) | f | 242 | f | + bc | 1 | RUM_CAT_NORM_KEY | (110,5) | f | 242 | f | + bc | 1 | RUM_CAT_NORM_KEY | (12,13) | f | 265 | f | + bc | 1 | RUM_CAT_NORM_KEY | (37,10) | f | 265 | f | + bc | 1 | RUM_CAT_NORM_KEY | (62,7) | f | 265 | f | + bc | 1 | RUM_CAT_NORM_KEY | (87,4) | f | 265 | f | + bc | 1 | RUM_CAT_NORM_KEY | (111,10) | f | 265 | f | + bc | 1 | RUM_CAT_NORM_KEY | (14,15) | f | 305 | f | + bc | 1 | RUM_CAT_NORM_KEY | (39,9) | f | 305 | f | + bc | 1 | RUM_CAT_NORM_KEY | (64,5) | f | 305 | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,1) | f | 305 | f | + bc | 1 | RUM_CAT_NORM_KEY | (113,9) | f | 305 | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,9) | f | 321 | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,5) | f | 321 | f | + bc | 1 | RUM_CAT_NORM_KEY | (64,21) | f | 321 | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,17) | f | 321 | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,5) | f | 321 | f | + bc | 1 | RUM_CAT_NORM_KEY | (15,10) | f | 322 | f | + bc | 1 | RUM_CAT_NORM_KEY | (40,6) | f | 322 | f | + bc | 1 | RUM_CAT_NORM_KEY | (65,1) | f | 322 | f | + bc | 1 | RUM_CAT_NORM_KEY | (89,18) | f | 322 | f | + bc | 1 | RUM_CAT_NORM_KEY | (114,6) | f | 322 | f | + bc | 1 | RUM_CAT_NORM_KEY | (18,11) | f | 379 | f | + bc | 1 | RUM_CAT_NORM_KEY | (43,7) | f | 379 | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,2) | f | 379 | f | + bc | 1 | RUM_CAT_NORM_KEY | (92,17) | f | 379 | f | + bc | 1 | RUM_CAT_NORM_KEY | (117,7) | f | 379 | f | + bc | 1 | RUM_CAT_NORM_KEY | (18,20) | f | 388 | f | + bc | 1 | RUM_CAT_NORM_KEY | (43,16) | f | 388 | f | + bc | 1 | RUM_CAT_NORM_KEY | (68,11) | f | 388 | f | + bc | 1 | RUM_CAT_NORM_KEY | (93,8) | f | 388 | f | + bc | 1 | RUM_CAT_NORM_KEY | (117,16) | f | 388 | f | + bc | 1 | RUM_CAT_NORM_KEY | (20,3) | f | 416 | f | + bc | 1 | RUM_CAT_NORM_KEY | (44,20) | f | 416 | f | + bc | 1 | RUM_CAT_NORM_KEY | (69,17) | f | 416 | f | + bc | 1 | RUM_CAT_NORM_KEY | (94,12) | f | 416 | f | + bc | 1 | RUM_CAT_NORM_KEY | (118,24) | f | 416 | f | + bc | 1 | RUM_CAT_NORM_KEY | (23,10) | f | 485 | f | + bc | 1 | RUM_CAT_NORM_KEY | (48,2) | f | 485 | f | + bc | 1 | RUM_CAT_NORM_KEY | (73,2) | f | 485 | f | + bc | 1 | RUM_CAT_NORM_KEY | (97,7) | f | 485 | f | + bc | 1 | RUM_CAT_NORM_KEY | (122,4) | f | 485 | f | + bc | 1 | RUM_CAT_NORM_KEY | (24,2) | f | 495 | f | + bc | 1 | RUM_CAT_NORM_KEY | (48,12) | f | 495 | f | + bc | 1 | RUM_CAT_NORM_KEY | (73,12) | f | 495 | f | + bc | 1 | RUM_CAT_NORM_KEY | (97,17) | f | 495 | f | + bc | 1 | RUM_CAT_NORM_KEY | (122,14) | f | 495 | f | + bd | 1 | RUM_CAT_NORM_KEY | (0,12) | f | 12 | f | +(392 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 19); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 7 | 0 | {data} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_true', 19); + is_high_key | block_number | tuple_id | add_info_is_null | add_info +-------------+--------------+-----------+------------------+---------- + t | | (0,0) | t | + f | 21 | (126,1) | f | 672 + f | 20 | (130,139) | f | 1434 + f | 22 | (135,121) | f | 2196 + f | 23 | (140,103) | f | 2958 + f | 24 | (145,85) | f | 3720 + f | 25 | (149,102) | f | 4361 + f | 26 | (0,0) | t | +(8 rows) + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 22); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 20 | 23 | 762 | 12 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_true', 22); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+-----------+------------------+---------- + t | (135,121) | f | 2196 + f | (130,140) | f | 1435 + f | (130,141) | f | 1436 + f | (130,142) | f | 1437 + f | (130,143) | f | 1438 + f | (130,144) | f | 1439 + f | (130,145) | f | 1440 + f | (130,146) | f | 1441 + f | (130,147) | f | 1442 + f | (130,148) | f | 1443 + f | (130,149) | f | 1444 + f | (130,150) | f | 1445 + f | (130,151) | f | 1446 + f | (130,152) | f | 1447 + f | (130,153) | f | 1448 + f | (130,154) | f | 1449 + f | (130,155) | f | 1450 + f | (130,156) | f | 1451 + f | (131,1) | f | 1452 + f | (131,2) | f | 1453 + f | (131,3) | f | 1454 + f | (131,4) | f | 1455 + f | (131,5) | f | 1456 + f | (131,6) | f | 1457 + f | (131,7) | f | 1458 + f | (131,8) | f | 1459 + f | (131,9) | f | 1460 + f | (131,10) | f | 1461 + f | (131,11) | f | 1462 + f | (131,12) | f | 1463 + f | (131,13) | f | 1464 + f | (131,14) | f | 1465 + f | (131,15) | f | 1466 + f | (131,16) | f | 1467 + f | (131,17) | f | 1468 + f | (131,18) | f | 1469 + f | (131,19) | f | 1470 + f | (131,20) | f | 1471 + f | (131,21) | f | 1472 + f | (131,22) | f | 1473 + f | (131,23) | f | 1474 + f | (131,24) | f | 1475 + f | (131,25) | f | 1476 + f | (131,26) | f | 1477 + f | (131,27) | f | 1478 + f | (131,28) | f | 1479 + f | (131,29) | f | 1480 + f | (131,30) | f | 1481 + f | (131,31) | f | 1482 + f | (131,32) | f | 1483 + f | (131,33) | f | 1484 + f | (131,34) | f | 1485 + f | (131,35) | f | 1486 + f | (131,36) | f | 1487 + f | (131,37) | f | 1488 + f | (131,38) | f | 1489 + f | (131,39) | f | 1490 + f | (131,40) | f | 1491 + f | (131,41) | f | 1492 + f | (131,42) | f | 1493 + f | (131,43) | f | 1494 + f | (131,44) | f | 1495 + f | (131,45) | f | 1496 + f | (131,46) | f | 1497 + f | (131,47) | f | 1498 + f | (131,48) | f | 1499 + f | (131,49) | f | 1500 + f | (131,50) | f | 1501 + f | (131,51) | f | 1502 + f | (131,52) | f | 1503 + f | (131,53) | f | 1504 + f | (131,54) | f | 1505 + f | (131,55) | f | 1506 + f | (131,56) | f | 1507 + f | (131,57) | f | 1508 + f | (131,58) | f | 1509 + f | (131,59) | f | 1510 + f | (131,60) | f | 1511 + f | (131,61) | f | 1512 + f | (131,62) | f | 1513 + f | (131,63) | f | 1514 + f | (131,64) | f | 1515 + f | (131,65) | f | 1516 + f | (131,66) | f | 1517 + f | (131,67) | f | 1518 + f | (131,68) | f | 1519 + f | (131,69) | f | 1520 + f | (131,70) | f | 1521 + f | (131,71) | f | 1522 + f | (131,72) | f | 1523 + f | (131,73) | f | 1524 + f | (131,74) | f | 1525 + f | (131,75) | f | 1526 + f | (131,76) | f | 1527 + f | (131,77) | f | 1528 + f | (131,78) | f | 1529 + f | (131,79) | f | 1530 + f | (131,80) | f | 1531 + f | (131,81) | f | 1532 + f | (131,82) | f | 1533 + f | (131,83) | f | 1534 + f | (131,84) | f | 1535 + f | (131,85) | f | 1536 + f | (131,86) | f | 1537 + f | (131,87) | f | 1538 + f | (131,88) | f | 1539 + f | (131,89) | f | 1540 + f | (131,90) | f | 1541 + f | (131,91) | f | 1542 + f | (131,92) | f | 1543 + f | (131,93) | f | 1544 + f | (131,94) | f | 1545 + f | (131,95) | f | 1546 + f | (131,96) | f | 1547 + f | (131,97) | f | 1548 + f | (131,98) | f | 1549 + f | (131,99) | f | 1550 + f | (131,100) | f | 1551 + f | (131,101) | f | 1552 + f | (131,102) | f | 1553 + f | (131,103) | f | 1554 + f | (131,104) | f | 1555 + f | (131,105) | f | 1556 + f | (131,106) | f | 1557 + f | (131,107) | f | 1558 + f | (131,108) | f | 1559 + f | (131,109) | f | 1560 + f | (131,110) | f | 1561 + f | (131,111) | f | 1562 + f | (131,112) | f | 1563 + f | (131,113) | f | 1564 + f | (131,114) | f | 1565 + f | (131,115) | f | 1566 + f | (131,116) | f | 1567 + f | (131,117) | f | 1568 + f | (131,118) | f | 1569 + f | (131,119) | f | 1570 + f | (131,120) | f | 1571 + f | (131,121) | f | 1572 + f | (131,122) | f | 1573 + f | (131,123) | f | 1574 + f | (131,124) | f | 1575 + f | (131,125) | f | 1576 + f | (131,126) | f | 1577 + f | (131,127) | f | 1578 + f | (131,128) | f | 1579 + f | (131,129) | f | 1580 + f | (131,130) | f | 1581 + f | (131,131) | f | 1582 + f | (131,132) | f | 1583 + f | (131,133) | f | 1584 + f | (131,134) | f | 1585 + f | (131,135) | f | 1586 + f | (131,136) | f | 1587 + f | (131,137) | f | 1588 + f | (131,138) | f | 1589 + f | (131,139) | f | 1590 + f | (131,140) | f | 1591 + f | (131,141) | f | 1592 + f | (131,142) | f | 1593 + f | (131,143) | f | 1594 + f | (131,144) | f | 1595 + f | (131,145) | f | 1596 + f | (131,146) | f | 1597 + f | (131,147) | f | 1598 + f | (131,148) | f | 1599 + f | (131,149) | f | 1600 + f | (131,150) | f | 1601 + f | (131,151) | f | 1602 + f | (131,152) | f | 1603 + f | (131,153) | f | 1604 + f | (131,154) | f | 1605 + f | (131,155) | f | 1606 + f | (131,156) | f | 1607 + f | (132,1) | f | 1608 + f | (132,2) | f | 1609 + f | (132,3) | f | 1610 + f | (132,4) | f | 1611 + f | (132,5) | f | 1612 + f | (132,6) | f | 1613 + f | (132,7) | f | 1614 + f | (132,8) | f | 1615 + f | (132,9) | f | 1616 + f | (132,10) | f | 1617 + f | (132,11) | f | 1618 + f | (132,12) | f | 1619 + f | (132,13) | f | 1620 + f | (132,14) | f | 1621 + f | (132,15) | f | 1622 + f | (132,16) | f | 1623 + f | (132,17) | f | 1624 + f | (132,18) | f | 1625 + f | (132,19) | f | 1626 + f | (132,20) | f | 1627 + f | (132,21) | f | 1628 + f | (132,22) | f | 1629 + f | (132,23) | f | 1630 + f | (132,24) | f | 1631 + f | (132,25) | f | 1632 + f | (132,26) | f | 1633 + f | (132,27) | f | 1634 + f | (132,28) | f | 1635 + f | (132,29) | f | 1636 + f | (132,30) | f | 1637 + f | (132,31) | f | 1638 + f | (132,32) | f | 1639 + f | (132,33) | f | 1640 + f | (132,34) | f | 1641 + f | (132,35) | f | 1642 + f | (132,36) | f | 1643 + f | (132,37) | f | 1644 + f | (132,38) | f | 1645 + f | (132,39) | f | 1646 + f | (132,40) | f | 1647 + f | (132,41) | f | 1648 + f | (132,42) | f | 1649 + f | (132,43) | f | 1650 + f | (132,44) | f | 1651 + f | (132,45) | f | 1652 + f | (132,46) | f | 1653 + f | (132,47) | f | 1654 + f | (132,48) | f | 1655 + f | (132,49) | f | 1656 + f | (132,50) | f | 1657 + f | (132,51) | f | 1658 + f | (132,52) | f | 1659 + f | (132,53) | f | 1660 + f | (132,54) | f | 1661 + f | (132,55) | f | 1662 + f | (132,56) | f | 1663 + f | (132,57) | f | 1664 + f | (132,58) | f | 1665 + f | (132,59) | f | 1666 + f | (132,60) | f | 1667 + f | (132,61) | f | 1668 + f | (132,62) | f | 1669 + f | (132,63) | f | 1670 + f | (132,64) | f | 1671 + f | (132,65) | f | 1672 + f | (132,66) | f | 1673 + f | (132,67) | f | 1674 + f | (132,68) | f | 1675 + f | (132,69) | f | 1676 + f | (132,70) | f | 1677 + f | (132,71) | f | 1678 + f | (132,72) | f | 1679 + f | (132,73) | f | 1680 + f | (132,74) | f | 1681 + f | (132,75) | f | 1682 + f | (132,76) | f | 1683 + f | (132,77) | f | 1684 + f | (132,78) | f | 1685 + f | (132,79) | f | 1686 + f | (132,80) | f | 1687 + f | (132,81) | f | 1688 + f | (132,82) | f | 1689 + f | (132,83) | f | 1690 + f | (132,84) | f | 1691 + f | (132,85) | f | 1692 + f | (132,86) | f | 1693 + f | (132,87) | f | 1694 + f | (132,88) | f | 1695 + f | (132,89) | f | 1696 + f | (132,90) | f | 1697 + f | (132,91) | f | 1698 + f | (132,92) | f | 1699 + f | (132,93) | f | 1700 + f | (132,94) | f | 1701 + f | (132,95) | f | 1702 + f | (132,96) | f | 1703 + f | (132,97) | f | 1704 + f | (132,98) | f | 1705 + f | (132,99) | f | 1706 + f | (132,100) | f | 1707 + f | (132,101) | f | 1708 + f | (132,102) | f | 1709 + f | (132,103) | f | 1710 + f | (132,104) | f | 1711 + f | (132,105) | f | 1712 + f | (132,106) | f | 1713 + f | (132,107) | f | 1714 + f | (132,108) | f | 1715 + f | (132,109) | f | 1716 + f | (132,110) | f | 1717 + f | (132,111) | f | 1718 + f | (132,112) | f | 1719 + f | (132,113) | f | 1720 + f | (132,114) | f | 1721 + f | (132,115) | f | 1722 + f | (132,116) | f | 1723 + f | (132,117) | f | 1724 + f | (132,118) | f | 1725 + f | (132,119) | f | 1726 + f | (132,120) | f | 1727 + f | (132,121) | f | 1728 + f | (132,122) | f | 1729 + f | (132,123) | f | 1730 + f | (132,124) | f | 1731 + f | (132,125) | f | 1732 + f | (132,126) | f | 1733 + f | (132,127) | f | 1734 + f | (132,128) | f | 1735 + f | (132,129) | f | 1736 + f | (132,130) | f | 1737 + f | (132,131) | f | 1738 + f | (132,132) | f | 1739 + f | (132,133) | f | 1740 + f | (132,134) | f | 1741 + f | (132,135) | f | 1742 + f | (132,136) | f | 1743 + f | (132,137) | f | 1744 + f | (132,138) | f | 1745 + f | (132,139) | f | 1746 + f | (132,140) | f | 1747 + f | (132,141) | f | 1748 + f | (132,142) | f | 1749 + f | (132,143) | f | 1750 + f | (132,144) | f | 1751 + f | (132,145) | f | 1752 + f | (132,146) | f | 1753 + f | (132,147) | f | 1754 + f | (132,148) | f | 1755 + f | (132,149) | f | 1756 + f | (132,150) | f | 1757 + f | (132,151) | f | 1758 + f | (132,152) | f | 1759 + f | (132,153) | f | 1760 + f | (132,154) | f | 1761 + f | (132,155) | f | 1762 + f | (132,156) | f | 1763 + f | (133,1) | f | 1764 + f | (133,2) | f | 1765 + f | (133,3) | f | 1766 + f | (133,4) | f | 1767 + f | (133,5) | f | 1768 + f | (133,6) | f | 1769 + f | (133,7) | f | 1770 + f | (133,8) | f | 1771 + f | (133,9) | f | 1772 + f | (133,10) | f | 1773 + f | (133,11) | f | 1774 + f | (133,12) | f | 1775 + f | (133,13) | f | 1776 + f | (133,14) | f | 1777 + f | (133,15) | f | 1778 + f | (133,16) | f | 1779 + f | (133,17) | f | 1780 + f | (133,18) | f | 1781 + f | (133,19) | f | 1782 + f | (133,20) | f | 1783 + f | (133,21) | f | 1784 + f | (133,22) | f | 1785 + f | (133,23) | f | 1786 + f | (133,24) | f | 1787 + f | (133,25) | f | 1788 + f | (133,26) | f | 1789 + f | (133,27) | f | 1790 + f | (133,28) | f | 1791 + f | (133,29) | f | 1792 + f | (133,30) | f | 1793 + f | (133,31) | f | 1794 + f | (133,32) | f | 1795 + f | (133,33) | f | 1796 + f | (133,34) | f | 1797 + f | (133,35) | f | 1798 + f | (133,36) | f | 1799 + f | (133,37) | f | 1800 + f | (133,38) | f | 1801 + f | (133,39) | f | 1802 + f | (133,40) | f | 1803 + f | (133,41) | f | 1804 + f | (133,42) | f | 1805 + f | (133,43) | f | 1806 + f | (133,44) | f | 1807 + f | (133,45) | f | 1808 + f | (133,46) | f | 1809 + f | (133,47) | f | 1810 + f | (133,48) | f | 1811 + f | (133,49) | f | 1812 + f | (133,50) | f | 1813 + f | (133,51) | f | 1814 + f | (133,52) | f | 1815 + f | (133,53) | f | 1816 + f | (133,54) | f | 1817 + f | (133,55) | f | 1818 + f | (133,56) | f | 1819 + f | (133,57) | f | 1820 + f | (133,58) | f | 1821 + f | (133,59) | f | 1822 + f | (133,60) | f | 1823 + f | (133,61) | f | 1824 + f | (133,62) | f | 1825 + f | (133,63) | f | 1826 + f | (133,64) | f | 1827 + f | (133,65) | f | 1828 + f | (133,66) | f | 1829 + f | (133,67) | f | 1830 + f | (133,68) | f | 1831 + f | (133,69) | f | 1832 + f | (133,70) | f | 1833 + f | (133,71) | f | 1834 + f | (133,72) | f | 1835 + f | (133,73) | f | 1836 + f | (133,74) | f | 1837 + f | (133,75) | f | 1838 + f | (133,76) | f | 1839 + f | (133,77) | f | 1840 + f | (133,78) | f | 1841 + f | (133,79) | f | 1842 + f | (133,80) | f | 1843 + f | (133,81) | f | 1844 + f | (133,82) | f | 1845 + f | (133,83) | f | 1846 + f | (133,84) | f | 1847 + f | (133,85) | f | 1848 + f | (133,86) | f | 1849 + f | (133,87) | f | 1850 + f | (133,88) | f | 1851 + f | (133,89) | f | 1852 + f | (133,90) | f | 1853 + f | (133,91) | f | 1854 + f | (133,92) | f | 1855 + f | (133,93) | f | 1856 + f | (133,94) | f | 1857 + f | (133,95) | f | 1858 + f | (133,96) | f | 1859 + f | (133,97) | f | 1860 + f | (133,98) | f | 1861 + f | (133,99) | f | 1862 + f | (133,100) | f | 1863 + f | (133,101) | f | 1864 + f | (133,102) | f | 1865 + f | (133,103) | f | 1866 + f | (133,104) | f | 1867 + f | (133,105) | f | 1868 + f | (133,106) | f | 1869 + f | (133,107) | f | 1870 + f | (133,108) | f | 1871 + f | (133,109) | f | 1872 + f | (133,110) | f | 1873 + f | (133,111) | f | 1874 + f | (133,112) | f | 1875 + f | (133,113) | f | 1876 + f | (133,114) | f | 1877 + f | (133,115) | f | 1878 + f | (133,116) | f | 1879 + f | (133,117) | f | 1880 + f | (133,118) | f | 1881 + f | (133,119) | f | 1882 + f | (133,120) | f | 1883 + f | (133,121) | f | 1884 + f | (133,122) | f | 1885 + f | (133,123) | f | 1886 + f | (133,124) | f | 1887 + f | (133,125) | f | 1888 + f | (133,126) | f | 1889 + f | (133,127) | f | 1890 + f | (133,128) | f | 1891 + f | (133,129) | f | 1892 + f | (133,130) | f | 1893 + f | (133,131) | f | 1894 + f | (133,132) | f | 1895 + f | (133,133) | f | 1896 + f | (133,134) | f | 1897 + f | (133,135) | f | 1898 + f | (133,136) | f | 1899 + f | (133,137) | f | 1900 + f | (133,138) | f | 1901 + f | (133,139) | f | 1902 + f | (133,140) | f | 1903 + f | (133,141) | f | 1904 + f | (133,142) | f | 1905 + f | (133,143) | f | 1906 + f | (133,144) | f | 1907 + f | (133,145) | f | 1908 + f | (133,146) | f | 1909 + f | (133,147) | f | 1910 + f | (133,148) | f | 1911 + f | (133,149) | f | 1912 + f | (133,150) | f | 1913 + f | (133,151) | f | 1914 + f | (133,152) | f | 1915 + f | (133,153) | f | 1916 + f | (133,154) | f | 1917 + f | (133,155) | f | 1918 + f | (133,156) | f | 1919 + f | (134,1) | f | 1920 + f | (134,2) | f | 1921 + f | (134,3) | f | 1922 + f | (134,4) | f | 1923 + f | (134,5) | f | 1924 + f | (134,6) | f | 1925 + f | (134,7) | f | 1926 + f | (134,8) | f | 1927 + f | (134,9) | f | 1928 + f | (134,10) | f | 1929 + f | (134,11) | f | 1930 + f | (134,12) | f | 1931 + f | (134,13) | f | 1932 + f | (134,14) | f | 1933 + f | (134,15) | f | 1934 + f | (134,16) | f | 1935 + f | (134,17) | f | 1936 + f | (134,18) | f | 1937 + f | (134,19) | f | 1938 + f | (134,20) | f | 1939 + f | (134,21) | f | 1940 + f | (134,22) | f | 1941 + f | (134,23) | f | 1942 + f | (134,24) | f | 1943 + f | (134,25) | f | 1944 + f | (134,26) | f | 1945 + f | (134,27) | f | 1946 + f | (134,28) | f | 1947 + f | (134,29) | f | 1948 + f | (134,30) | f | 1949 + f | (134,31) | f | 1950 + f | (134,32) | f | 1951 + f | (134,33) | f | 1952 + f | (134,34) | f | 1953 + f | (134,35) | f | 1954 + f | (134,36) | f | 1955 + f | (134,37) | f | 1956 + f | (134,38) | f | 1957 + f | (134,39) | f | 1958 + f | (134,40) | f | 1959 + f | (134,41) | f | 1960 + f | (134,42) | f | 1961 + f | (134,43) | f | 1962 + f | (134,44) | f | 1963 + f | (134,45) | f | 1964 + f | (134,46) | f | 1965 + f | (134,47) | f | 1966 + f | (134,48) | f | 1967 + f | (134,49) | f | 1968 + f | (134,50) | f | 1969 + f | (134,51) | f | 1970 + f | (134,52) | f | 1971 + f | (134,53) | f | 1972 + f | (134,54) | f | 1973 + f | (134,55) | f | 1974 + f | (134,56) | f | 1975 + f | (134,57) | f | 1976 + f | (134,58) | f | 1977 + f | (134,59) | f | 1978 + f | (134,60) | f | 1979 + f | (134,61) | f | 1980 + f | (134,62) | f | 1981 + f | (134,63) | f | 1982 + f | (134,64) | f | 1983 + f | (134,65) | f | 1984 + f | (134,66) | f | 1985 + f | (134,67) | f | 1986 + f | (134,68) | f | 1987 + f | (134,69) | f | 1988 + f | (134,70) | f | 1989 + f | (134,71) | f | 1990 + f | (134,72) | f | 1991 + f | (134,73) | f | 1992 + f | (134,74) | f | 1993 + f | (134,75) | f | 1994 + f | (134,76) | f | 1995 + f | (134,77) | f | 1996 + f | (134,78) | f | 1997 + f | (134,79) | f | 1998 + f | (134,80) | f | 1999 + f | (134,81) | f | 2000 + f | (134,82) | f | 2001 + f | (134,83) | f | 2002 + f | (134,84) | f | 2003 + f | (134,85) | f | 2004 + f | (134,86) | f | 2005 + f | (134,87) | f | 2006 + f | (134,88) | f | 2007 + f | (134,89) | f | 2008 + f | (134,90) | f | 2009 + f | (134,91) | f | 2010 + f | (134,92) | f | 2011 + f | (134,93) | f | 2012 + f | (134,94) | f | 2013 + f | (134,95) | f | 2014 + f | (134,96) | f | 2015 + f | (134,97) | f | 2016 + f | (134,98) | f | 2017 + f | (134,99) | f | 2018 + f | (134,100) | f | 2019 + f | (134,101) | f | 2020 + f | (134,102) | f | 2021 + f | (134,103) | f | 2022 + f | (134,104) | f | 2023 + f | (134,105) | f | 2024 + f | (134,106) | f | 2025 + f | (134,107) | f | 2026 + f | (134,108) | f | 2027 + f | (134,109) | f | 2028 + f | (134,110) | f | 2029 + f | (134,111) | f | 2030 + f | (134,112) | f | 2031 + f | (134,113) | f | 2032 + f | (134,114) | f | 2033 + f | (134,115) | f | 2034 + f | (134,116) | f | 2035 + f | (134,117) | f | 2036 + f | (134,118) | f | 2037 + f | (134,119) | f | 2038 + f | (134,120) | f | 2039 + f | (134,121) | f | 2040 + f | (134,122) | f | 2041 + f | (134,123) | f | 2042 + f | (134,124) | f | 2043 + f | (134,125) | f | 2044 + f | (134,126) | f | 2045 + f | (134,127) | f | 2046 + f | (134,128) | f | 2047 + f | (134,129) | f | 2048 + f | (134,130) | f | 2049 + f | (134,131) | f | 2050 + f | (134,132) | f | 2051 + f | (134,133) | f | 2052 + f | (134,134) | f | 2053 + f | (134,135) | f | 2054 + f | (134,136) | f | 2055 + f | (134,137) | f | 2056 + f | (134,138) | f | 2057 + f | (134,139) | f | 2058 + f | (134,140) | f | 2059 + f | (134,141) | f | 2060 + f | (134,142) | f | 2061 + f | (134,143) | f | 2062 + f | (134,144) | f | 2063 + f | (134,145) | f | 2064 + f | (134,146) | f | 2065 + f | (134,147) | f | 2066 + f | (134,148) | f | 2067 + f | (134,149) | f | 2068 + f | (134,150) | f | 2069 + f | (134,151) | f | 2070 + f | (134,152) | f | 2071 + f | (134,153) | f | 2072 + f | (134,154) | f | 2073 + f | (134,155) | f | 2074 + f | (134,156) | f | 2075 + f | (135,1) | f | 2076 + f | (135,2) | f | 2077 + f | (135,3) | f | 2078 + f | (135,4) | f | 2079 + f | (135,5) | f | 2080 + f | (135,6) | f | 2081 + f | (135,7) | f | 2082 + f | (135,8) | f | 2083 + f | (135,9) | f | 2084 + f | (135,10) | f | 2085 + f | (135,11) | f | 2086 + f | (135,12) | f | 2087 + f | (135,13) | f | 2088 + f | (135,14) | f | 2089 + f | (135,15) | f | 2090 + f | (135,16) | f | 2091 + f | (135,17) | f | 2092 + f | (135,18) | f | 2093 + f | (135,19) | f | 2094 + f | (135,20) | f | 2095 + f | (135,21) | f | 2096 + f | (135,22) | f | 2097 + f | (135,23) | f | 2098 + f | (135,24) | f | 2099 + f | (135,25) | f | 2100 + f | (135,26) | f | 2101 + f | (135,27) | f | 2102 + f | (135,28) | f | 2103 + f | (135,29) | f | 2104 + f | (135,30) | f | 2105 + f | (135,31) | f | 2106 + f | (135,32) | f | 2107 + f | (135,33) | f | 2108 + f | (135,34) | f | 2109 + f | (135,35) | f | 2110 + f | (135,36) | f | 2111 + f | (135,37) | f | 2112 + f | (135,38) | f | 2113 + f | (135,39) | f | 2114 + f | (135,40) | f | 2115 + f | (135,41) | f | 2116 + f | (135,42) | f | 2117 + f | (135,43) | f | 2118 + f | (135,44) | f | 2119 + f | (135,45) | f | 2120 + f | (135,46) | f | 2121 + f | (135,47) | f | 2122 + f | (135,48) | f | 2123 + f | (135,49) | f | 2124 + f | (135,50) | f | 2125 + f | (135,51) | f | 2126 + f | (135,52) | f | 2127 + f | (135,53) | f | 2128 + f | (135,54) | f | 2129 + f | (135,55) | f | 2130 + f | (135,56) | f | 2131 + f | (135,57) | f | 2132 + f | (135,58) | f | 2133 + f | (135,59) | f | 2134 + f | (135,60) | f | 2135 + f | (135,61) | f | 2136 + f | (135,62) | f | 2137 + f | (135,63) | f | 2138 + f | (135,64) | f | 2139 + f | (135,65) | f | 2140 + f | (135,66) | f | 2141 + f | (135,67) | f | 2142 + f | (135,68) | f | 2143 + f | (135,69) | f | 2144 + f | (135,70) | f | 2145 + f | (135,71) | f | 2146 + f | (135,72) | f | 2147 + f | (135,73) | f | 2148 + f | (135,74) | f | 2149 + f | (135,75) | f | 2150 + f | (135,76) | f | 2151 + f | (135,77) | f | 2152 + f | (135,78) | f | 2153 + f | (135,79) | f | 2154 + f | (135,80) | f | 2155 + f | (135,81) | f | 2156 + f | (135,82) | f | 2157 + f | (135,83) | f | 2158 + f | (135,84) | f | 2159 + f | (135,85) | f | 2160 + f | (135,86) | f | 2161 + f | (135,87) | f | 2162 + f | (135,88) | f | 2163 + f | (135,89) | f | 2164 + f | (135,90) | f | 2165 + f | (135,91) | f | 2166 + f | (135,92) | f | 2167 + f | (135,93) | f | 2168 + f | (135,94) | f | 2169 + f | (135,95) | f | 2170 + f | (135,96) | f | 2171 + f | (135,97) | f | 2172 + f | (135,98) | f | 2173 + f | (135,99) | f | 2174 + f | (135,100) | f | 2175 + f | (135,101) | f | 2176 + f | (135,102) | f | 2177 + f | (135,103) | f | 2178 + f | (135,104) | f | 2179 + f | (135,105) | f | 2180 + f | (135,106) | f | 2181 + f | (135,107) | f | 2182 + f | (135,108) | f | 2183 + f | (135,109) | f | 2184 + f | (135,110) | f | 2185 + f | (135,111) | f | 2186 + f | (135,112) | f | 2187 + f | (135,113) | f | 2188 + f | (135,114) | f | 2189 + f | (135,115) | f | 2190 + f | (135,116) | f | 2191 + f | (135,117) | f | 2192 + f | (135,118) | f | 2193 + f | (135,119) | f | 2194 + f | (135,120) | f | 2195 + f | (135,121) | f | 2196 +(763 rows) + +DROP TABLE test_debug_table; +-- Проверяем с позициями лексем +CREATE TABLE test_debug_table_with_weight(t text, a tsvector, r text); +CREATE FUNCTION fill_test_debug_weight_trigger() RETURNS trigger AS $$ +begin + new.a := + setweight(to_tsvector('pg_catalog.english', coalesce(new.r,'')), 'A') || + setweight(to_tsvector('pg_catalog.english', coalesce(new.t,'')), 'D'); + return new; +end +$$ LANGUAGE plpgsql; +CREATE TRIGGER test_debug_weight_trigger +BEFORE INSERT OR UPDATE ON test_debug_table_with_weight +FOR EACH ROW EXECUTE PROCEDURE fill_test_debug_weight_trigger(); +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table_with_weight(t,r) + VALUES('As a reward for your reformation I write to you on this precious sheet.', 'write'); + END LOOP; +END; +$$; +CREATE INDEX test_with_weight_idx ON test_debug_table_with_weight +USING rum (a rum_tsvector_ops); +SELECT * FROM rum_metapage_info('test_with_weight_idx', 0) \gx +-[ RECORD 1 ]----+----------- +pending_head | 4294967295 +pending_tail | 4294967295 +tail_free_size | 0 +n_pending_pages | 0 +n_pending_tuples | 0 +n_total_pages | 25 +n_entry_pages | 3 +n_data_pages | 21 +n_entries | 240 +version | 0xC0DE0002 + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 1); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+------- + 4294967295 | 4294967295 | 0 | 0 | {} +(1 row) + +SELECT * FROM rum_internal_entry_page_items('test_with_weight_idx', 1); + key | attrnum | category | down_link +--------+---------+------------------+----------- + garden | 1 | RUM_CAT_NORM_KEY | 11 + +inf | | | 10 +(2 rows) + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 20); + leftlink | rightlink | maxoff | freespace | flags +------------+------------+--------+-----------+-------- + 4294967295 | 4294967295 | 4 | 0 | {data} +(1 row) + +SELECT * FROM rum_leaf_entry_page_items('test_with_weight_idx', 20); +ERROR: input page is not a RUM {leaf} page +DETAIL: Flags 0001, expected 0002 +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 21); + leftlink | rightlink | maxoff | freespace | flags +----------+-----------+--------+-----------+------------- + 22 | 23 | 1525 | 7 | {data,leaf} +(1 row) + +SELECT * FROM rum_internal_data_page_items('test_with_weight_idx', 21); +ERROR: input page is not a RUM {data} page +DETAIL: Flags 0003, expected 0001 +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 22); + leftlink | rightlink | maxoff | freespace | flags +------------+-----------+--------+-----------+------------- + 4294967295 | 21 | 1525 | 7 | {data,leaf} +(1 row) + +SELECT * FROM rum_leaf_data_page_items('test_with_weight_idx', 22); + is_high_key | tuple_id | add_info_is_null | add_info +-------------+----------+------------------+----------------------------------------------------- + t | (41,10) | f | high key positions in posting tree is not supported + f | (0,1) | f | 1A,9 + f | (1,10) | f | 1A,9 + f | (2,17) | f | 1A,9 + f | (3,24) | f | 1A,9 + f | (4,34) | f | 1A,9 + f | (5,41) | f | 1A,9 + f | (5,42) | f | 1A,9 + f | (5,43) | f | 1A,9 + f | (5,44) | f | 1A,9 + f | (5,45) | f | 1A,9 + f | (6,1) | f | 1A,9 + f | (6,2) | f | 1A,9 + f | (6,3) | f | 1A,9 + f | (6,4) | f | 1A,9 + f | (6,5) | f | 1A,9 + f | (6,6) | f | 1A,9 + f | (6,7) | f | 1A,9 + f | (6,8) | f | 1A,9 + f | (6,9) | f | 1A,9 + f | (6,10) | f | 1A,9 + f | (6,11) | f | 1A,9 + f | (6,12) | f | 1A,9 + f | (6,13) | f | 1A,9 + f | (6,14) | f | 1A,9 + f | (6,15) | f | 1A,9 + f | (6,16) | f | 1A,9 + f | (6,17) | f | 1A,9 + f | (6,18) | f | 1A,9 + f | (6,19) | f | 1A,9 + f | (6,20) | f | 1A,9 + f | (6,21) | f | 1A,9 + f | (6,22) | f | 1A,9 + f | (6,23) | f | 1A,9 + f | (6,24) | f | 1A,9 + f | (6,25) | f | 1A,9 + f | (6,26) | f | 1A,9 + f | (6,27) | f | 1A,9 + f | (6,28) | f | 1A,9 + f | (6,29) | f | 1A,9 + f | (6,30) | f | 1A,9 + f | (6,31) | f | 1A,9 + f | (6,32) | f | 1A,9 + f | (6,33) | f | 1A,9 + f | (6,34) | f | 1A,9 + f | (6,35) | f | 1A,9 + f | (6,36) | f | 1A,9 + f | (6,37) | f | 1A,9 + f | (6,38) | f | 1A,9 + f | (6,39) | f | 1A,9 + f | (6,40) | f | 1A,9 + f | (6,41) | f | 1A,9 + f | (6,42) | f | 1A,9 + f | (6,43) | f | 1A,9 + f | (7,1) | f | 1A,9 + f | (7,2) | f | 1A,9 + f | (7,3) | f | 1A,9 + f | (7,4) | f | 1A,9 + f | (7,5) | f | 1A,9 + f | (7,6) | f | 1A,9 + f | (7,7) | f | 1A,9 + f | (7,8) | f | 1A,9 + f | (7,9) | f | 1A,9 + f | (7,10) | f | 1A,9 + f | (7,11) | f | 1A,9 + f | (7,12) | f | 1A,9 + f | (7,13) | f | 1A,9 + f | (7,14) | f | 1A,9 + f | (7,15) | f | 1A,9 + f | (7,16) | f | 1A,9 + f | (7,17) | f | 1A,9 + f | (7,18) | f | 1A,9 + f | (7,19) | f | 1A,9 + f | (7,20) | f | 1A,9 + f | (7,21) | f | 1A,9 + f | (7,22) | f | 1A,9 + f | (7,23) | f | 1A,9 + f | (7,24) | f | 1A,9 + f | (7,25) | f | 1A,9 + f | (7,26) | f | 1A,9 + f | (7,27) | f | 1A,9 + f | (7,28) | f | 1A,9 + f | (7,29) | f | 1A,9 + f | (7,30) | f | 1A,9 + f | (7,31) | f | 1A,9 + f | (7,32) | f | 1A,9 + f | (7,33) | f | 1A,9 + f | (7,34) | f | 1A,9 + f | (7,35) | f | 1A,9 + f | (7,36) | f | 1A,9 + f | (7,37) | f | 1A,9 + f | (7,38) | f | 1A,9 + f | (7,39) | f | 1A,9 + f | (7,40) | f | 1A,9 + f | (7,41) | f | 1A,9 + f | (7,42) | f | 1A,9 + f | (7,43) | f | 1A,9 + f | (8,1) | f | 1A,9 + f | (8,2) | f | 1A,9 + f | (8,3) | f | 1A,9 + f | (8,4) | f | 1A,9 + f | (8,5) | f | 1A,9 + f | (8,6) | f | 1A,9 + f | (8,7) | f | 1A,9 + f | (8,8) | f | 1A,9 + f | (8,9) | f | 1A,9 + f | (8,10) | f | 1A,9 + f | (8,11) | f | 1A,9 + f | (8,12) | f | 1A,9 + f | (8,13) | f | 1A,9 + f | (8,14) | f | 1A,9 + f | (8,15) | f | 1A,9 + f | (8,16) | f | 1A,9 + f | (8,17) | f | 1A,9 + f | (8,18) | f | 1A,9 + f | (8,19) | f | 1A,9 + f | (8,20) | f | 1A,9 + f | (8,21) | f | 1A,9 + f | (8,22) | f | 1A,9 + f | (8,23) | f | 1A,9 + f | (8,24) | f | 1A,9 + f | (8,25) | f | 1A,9 + f | (8,26) | f | 1A,9 + f | (8,27) | f | 1A,9 + f | (8,28) | f | 1A,9 + f | (8,29) | f | 1A,9 + f | (8,30) | f | 1A,9 + f | (8,31) | f | 1A,9 + f | (8,32) | f | 1A,9 + f | (8,33) | f | 1A,9 + f | (8,34) | f | 1A,9 + f | (8,35) | f | 1A,9 + f | (8,36) | f | 1A,9 + f | (8,37) | f | 1A,9 + f | (8,38) | f | 1A,9 + f | (8,39) | f | 1A,9 + f | (8,40) | f | 1A,9 + f | (8,41) | f | 1A,9 + f | (8,42) | f | 1A,9 + f | (8,43) | f | 1A,9 + f | (9,1) | f | 1A,9 + f | (9,2) | f | 1A,9 + f | (9,3) | f | 1A,9 + f | (9,4) | f | 1A,9 + f | (9,5) | f | 1A,9 + f | (9,6) | f | 1A,9 + f | (9,7) | f | 1A,9 + f | (9,8) | f | 1A,9 + f | (9,9) | f | 1A,9 + f | (9,10) | f | 1A,9 + f | (9,11) | f | 1A,9 + f | (9,12) | f | 1A,9 + f | (9,13) | f | 1A,9 + f | (9,14) | f | 1A,9 + f | (9,15) | f | 1A,9 + f | (9,16) | f | 1A,9 + f | (9,17) | f | 1A,9 + f | (9,18) | f | 1A,9 + f | (9,19) | f | 1A,9 + f | (9,20) | f | 1A,9 + f | (9,21) | f | 1A,9 + f | (9,22) | f | 1A,9 + f | (9,23) | f | 1A,9 + f | (9,24) | f | 1A,9 + f | (9,25) | f | 1A,9 + f | (9,26) | f | 1A,9 + f | (9,27) | f | 1A,9 + f | (9,28) | f | 1A,9 + f | (9,29) | f | 1A,9 + f | (9,30) | f | 1A,9 + f | (9,31) | f | 1A,9 + f | (9,32) | f | 1A,9 + f | (9,33) | f | 1A,9 + f | (9,34) | f | 1A,9 + f | (9,35) | f | 1A,9 + f | (9,36) | f | 1A,9 + f | (9,37) | f | 1A,9 + f | (9,38) | f | 1A,9 + f | (9,39) | f | 1A,9 + f | (9,40) | f | 1A,9 + f | (9,41) | f | 1A,9 + f | (9,42) | f | 1A,9 + f | (9,43) | f | 1A,9 + f | (10,1) | f | 1A,9 + f | (10,2) | f | 1A,9 + f | (10,3) | f | 1A,9 + f | (10,4) | f | 1A,9 + f | (10,5) | f | 1A,9 + f | (10,6) | f | 1A,9 + f | (10,7) | f | 1A,9 + f | (10,8) | f | 1A,9 + f | (10,9) | f | 1A,9 + f | (10,10) | f | 1A,9 + f | (10,11) | f | 1A,9 + f | (10,12) | f | 1A,9 + f | (10,13) | f | 1A,9 + f | (10,14) | f | 1A,9 + f | (10,15) | f | 1A,9 + f | (10,16) | f | 1A,9 + f | (10,17) | f | 1A,9 + f | (10,18) | f | 1A,9 + f | (10,19) | f | 1A,9 + f | (10,20) | f | 1A,9 + f | (10,21) | f | 1A,9 + f | (10,22) | f | 1A,9 + f | (10,23) | f | 1A,9 + f | (10,24) | f | 1A,9 + f | (10,25) | f | 1A,9 + f | (10,26) | f | 1A,9 + f | (10,27) | f | 1A,9 + f | (10,28) | f | 1A,9 + f | (10,29) | f | 1A,9 + f | (10,30) | f | 1A,9 + f | (10,31) | f | 1A,9 + f | (10,32) | f | 1A,9 + f | (10,33) | f | 1A,9 + f | (10,34) | f | 1A,9 + f | (10,35) | f | 1A,9 + f | (10,36) | f | 1A,9 + f | (10,37) | f | 1A,9 + f | (10,38) | f | 1A,9 + f | (10,39) | f | 1A,9 + f | (10,40) | f | 1A,9 + f | (10,41) | f | 1A,9 + f | (10,42) | f | 1A,9 + f | (10,43) | f | 1A,9 + f | (11,1) | f | 1A,9 + f | (11,2) | f | 1A,9 + f | (11,3) | f | 1A,9 + f | (11,4) | f | 1A,9 + f | (11,5) | f | 1A,9 + f | (11,6) | f | 1A,9 + f | (11,7) | f | 1A,9 + f | (11,8) | f | 1A,9 + f | (11,9) | f | 1A,9 + f | (11,10) | f | 1A,9 + f | (11,11) | f | 1A,9 + f | (11,12) | f | 1A,9 + f | (11,13) | f | 1A,9 + f | (11,14) | f | 1A,9 + f | (11,15) | f | 1A,9 + f | (11,16) | f | 1A,9 + f | (11,17) | f | 1A,9 + f | (11,18) | f | 1A,9 + f | (11,19) | f | 1A,9 + f | (11,20) | f | 1A,9 + f | (11,21) | f | 1A,9 + f | (11,22) | f | 1A,9 + f | (11,23) | f | 1A,9 + f | (11,24) | f | 1A,9 + f | (11,25) | f | 1A,9 + f | (11,26) | f | 1A,9 + f | (11,27) | f | 1A,9 + f | (11,28) | f | 1A,9 + f | (11,29) | f | 1A,9 + f | (11,30) | f | 1A,9 + f | (11,31) | f | 1A,9 + f | (11,32) | f | 1A,9 + f | (11,33) | f | 1A,9 + f | (11,34) | f | 1A,9 + f | (11,35) | f | 1A,9 + f | (11,36) | f | 1A,9 + f | (11,37) | f | 1A,9 + f | (11,38) | f | 1A,9 + f | (11,39) | f | 1A,9 + f | (11,40) | f | 1A,9 + f | (11,41) | f | 1A,9 + f | (11,42) | f | 1A,9 + f | (11,43) | f | 1A,9 + f | (12,1) | f | 1A,9 + f | (12,2) | f | 1A,9 + f | (12,3) | f | 1A,9 + f | (12,4) | f | 1A,9 + f | (12,5) | f | 1A,9 + f | (12,6) | f | 1A,9 + f | (12,7) | f | 1A,9 + f | (12,8) | f | 1A,9 + f | (12,9) | f | 1A,9 + f | (12,10) | f | 1A,9 + f | (12,11) | f | 1A,9 + f | (12,12) | f | 1A,9 + f | (12,13) | f | 1A,9 + f | (12,14) | f | 1A,9 + f | (12,15) | f | 1A,9 + f | (12,16) | f | 1A,9 + f | (12,17) | f | 1A,9 + f | (12,18) | f | 1A,9 + f | (12,19) | f | 1A,9 + f | (12,20) | f | 1A,9 + f | (12,21) | f | 1A,9 + f | (12,22) | f | 1A,9 + f | (12,23) | f | 1A,9 + f | (12,24) | f | 1A,9 + f | (12,25) | f | 1A,9 + f | (12,26) | f | 1A,9 + f | (12,27) | f | 1A,9 + f | (12,28) | f | 1A,9 + f | (12,29) | f | 1A,9 + f | (12,30) | f | 1A,9 + f | (12,31) | f | 1A,9 + f | (12,32) | f | 1A,9 + f | (12,33) | f | 1A,9 + f | (12,34) | f | 1A,9 + f | (12,35) | f | 1A,9 + f | (12,36) | f | 1A,9 + f | (12,37) | f | 1A,9 + f | (12,38) | f | 1A,9 + f | (12,39) | f | 1A,9 + f | (12,40) | f | 1A,9 + f | (12,41) | f | 1A,9 + f | (12,42) | f | 1A,9 + f | (12,43) | f | 1A,9 + f | (13,1) | f | 1A,9 + f | (13,2) | f | 1A,9 + f | (13,3) | f | 1A,9 + f | (13,4) | f | 1A,9 + f | (13,5) | f | 1A,9 + f | (13,6) | f | 1A,9 + f | (13,7) | f | 1A,9 + f | (13,8) | f | 1A,9 + f | (13,9) | f | 1A,9 + f | (13,10) | f | 1A,9 + f | (13,11) | f | 1A,9 + f | (13,12) | f | 1A,9 + f | (13,13) | f | 1A,9 + f | (13,14) | f | 1A,9 + f | (13,15) | f | 1A,9 + f | (13,16) | f | 1A,9 + f | (13,17) | f | 1A,9 + f | (13,18) | f | 1A,9 + f | (13,19) | f | 1A,9 + f | (13,20) | f | 1A,9 + f | (13,21) | f | 1A,9 + f | (13,22) | f | 1A,9 + f | (13,23) | f | 1A,9 + f | (13,24) | f | 1A,9 + f | (13,25) | f | 1A,9 + f | (13,26) | f | 1A,9 + f | (13,27) | f | 1A,9 + f | (13,28) | f | 1A,9 + f | (13,29) | f | 1A,9 + f | (13,30) | f | 1A,9 + f | (13,31) | f | 1A,9 + f | (13,32) | f | 1A,9 + f | (13,33) | f | 1A,9 + f | (13,34) | f | 1A,9 + f | (13,35) | f | 1A,9 + f | (13,36) | f | 1A,9 + f | (13,37) | f | 1A,9 + f | (13,38) | f | 1A,9 + f | (13,39) | f | 1A,9 + f | (13,40) | f | 1A,9 + f | (13,41) | f | 1A,9 + f | (13,42) | f | 1A,9 + f | (13,43) | f | 1A,9 + f | (14,1) | f | 1A,9 + f | (14,2) | f | 1A,9 + f | (14,3) | f | 1A,9 + f | (14,4) | f | 1A,9 + f | (14,5) | f | 1A,9 + f | (14,6) | f | 1A,9 + f | (14,7) | f | 1A,9 + f | (14,8) | f | 1A,9 + f | (14,9) | f | 1A,9 + f | (14,10) | f | 1A,9 + f | (14,11) | f | 1A,9 + f | (14,12) | f | 1A,9 + f | (14,13) | f | 1A,9 + f | (14,14) | f | 1A,9 + f | (14,15) | f | 1A,9 + f | (14,16) | f | 1A,9 + f | (14,17) | f | 1A,9 + f | (14,18) | f | 1A,9 + f | (14,19) | f | 1A,9 + f | (14,20) | f | 1A,9 + f | (14,21) | f | 1A,9 + f | (14,22) | f | 1A,9 + f | (14,23) | f | 1A,9 + f | (14,24) | f | 1A,9 + f | (14,25) | f | 1A,9 + f | (14,26) | f | 1A,9 + f | (14,27) | f | 1A,9 + f | (14,28) | f | 1A,9 + f | (14,29) | f | 1A,9 + f | (14,30) | f | 1A,9 + f | (14,31) | f | 1A,9 + f | (14,32) | f | 1A,9 + f | (14,33) | f | 1A,9 + f | (14,34) | f | 1A,9 + f | (14,35) | f | 1A,9 + f | (14,36) | f | 1A,9 + f | (14,37) | f | 1A,9 + f | (14,38) | f | 1A,9 + f | (14,39) | f | 1A,9 + f | (14,40) | f | 1A,9 + f | (14,41) | f | 1A,9 + f | (14,42) | f | 1A,9 + f | (14,43) | f | 1A,9 + f | (15,1) | f | 1A,9 + f | (15,2) | f | 1A,9 + f | (15,3) | f | 1A,9 + f | (15,4) | f | 1A,9 + f | (15,5) | f | 1A,9 + f | (15,6) | f | 1A,9 + f | (15,7) | f | 1A,9 + f | (15,8) | f | 1A,9 + f | (15,9) | f | 1A,9 + f | (15,10) | f | 1A,9 + f | (15,11) | f | 1A,9 + f | (15,12) | f | 1A,9 + f | (15,13) | f | 1A,9 + f | (15,14) | f | 1A,9 + f | (15,15) | f | 1A,9 + f | (15,16) | f | 1A,9 + f | (15,17) | f | 1A,9 + f | (15,18) | f | 1A,9 + f | (15,19) | f | 1A,9 + f | (15,20) | f | 1A,9 + f | (15,21) | f | 1A,9 + f | (15,22) | f | 1A,9 + f | (15,23) | f | 1A,9 + f | (15,24) | f | 1A,9 + f | (15,25) | f | 1A,9 + f | (15,26) | f | 1A,9 + f | (15,27) | f | 1A,9 + f | (15,28) | f | 1A,9 + f | (15,29) | f | 1A,9 + f | (15,30) | f | 1A,9 + f | (15,31) | f | 1A,9 + f | (15,32) | f | 1A,9 + f | (15,33) | f | 1A,9 + f | (15,34) | f | 1A,9 + f | (15,35) | f | 1A,9 + f | (15,36) | f | 1A,9 + f | (15,37) | f | 1A,9 + f | (15,38) | f | 1A,9 + f | (15,39) | f | 1A,9 + f | (15,40) | f | 1A,9 + f | (15,41) | f | 1A,9 + f | (15,42) | f | 1A,9 + f | (15,43) | f | 1A,9 + f | (16,1) | f | 1A,9 + f | (16,2) | f | 1A,9 + f | (16,3) | f | 1A,9 + f | (16,4) | f | 1A,9 + f | (16,5) | f | 1A,9 + f | (16,6) | f | 1A,9 + f | (16,7) | f | 1A,9 + f | (16,8) | f | 1A,9 + f | (16,9) | f | 1A,9 + f | (16,10) | f | 1A,9 + f | (16,11) | f | 1A,9 + f | (16,12) | f | 1A,9 + f | (16,13) | f | 1A,9 + f | (16,14) | f | 1A,9 + f | (16,15) | f | 1A,9 + f | (16,16) | f | 1A,9 + f | (16,17) | f | 1A,9 + f | (16,18) | f | 1A,9 + f | (16,19) | f | 1A,9 + f | (16,20) | f | 1A,9 + f | (16,21) | f | 1A,9 + f | (16,22) | f | 1A,9 + f | (16,23) | f | 1A,9 + f | (16,24) | f | 1A,9 + f | (16,25) | f | 1A,9 + f | (16,26) | f | 1A,9 + f | (16,27) | f | 1A,9 + f | (16,28) | f | 1A,9 + f | (16,29) | f | 1A,9 + f | (16,30) | f | 1A,9 + f | (16,31) | f | 1A,9 + f | (16,32) | f | 1A,9 + f | (16,33) | f | 1A,9 + f | (16,34) | f | 1A,9 + f | (16,35) | f | 1A,9 + f | (16,36) | f | 1A,9 + f | (16,37) | f | 1A,9 + f | (16,38) | f | 1A,9 + f | (16,39) | f | 1A,9 + f | (16,40) | f | 1A,9 + f | (16,41) | f | 1A,9 + f | (16,42) | f | 1A,9 + f | (16,43) | f | 1A,9 + f | (17,1) | f | 1A,9 + f | (17,2) | f | 1A,9 + f | (17,3) | f | 1A,9 + f | (17,4) | f | 1A,9 + f | (17,5) | f | 1A,9 + f | (17,6) | f | 1A,9 + f | (17,7) | f | 1A,9 + f | (17,8) | f | 1A,9 + f | (17,9) | f | 1A,9 + f | (17,10) | f | 1A,9 + f | (17,11) | f | 1A,9 + f | (17,12) | f | 1A,9 + f | (17,13) | f | 1A,9 + f | (17,14) | f | 1A,9 + f | (17,15) | f | 1A,9 + f | (17,16) | f | 1A,9 + f | (17,17) | f | 1A,9 + f | (17,18) | f | 1A,9 + f | (17,19) | f | 1A,9 + f | (17,20) | f | 1A,9 + f | (17,21) | f | 1A,9 + f | (17,22) | f | 1A,9 + f | (17,23) | f | 1A,9 + f | (17,24) | f | 1A,9 + f | (17,25) | f | 1A,9 + f | (17,26) | f | 1A,9 + f | (17,27) | f | 1A,9 + f | (17,28) | f | 1A,9 + f | (17,29) | f | 1A,9 + f | (17,30) | f | 1A,9 + f | (17,31) | f | 1A,9 + f | (17,32) | f | 1A,9 + f | (17,33) | f | 1A,9 + f | (17,34) | f | 1A,9 + f | (17,35) | f | 1A,9 + f | (17,36) | f | 1A,9 + f | (17,37) | f | 1A,9 + f | (17,38) | f | 1A,9 + f | (17,39) | f | 1A,9 + f | (17,40) | f | 1A,9 + f | (17,41) | f | 1A,9 + f | (17,42) | f | 1A,9 + f | (17,43) | f | 1A,9 + f | (18,1) | f | 1A,9 + f | (18,2) | f | 1A,9 + f | (18,3) | f | 1A,9 + f | (18,4) | f | 1A,9 + f | (18,5) | f | 1A,9 + f | (18,6) | f | 1A,9 + f | (18,7) | f | 1A,9 + f | (18,8) | f | 1A,9 + f | (18,9) | f | 1A,9 + f | (18,10) | f | 1A,9 + f | (18,11) | f | 1A,9 + f | (18,12) | f | 1A,9 + f | (18,13) | f | 1A,9 + f | (18,14) | f | 1A,9 + f | (18,15) | f | 1A,9 + f | (18,16) | f | 1A,9 + f | (18,17) | f | 1A,9 + f | (18,18) | f | 1A,9 + f | (18,19) | f | 1A,9 + f | (18,20) | f | 1A,9 + f | (18,21) | f | 1A,9 + f | (18,22) | f | 1A,9 + f | (18,23) | f | 1A,9 + f | (18,24) | f | 1A,9 + f | (18,25) | f | 1A,9 + f | (18,26) | f | 1A,9 + f | (18,27) | f | 1A,9 + f | (18,28) | f | 1A,9 + f | (18,29) | f | 1A,9 + f | (18,30) | f | 1A,9 + f | (18,31) | f | 1A,9 + f | (18,32) | f | 1A,9 + f | (18,33) | f | 1A,9 + f | (18,34) | f | 1A,9 + f | (18,35) | f | 1A,9 + f | (18,36) | f | 1A,9 + f | (18,37) | f | 1A,9 + f | (18,38) | f | 1A,9 + f | (18,39) | f | 1A,9 + f | (18,40) | f | 1A,9 + f | (18,41) | f | 1A,9 + f | (18,42) | f | 1A,9 + f | (18,43) | f | 1A,9 + f | (19,1) | f | 1A,9 + f | (19,2) | f | 1A,9 + f | (19,3) | f | 1A,9 + f | (19,4) | f | 1A,9 + f | (19,5) | f | 1A,9 + f | (19,6) | f | 1A,9 + f | (19,7) | f | 1A,9 + f | (19,8) | f | 1A,9 + f | (19,9) | f | 1A,9 + f | (19,10) | f | 1A,9 + f | (19,11) | f | 1A,9 + f | (19,12) | f | 1A,9 + f | (19,13) | f | 1A,9 + f | (19,14) | f | 1A,9 + f | (19,15) | f | 1A,9 + f | (19,16) | f | 1A,9 + f | (19,17) | f | 1A,9 + f | (19,18) | f | 1A,9 + f | (19,19) | f | 1A,9 + f | (19,20) | f | 1A,9 + f | (19,21) | f | 1A,9 + f | (19,22) | f | 1A,9 + f | (19,23) | f | 1A,9 + f | (19,24) | f | 1A,9 + f | (19,25) | f | 1A,9 + f | (19,26) | f | 1A,9 + f | (19,27) | f | 1A,9 + f | (19,28) | f | 1A,9 + f | (19,29) | f | 1A,9 + f | (19,30) | f | 1A,9 + f | (19,31) | f | 1A,9 + f | (19,32) | f | 1A,9 + f | (19,33) | f | 1A,9 + f | (19,34) | f | 1A,9 + f | (19,35) | f | 1A,9 + f | (19,36) | f | 1A,9 + f | (19,37) | f | 1A,9 + f | (19,38) | f | 1A,9 + f | (19,39) | f | 1A,9 + f | (19,40) | f | 1A,9 + f | (19,41) | f | 1A,9 + f | (19,42) | f | 1A,9 + f | (19,43) | f | 1A,9 + f | (20,1) | f | 1A,9 + f | (20,2) | f | 1A,9 + f | (20,3) | f | 1A,9 + f | (20,4) | f | 1A,9 + f | (20,5) | f | 1A,9 + f | (20,6) | f | 1A,9 + f | (20,7) | f | 1A,9 + f | (20,8) | f | 1A,9 + f | (20,9) | f | 1A,9 + f | (20,10) | f | 1A,9 + f | (20,11) | f | 1A,9 + f | (20,12) | f | 1A,9 + f | (20,13) | f | 1A,9 + f | (20,14) | f | 1A,9 + f | (20,15) | f | 1A,9 + f | (20,16) | f | 1A,9 + f | (20,17) | f | 1A,9 + f | (20,18) | f | 1A,9 + f | (20,19) | f | 1A,9 + f | (20,20) | f | 1A,9 + f | (20,21) | f | 1A,9 + f | (20,22) | f | 1A,9 + f | (20,23) | f | 1A,9 + f | (20,24) | f | 1A,9 + f | (20,25) | f | 1A,9 + f | (20,26) | f | 1A,9 + f | (20,27) | f | 1A,9 + f | (20,28) | f | 1A,9 + f | (20,29) | f | 1A,9 + f | (20,30) | f | 1A,9 + f | (20,31) | f | 1A,9 + f | (20,32) | f | 1A,9 + f | (20,33) | f | 1A,9 + f | (20,34) | f | 1A,9 + f | (20,35) | f | 1A,9 + f | (20,36) | f | 1A,9 + f | (20,37) | f | 1A,9 + f | (20,38) | f | 1A,9 + f | (20,39) | f | 1A,9 + f | (20,40) | f | 1A,9 + f | (20,41) | f | 1A,9 + f | (20,42) | f | 1A,9 + f | (20,43) | f | 1A,9 + f | (21,1) | f | 1A,9 + f | (21,2) | f | 1A,9 + f | (21,3) | f | 1A,9 + f | (21,4) | f | 1A,9 + f | (21,5) | f | 1A,9 + f | (21,6) | f | 1A,9 + f | (21,7) | f | 1A,9 + f | (21,8) | f | 1A,9 + f | (21,9) | f | 1A,9 + f | (21,10) | f | 1A,9 + f | (21,11) | f | 1A,9 + f | (21,12) | f | 1A,9 + f | (21,13) | f | 1A,9 + f | (21,14) | f | 1A,9 + f | (21,15) | f | 1A,9 + f | (21,16) | f | 1A,9 + f | (21,17) | f | 1A,9 + f | (21,18) | f | 1A,9 + f | (21,19) | f | 1A,9 + f | (21,20) | f | 1A,9 + f | (21,21) | f | 1A,9 + f | (21,22) | f | 1A,9 + f | (21,23) | f | 1A,9 + f | (21,24) | f | 1A,9 + f | (21,25) | f | 1A,9 + f | (21,26) | f | 1A,9 + f | (21,27) | f | 1A,9 + f | (21,28) | f | 1A,9 + f | (21,29) | f | 1A,9 + f | (21,30) | f | 1A,9 + f | (21,31) | f | 1A,9 + f | (21,32) | f | 1A,9 + f | (21,33) | f | 1A,9 + f | (21,34) | f | 1A,9 + f | (21,35) | f | 1A,9 + f | (21,36) | f | 1A,9 + f | (21,37) | f | 1A,9 + f | (21,38) | f | 1A,9 + f | (21,39) | f | 1A,9 + f | (21,40) | f | 1A,9 + f | (21,41) | f | 1A,9 + f | (21,42) | f | 1A,9 + f | (21,43) | f | 1A,9 + f | (22,1) | f | 1A,9 + f | (22,2) | f | 1A,9 + f | (22,3) | f | 1A,9 + f | (22,4) | f | 1A,9 + f | (22,5) | f | 1A,9 + f | (22,6) | f | 1A,9 + f | (22,7) | f | 1A,9 + f | (22,8) | f | 1A,9 + f | (22,9) | f | 1A,9 + f | (22,10) | f | 1A,9 + f | (22,11) | f | 1A,9 + f | (22,12) | f | 1A,9 + f | (22,13) | f | 1A,9 + f | (22,14) | f | 1A,9 + f | (22,15) | f | 1A,9 + f | (22,16) | f | 1A,9 + f | (22,17) | f | 1A,9 + f | (22,18) | f | 1A,9 + f | (22,19) | f | 1A,9 + f | (22,20) | f | 1A,9 + f | (22,21) | f | 1A,9 + f | (22,22) | f | 1A,9 + f | (22,23) | f | 1A,9 + f | (22,24) | f | 1A,9 + f | (22,25) | f | 1A,9 + f | (22,26) | f | 1A,9 + f | (22,27) | f | 1A,9 + f | (22,28) | f | 1A,9 + f | (22,29) | f | 1A,9 + f | (22,30) | f | 1A,9 + f | (22,31) | f | 1A,9 + f | (22,32) | f | 1A,9 + f | (22,33) | f | 1A,9 + f | (22,34) | f | 1A,9 + f | (22,35) | f | 1A,9 + f | (22,36) | f | 1A,9 + f | (22,37) | f | 1A,9 + f | (22,38) | f | 1A,9 + f | (22,39) | f | 1A,9 + f | (22,40) | f | 1A,9 + f | (22,41) | f | 1A,9 + f | (22,42) | f | 1A,9 + f | (22,43) | f | 1A,9 + f | (23,1) | f | 1A,9 + f | (23,2) | f | 1A,9 + f | (23,3) | f | 1A,9 + f | (23,4) | f | 1A,9 + f | (23,5) | f | 1A,9 + f | (23,6) | f | 1A,9 + f | (23,7) | f | 1A,9 + f | (23,8) | f | 1A,9 + f | (23,9) | f | 1A,9 + f | (23,10) | f | 1A,9 + f | (23,11) | f | 1A,9 + f | (23,12) | f | 1A,9 + f | (23,13) | f | 1A,9 + f | (23,14) | f | 1A,9 + f | (23,15) | f | 1A,9 + f | (23,16) | f | 1A,9 + f | (23,17) | f | 1A,9 + f | (23,18) | f | 1A,9 + f | (23,19) | f | 1A,9 + f | (23,20) | f | 1A,9 + f | (23,21) | f | 1A,9 + f | (23,22) | f | 1A,9 + f | (23,23) | f | 1A,9 + f | (23,24) | f | 1A,9 + f | (23,25) | f | 1A,9 + f | (23,26) | f | 1A,9 + f | (23,27) | f | 1A,9 + f | (23,28) | f | 1A,9 + f | (23,29) | f | 1A,9 + f | (23,30) | f | 1A,9 + f | (23,31) | f | 1A,9 + f | (23,32) | f | 1A,9 + f | (23,33) | f | 1A,9 + f | (23,34) | f | 1A,9 + f | (23,35) | f | 1A,9 + f | (23,36) | f | 1A,9 + f | (23,37) | f | 1A,9 + f | (23,38) | f | 1A,9 + f | (23,39) | f | 1A,9 + f | (23,40) | f | 1A,9 + f | (23,41) | f | 1A,9 + f | (23,42) | f | 1A,9 + f | (23,43) | f | 1A,9 + f | (24,1) | f | 1A,9 + f | (24,2) | f | 1A,9 + f | (24,3) | f | 1A,9 + f | (24,4) | f | 1A,9 + f | (24,5) | f | 1A,9 + f | (24,6) | f | 1A,9 + f | (24,7) | f | 1A,9 + f | (24,8) | f | 1A,9 + f | (24,9) | f | 1A,9 + f | (24,10) | f | 1A,9 + f | (24,11) | f | 1A,9 + f | (24,12) | f | 1A,9 + f | (24,13) | f | 1A,9 + f | (24,14) | f | 1A,9 + f | (24,15) | f | 1A,9 + f | (24,16) | f | 1A,9 + f | (24,17) | f | 1A,9 + f | (24,18) | f | 1A,9 + f | (24,19) | f | 1A,9 + f | (24,20) | f | 1A,9 + f | (24,21) | f | 1A,9 + f | (24,22) | f | 1A,9 + f | (24,23) | f | 1A,9 + f | (24,24) | f | 1A,9 + f | (24,25) | f | 1A,9 + f | (24,26) | f | 1A,9 + f | (24,27) | f | 1A,9 + f | (24,28) | f | 1A,9 + f | (24,29) | f | 1A,9 + f | (24,30) | f | 1A,9 + f | (24,31) | f | 1A,9 + f | (24,32) | f | 1A,9 + f | (24,33) | f | 1A,9 + f | (24,34) | f | 1A,9 + f | (24,35) | f | 1A,9 + f | (24,36) | f | 1A,9 + f | (24,37) | f | 1A,9 + f | (24,38) | f | 1A,9 + f | (24,39) | f | 1A,9 + f | (24,40) | f | 1A,9 + f | (24,41) | f | 1A,9 + f | (24,42) | f | 1A,9 + f | (24,43) | f | 1A,9 + f | (25,1) | f | 1A,9 + f | (25,2) | f | 1A,9 + f | (25,3) | f | 1A,9 + f | (25,4) | f | 1A,9 + f | (25,5) | f | 1A,9 + f | (25,6) | f | 1A,9 + f | (25,7) | f | 1A,9 + f | (25,8) | f | 1A,9 + f | (25,9) | f | 1A,9 + f | (25,10) | f | 1A,9 + f | (25,11) | f | 1A,9 + f | (25,12) | f | 1A,9 + f | (25,13) | f | 1A,9 + f | (25,14) | f | 1A,9 + f | (25,15) | f | 1A,9 + f | (25,16) | f | 1A,9 + f | (25,17) | f | 1A,9 + f | (25,18) | f | 1A,9 + f | (25,19) | f | 1A,9 + f | (25,20) | f | 1A,9 + f | (25,21) | f | 1A,9 + f | (25,22) | f | 1A,9 + f | (25,23) | f | 1A,9 + f | (25,24) | f | 1A,9 + f | (25,25) | f | 1A,9 + f | (25,26) | f | 1A,9 + f | (25,27) | f | 1A,9 + f | (25,28) | f | 1A,9 + f | (25,29) | f | 1A,9 + f | (25,30) | f | 1A,9 + f | (25,31) | f | 1A,9 + f | (25,32) | f | 1A,9 + f | (25,33) | f | 1A,9 + f | (25,34) | f | 1A,9 + f | (25,35) | f | 1A,9 + f | (25,36) | f | 1A,9 + f | (25,37) | f | 1A,9 + f | (25,38) | f | 1A,9 + f | (25,39) | f | 1A,9 + f | (25,40) | f | 1A,9 + f | (25,41) | f | 1A,9 + f | (25,42) | f | 1A,9 + f | (25,43) | f | 1A,9 + f | (26,1) | f | 1A,9 + f | (26,2) | f | 1A,9 + f | (26,3) | f | 1A,9 + f | (26,4) | f | 1A,9 + f | (26,5) | f | 1A,9 + f | (26,6) | f | 1A,9 + f | (26,7) | f | 1A,9 + f | (26,8) | f | 1A,9 + f | (26,9) | f | 1A,9 + f | (26,10) | f | 1A,9 + f | (26,11) | f | 1A,9 + f | (26,12) | f | 1A,9 + f | (26,13) | f | 1A,9 + f | (26,14) | f | 1A,9 + f | (26,15) | f | 1A,9 + f | (26,16) | f | 1A,9 + f | (26,17) | f | 1A,9 + f | (26,18) | f | 1A,9 + f | (26,19) | f | 1A,9 + f | (26,20) | f | 1A,9 + f | (26,21) | f | 1A,9 + f | (26,22) | f | 1A,9 + f | (26,23) | f | 1A,9 + f | (26,24) | f | 1A,9 + f | (26,25) | f | 1A,9 + f | (26,26) | f | 1A,9 + f | (26,27) | f | 1A,9 + f | (26,28) | f | 1A,9 + f | (26,29) | f | 1A,9 + f | (26,30) | f | 1A,9 + f | (26,31) | f | 1A,9 + f | (26,32) | f | 1A,9 + f | (26,33) | f | 1A,9 + f | (26,34) | f | 1A,9 + f | (26,35) | f | 1A,9 + f | (26,36) | f | 1A,9 + f | (26,37) | f | 1A,9 + f | (26,38) | f | 1A,9 + f | (26,39) | f | 1A,9 + f | (26,40) | f | 1A,9 + f | (26,41) | f | 1A,9 + f | (26,42) | f | 1A,9 + f | (26,43) | f | 1A,9 + f | (27,1) | f | 1A,9 + f | (27,2) | f | 1A,9 + f | (27,3) | f | 1A,9 + f | (27,4) | f | 1A,9 + f | (27,5) | f | 1A,9 + f | (27,6) | f | 1A,9 + f | (27,7) | f | 1A,9 + f | (27,8) | f | 1A,9 + f | (27,9) | f | 1A,9 + f | (27,10) | f | 1A,9 + f | (27,11) | f | 1A,9 + f | (27,12) | f | 1A,9 + f | (27,13) | f | 1A,9 + f | (27,14) | f | 1A,9 + f | (27,15) | f | 1A,9 + f | (27,16) | f | 1A,9 + f | (27,17) | f | 1A,9 + f | (27,18) | f | 1A,9 + f | (27,19) | f | 1A,9 + f | (27,20) | f | 1A,9 + f | (27,21) | f | 1A,9 + f | (27,22) | f | 1A,9 + f | (27,23) | f | 1A,9 + f | (27,24) | f | 1A,9 + f | (27,25) | f | 1A,9 + f | (27,26) | f | 1A,9 + f | (27,27) | f | 1A,9 + f | (27,28) | f | 1A,9 + f | (27,29) | f | 1A,9 + f | (27,30) | f | 1A,9 + f | (27,31) | f | 1A,9 + f | (27,32) | f | 1A,9 + f | (27,33) | f | 1A,9 + f | (27,34) | f | 1A,9 + f | (27,35) | f | 1A,9 + f | (27,36) | f | 1A,9 + f | (27,37) | f | 1A,9 + f | (27,38) | f | 1A,9 + f | (27,39) | f | 1A,9 + f | (27,40) | f | 1A,9 + f | (27,41) | f | 1A,9 + f | (27,42) | f | 1A,9 + f | (27,43) | f | 1A,9 + f | (28,1) | f | 1A,9 + f | (28,2) | f | 1A,9 + f | (28,3) | f | 1A,9 + f | (28,4) | f | 1A,9 + f | (28,5) | f | 1A,9 + f | (28,6) | f | 1A,9 + f | (28,7) | f | 1A,9 + f | (28,8) | f | 1A,9 + f | (28,9) | f | 1A,9 + f | (28,10) | f | 1A,9 + f | (28,11) | f | 1A,9 + f | (28,12) | f | 1A,9 + f | (28,13) | f | 1A,9 + f | (28,14) | f | 1A,9 + f | (28,15) | f | 1A,9 + f | (28,16) | f | 1A,9 + f | (28,17) | f | 1A,9 + f | (28,18) | f | 1A,9 + f | (28,19) | f | 1A,9 + f | (28,20) | f | 1A,9 + f | (28,21) | f | 1A,9 + f | (28,22) | f | 1A,9 + f | (28,23) | f | 1A,9 + f | (28,24) | f | 1A,9 + f | (28,25) | f | 1A,9 + f | (28,26) | f | 1A,9 + f | (28,27) | f | 1A,9 + f | (28,28) | f | 1A,9 + f | (28,29) | f | 1A,9 + f | (28,30) | f | 1A,9 + f | (28,31) | f | 1A,9 + f | (28,32) | f | 1A,9 + f | (28,33) | f | 1A,9 + f | (28,34) | f | 1A,9 + f | (28,35) | f | 1A,9 + f | (28,36) | f | 1A,9 + f | (28,37) | f | 1A,9 + f | (28,38) | f | 1A,9 + f | (28,39) | f | 1A,9 + f | (28,40) | f | 1A,9 + f | (28,41) | f | 1A,9 + f | (28,42) | f | 1A,9 + f | (28,43) | f | 1A,9 + f | (29,1) | f | 1A,9 + f | (29,2) | f | 1A,9 + f | (29,3) | f | 1A,9 + f | (29,4) | f | 1A,9 + f | (29,5) | f | 1A,9 + f | (29,6) | f | 1A,9 + f | (29,7) | f | 1A,9 + f | (29,8) | f | 1A,9 + f | (29,9) | f | 1A,9 + f | (29,10) | f | 1A,9 + f | (29,11) | f | 1A,9 + f | (29,12) | f | 1A,9 + f | (29,13) | f | 1A,9 + f | (29,14) | f | 1A,9 + f | (29,15) | f | 1A,9 + f | (29,16) | f | 1A,9 + f | (29,17) | f | 1A,9 + f | (29,18) | f | 1A,9 + f | (29,19) | f | 1A,9 + f | (29,20) | f | 1A,9 + f | (29,21) | f | 1A,9 + f | (29,22) | f | 1A,9 + f | (29,23) | f | 1A,9 + f | (29,24) | f | 1A,9 + f | (29,25) | f | 1A,9 + f | (29,26) | f | 1A,9 + f | (29,27) | f | 1A,9 + f | (29,28) | f | 1A,9 + f | (29,29) | f | 1A,9 + f | (29,30) | f | 1A,9 + f | (29,31) | f | 1A,9 + f | (29,32) | f | 1A,9 + f | (29,33) | f | 1A,9 + f | (29,34) | f | 1A,9 + f | (29,35) | f | 1A,9 + f | (29,36) | f | 1A,9 + f | (29,37) | f | 1A,9 + f | (29,38) | f | 1A,9 + f | (29,39) | f | 1A,9 + f | (29,40) | f | 1A,9 + f | (29,41) | f | 1A,9 + f | (29,42) | f | 1A,9 + f | (29,43) | f | 1A,9 + f | (30,1) | f | 1A,9 + f | (30,2) | f | 1A,9 + f | (30,3) | f | 1A,9 + f | (30,4) | f | 1A,9 + f | (30,5) | f | 1A,9 + f | (30,6) | f | 1A,9 + f | (30,7) | f | 1A,9 + f | (30,8) | f | 1A,9 + f | (30,9) | f | 1A,9 + f | (30,10) | f | 1A,9 + f | (30,11) | f | 1A,9 + f | (30,12) | f | 1A,9 + f | (30,13) | f | 1A,9 + f | (30,14) | f | 1A,9 + f | (30,15) | f | 1A,9 + f | (30,16) | f | 1A,9 + f | (30,17) | f | 1A,9 + f | (30,18) | f | 1A,9 + f | (30,19) | f | 1A,9 + f | (30,20) | f | 1A,9 + f | (30,21) | f | 1A,9 + f | (30,22) | f | 1A,9 + f | (30,23) | f | 1A,9 + f | (30,24) | f | 1A,9 + f | (30,25) | f | 1A,9 + f | (30,26) | f | 1A,9 + f | (30,27) | f | 1A,9 + f | (30,28) | f | 1A,9 + f | (30,29) | f | 1A,9 + f | (30,30) | f | 1A,9 + f | (30,31) | f | 1A,9 + f | (30,32) | f | 1A,9 + f | (30,33) | f | 1A,9 + f | (30,34) | f | 1A,9 + f | (30,35) | f | 1A,9 + f | (30,36) | f | 1A,9 + f | (30,37) | f | 1A,9 + f | (30,38) | f | 1A,9 + f | (30,39) | f | 1A,9 + f | (30,40) | f | 1A,9 + f | (30,41) | f | 1A,9 + f | (30,42) | f | 1A,9 + f | (30,43) | f | 1A,9 + f | (31,1) | f | 1A,9 + f | (31,2) | f | 1A,9 + f | (31,3) | f | 1A,9 + f | (31,4) | f | 1A,9 + f | (31,5) | f | 1A,9 + f | (31,6) | f | 1A,9 + f | (31,7) | f | 1A,9 + f | (31,8) | f | 1A,9 + f | (31,9) | f | 1A,9 + f | (31,10) | f | 1A,9 + f | (31,11) | f | 1A,9 + f | (31,12) | f | 1A,9 + f | (31,13) | f | 1A,9 + f | (31,14) | f | 1A,9 + f | (31,15) | f | 1A,9 + f | (31,16) | f | 1A,9 + f | (31,17) | f | 1A,9 + f | (31,18) | f | 1A,9 + f | (31,19) | f | 1A,9 + f | (31,20) | f | 1A,9 + f | (31,21) | f | 1A,9 + f | (31,22) | f | 1A,9 + f | (31,23) | f | 1A,9 + f | (31,24) | f | 1A,9 + f | (31,25) | f | 1A,9 + f | (31,26) | f | 1A,9 + f | (31,27) | f | 1A,9 + f | (31,28) | f | 1A,9 + f | (31,29) | f | 1A,9 + f | (31,30) | f | 1A,9 + f | (31,31) | f | 1A,9 + f | (31,32) | f | 1A,9 + f | (31,33) | f | 1A,9 + f | (31,34) | f | 1A,9 + f | (31,35) | f | 1A,9 + f | (31,36) | f | 1A,9 + f | (31,37) | f | 1A,9 + f | (31,38) | f | 1A,9 + f | (31,39) | f | 1A,9 + f | (31,40) | f | 1A,9 + f | (31,41) | f | 1A,9 + f | (31,42) | f | 1A,9 + f | (31,43) | f | 1A,9 + f | (32,1) | f | 1A,9 + f | (32,2) | f | 1A,9 + f | (32,3) | f | 1A,9 + f | (32,4) | f | 1A,9 + f | (32,5) | f | 1A,9 + f | (32,6) | f | 1A,9 + f | (32,7) | f | 1A,9 + f | (32,8) | f | 1A,9 + f | (32,9) | f | 1A,9 + f | (32,10) | f | 1A,9 + f | (32,11) | f | 1A,9 + f | (32,12) | f | 1A,9 + f | (32,13) | f | 1A,9 + f | (32,14) | f | 1A,9 + f | (32,15) | f | 1A,9 + f | (32,16) | f | 1A,9 + f | (32,17) | f | 1A,9 + f | (32,18) | f | 1A,9 + f | (32,19) | f | 1A,9 + f | (32,20) | f | 1A,9 + f | (32,21) | f | 1A,9 + f | (32,22) | f | 1A,9 + f | (32,23) | f | 1A,9 + f | (32,24) | f | 1A,9 + f | (32,25) | f | 1A,9 + f | (32,26) | f | 1A,9 + f | (32,27) | f | 1A,9 + f | (32,28) | f | 1A,9 + f | (32,29) | f | 1A,9 + f | (32,30) | f | 1A,9 + f | (32,31) | f | 1A,9 + f | (32,32) | f | 1A,9 + f | (32,33) | f | 1A,9 + f | (32,34) | f | 1A,9 + f | (32,35) | f | 1A,9 + f | (32,36) | f | 1A,9 + f | (32,37) | f | 1A,9 + f | (32,38) | f | 1A,9 + f | (32,39) | f | 1A,9 + f | (32,40) | f | 1A,9 + f | (32,41) | f | 1A,9 + f | (32,42) | f | 1A,9 + f | (32,43) | f | 1A,9 + f | (33,1) | f | 1A,9 + f | (33,2) | f | 1A,9 + f | (33,3) | f | 1A,9 + f | (33,4) | f | 1A,9 + f | (33,5) | f | 1A,9 + f | (33,6) | f | 1A,9 + f | (33,7) | f | 1A,9 + f | (33,8) | f | 1A,9 + f | (33,9) | f | 1A,9 + f | (33,10) | f | 1A,9 + f | (33,11) | f | 1A,9 + f | (33,12) | f | 1A,9 + f | (33,13) | f | 1A,9 + f | (33,14) | f | 1A,9 + f | (33,15) | f | 1A,9 + f | (33,16) | f | 1A,9 + f | (33,17) | f | 1A,9 + f | (33,18) | f | 1A,9 + f | (33,19) | f | 1A,9 + f | (33,20) | f | 1A,9 + f | (33,21) | f | 1A,9 + f | (33,22) | f | 1A,9 + f | (33,23) | f | 1A,9 + f | (33,24) | f | 1A,9 + f | (33,25) | f | 1A,9 + f | (33,26) | f | 1A,9 + f | (33,27) | f | 1A,9 + f | (33,28) | f | 1A,9 + f | (33,29) | f | 1A,9 + f | (33,30) | f | 1A,9 + f | (33,31) | f | 1A,9 + f | (33,32) | f | 1A,9 + f | (33,33) | f | 1A,9 + f | (33,34) | f | 1A,9 + f | (33,35) | f | 1A,9 + f | (33,36) | f | 1A,9 + f | (33,37) | f | 1A,9 + f | (33,38) | f | 1A,9 + f | (33,39) | f | 1A,9 + f | (33,40) | f | 1A,9 + f | (33,41) | f | 1A,9 + f | (33,42) | f | 1A,9 + f | (33,43) | f | 1A,9 + f | (34,1) | f | 1A,9 + f | (34,2) | f | 1A,9 + f | (34,3) | f | 1A,9 + f | (34,4) | f | 1A,9 + f | (34,5) | f | 1A,9 + f | (34,6) | f | 1A,9 + f | (34,7) | f | 1A,9 + f | (34,8) | f | 1A,9 + f | (34,9) | f | 1A,9 + f | (34,10) | f | 1A,9 + f | (34,11) | f | 1A,9 + f | (34,12) | f | 1A,9 + f | (34,13) | f | 1A,9 + f | (34,14) | f | 1A,9 + f | (34,15) | f | 1A,9 + f | (34,16) | f | 1A,9 + f | (34,17) | f | 1A,9 + f | (34,18) | f | 1A,9 + f | (34,19) | f | 1A,9 + f | (34,20) | f | 1A,9 + f | (34,21) | f | 1A,9 + f | (34,22) | f | 1A,9 + f | (34,23) | f | 1A,9 + f | (34,24) | f | 1A,9 + f | (34,25) | f | 1A,9 + f | (34,26) | f | 1A,9 + f | (34,27) | f | 1A,9 + f | (34,28) | f | 1A,9 + f | (34,29) | f | 1A,9 + f | (34,30) | f | 1A,9 + f | (34,31) | f | 1A,9 + f | (34,32) | f | 1A,9 + f | (34,33) | f | 1A,9 + f | (34,34) | f | 1A,9 + f | (34,35) | f | 1A,9 + f | (34,36) | f | 1A,9 + f | (34,37) | f | 1A,9 + f | (34,38) | f | 1A,9 + f | (34,39) | f | 1A,9 + f | (34,40) | f | 1A,9 + f | (34,41) | f | 1A,9 + f | (34,42) | f | 1A,9 + f | (34,43) | f | 1A,9 + f | (35,1) | f | 1A,9 + f | (35,2) | f | 1A,9 + f | (35,3) | f | 1A,9 + f | (35,4) | f | 1A,9 + f | (35,5) | f | 1A,9 + f | (35,6) | f | 1A,9 + f | (35,7) | f | 1A,9 + f | (35,8) | f | 1A,9 + f | (35,9) | f | 1A,9 + f | (35,10) | f | 1A,9 + f | (35,11) | f | 1A,9 + f | (35,12) | f | 1A,9 + f | (35,13) | f | 1A,9 + f | (35,14) | f | 1A,9 + f | (35,15) | f | 1A,9 + f | (35,16) | f | 1A,9 + f | (35,17) | f | 1A,9 + f | (35,18) | f | 1A,9 + f | (35,19) | f | 1A,9 + f | (35,20) | f | 1A,9 + f | (35,21) | f | 1A,9 + f | (35,22) | f | 1A,9 + f | (35,23) | f | 1A,9 + f | (35,24) | f | 1A,9 + f | (35,25) | f | 1A,9 + f | (35,26) | f | 1A,9 + f | (35,27) | f | 1A,9 + f | (35,28) | f | 1A,9 + f | (35,29) | f | 1A,9 + f | (35,30) | f | 1A,9 + f | (35,31) | f | 1A,9 + f | (35,32) | f | 1A,9 + f | (35,33) | f | 1A,9 + f | (35,34) | f | 1A,9 + f | (35,35) | f | 1A,9 + f | (35,36) | f | 1A,9 + f | (35,37) | f | 1A,9 + f | (35,38) | f | 1A,9 + f | (35,39) | f | 1A,9 + f | (35,40) | f | 1A,9 + f | (35,41) | f | 1A,9 + f | (35,42) | f | 1A,9 + f | (35,43) | f | 1A,9 + f | (36,1) | f | 1A,9 + f | (36,2) | f | 1A,9 + f | (36,3) | f | 1A,9 + f | (36,4) | f | 1A,9 + f | (36,5) | f | 1A,9 + f | (36,6) | f | 1A,9 + f | (36,7) | f | 1A,9 + f | (36,8) | f | 1A,9 + f | (36,9) | f | 1A,9 + f | (36,10) | f | 1A,9 + f | (36,11) | f | 1A,9 + f | (36,12) | f | 1A,9 + f | (36,13) | f | 1A,9 + f | (36,14) | f | 1A,9 + f | (36,15) | f | 1A,9 + f | (36,16) | f | 1A,9 + f | (36,17) | f | 1A,9 + f | (36,18) | f | 1A,9 + f | (36,19) | f | 1A,9 + f | (36,20) | f | 1A,9 + f | (36,21) | f | 1A,9 + f | (36,22) | f | 1A,9 + f | (36,23) | f | 1A,9 + f | (36,24) | f | 1A,9 + f | (36,25) | f | 1A,9 + f | (36,26) | f | 1A,9 + f | (36,27) | f | 1A,9 + f | (36,28) | f | 1A,9 + f | (36,29) | f | 1A,9 + f | (36,30) | f | 1A,9 + f | (36,31) | f | 1A,9 + f | (36,32) | f | 1A,9 + f | (36,33) | f | 1A,9 + f | (36,34) | f | 1A,9 + f | (36,35) | f | 1A,9 + f | (36,36) | f | 1A,9 + f | (36,37) | f | 1A,9 + f | (36,38) | f | 1A,9 + f | (36,39) | f | 1A,9 + f | (36,40) | f | 1A,9 + f | (36,41) | f | 1A,9 + f | (36,42) | f | 1A,9 + f | (36,43) | f | 1A,9 + f | (37,1) | f | 1A,9 + f | (37,2) | f | 1A,9 + f | (37,3) | f | 1A,9 + f | (37,4) | f | 1A,9 + f | (37,5) | f | 1A,9 + f | (37,6) | f | 1A,9 + f | (37,7) | f | 1A,9 + f | (37,8) | f | 1A,9 + f | (37,9) | f | 1A,9 + f | (37,10) | f | 1A,9 + f | (37,11) | f | 1A,9 + f | (37,12) | f | 1A,9 + f | (37,13) | f | 1A,9 + f | (37,14) | f | 1A,9 + f | (37,15) | f | 1A,9 + f | (37,16) | f | 1A,9 + f | (37,17) | f | 1A,9 + f | (37,18) | f | 1A,9 + f | (37,19) | f | 1A,9 + f | (37,20) | f | 1A,9 + f | (37,21) | f | 1A,9 + f | (37,22) | f | 1A,9 + f | (37,23) | f | 1A,9 + f | (37,24) | f | 1A,9 + f | (37,25) | f | 1A,9 + f | (37,26) | f | 1A,9 + f | (37,27) | f | 1A,9 + f | (37,28) | f | 1A,9 + f | (37,29) | f | 1A,9 + f | (37,30) | f | 1A,9 + f | (37,31) | f | 1A,9 + f | (37,32) | f | 1A,9 + f | (37,33) | f | 1A,9 + f | (37,34) | f | 1A,9 + f | (37,35) | f | 1A,9 + f | (37,36) | f | 1A,9 + f | (37,37) | f | 1A,9 + f | (37,38) | f | 1A,9 + f | (37,39) | f | 1A,9 + f | (37,40) | f | 1A,9 + f | (37,41) | f | 1A,9 + f | (37,42) | f | 1A,9 + f | (37,43) | f | 1A,9 + f | (38,1) | f | 1A,9 + f | (38,2) | f | 1A,9 + f | (38,3) | f | 1A,9 + f | (38,4) | f | 1A,9 + f | (38,5) | f | 1A,9 + f | (38,6) | f | 1A,9 + f | (38,7) | f | 1A,9 + f | (38,8) | f | 1A,9 + f | (38,9) | f | 1A,9 + f | (38,10) | f | 1A,9 + f | (38,11) | f | 1A,9 + f | (38,12) | f | 1A,9 + f | (38,13) | f | 1A,9 + f | (38,14) | f | 1A,9 + f | (38,15) | f | 1A,9 + f | (38,16) | f | 1A,9 + f | (38,17) | f | 1A,9 + f | (38,18) | f | 1A,9 + f | (38,19) | f | 1A,9 + f | (38,20) | f | 1A,9 + f | (38,21) | f | 1A,9 + f | (38,22) | f | 1A,9 + f | (38,23) | f | 1A,9 + f | (38,24) | f | 1A,9 + f | (38,25) | f | 1A,9 + f | (38,26) | f | 1A,9 + f | (38,27) | f | 1A,9 + f | (38,28) | f | 1A,9 + f | (38,29) | f | 1A,9 + f | (38,30) | f | 1A,9 + f | (38,31) | f | 1A,9 + f | (38,32) | f | 1A,9 + f | (38,33) | f | 1A,9 + f | (38,34) | f | 1A,9 + f | (38,35) | f | 1A,9 + f | (38,36) | f | 1A,9 + f | (38,37) | f | 1A,9 + f | (38,38) | f | 1A,9 + f | (38,39) | f | 1A,9 + f | (38,40) | f | 1A,9 + f | (38,41) | f | 1A,9 + f | (38,42) | f | 1A,9 + f | (38,43) | f | 1A,9 + f | (39,1) | f | 1A,9 + f | (39,2) | f | 1A,9 + f | (39,3) | f | 1A,9 + f | (39,4) | f | 1A,9 + f | (39,5) | f | 1A,9 + f | (39,6) | f | 1A,9 + f | (39,7) | f | 1A,9 + f | (39,8) | f | 1A,9 + f | (39,9) | f | 1A,9 + f | (39,10) | f | 1A,9 + f | (39,11) | f | 1A,9 + f | (39,12) | f | 1A,9 + f | (39,13) | f | 1A,9 + f | (39,14) | f | 1A,9 + f | (39,15) | f | 1A,9 + f | (39,16) | f | 1A,9 + f | (39,17) | f | 1A,9 + f | (39,18) | f | 1A,9 + f | (39,19) | f | 1A,9 + f | (39,20) | f | 1A,9 + f | (39,21) | f | 1A,9 + f | (39,22) | f | 1A,9 + f | (39,23) | f | 1A,9 + f | (39,24) | f | 1A,9 + f | (39,25) | f | 1A,9 + f | (39,26) | f | 1A,9 + f | (39,27) | f | 1A,9 + f | (39,28) | f | 1A,9 + f | (39,29) | f | 1A,9 + f | (39,30) | f | 1A,9 + f | (39,31) | f | 1A,9 + f | (39,32) | f | 1A,9 + f | (39,33) | f | 1A,9 + f | (39,34) | f | 1A,9 + f | (39,35) | f | 1A,9 + f | (39,36) | f | 1A,9 + f | (39,37) | f | 1A,9 + f | (39,38) | f | 1A,9 + f | (39,39) | f | 1A,9 + f | (39,40) | f | 1A,9 + f | (39,41) | f | 1A,9 + f | (39,42) | f | 1A,9 + f | (39,43) | f | 1A,9 + f | (40,1) | f | 1A,9 + f | (40,2) | f | 1A,9 + f | (40,3) | f | 1A,9 + f | (40,4) | f | 1A,9 + f | (40,5) | f | 1A,9 + f | (40,6) | f | 1A,9 + f | (40,7) | f | 1A,9 + f | (40,8) | f | 1A,9 + f | (40,9) | f | 1A,9 + f | (40,10) | f | 1A,9 + f | (40,11) | f | 1A,9 + f | (40,12) | f | 1A,9 + f | (40,13) | f | 1A,9 + f | (40,14) | f | 1A,9 + f | (40,15) | f | 1A,9 + f | (40,16) | f | 1A,9 + f | (40,17) | f | 1A,9 + f | (40,18) | f | 1A,9 + f | (40,19) | f | 1A,9 + f | (40,20) | f | 1A,9 + f | (40,21) | f | 1A,9 + f | (40,22) | f | 1A,9 + f | (40,23) | f | 1A,9 + f | (40,24) | f | 1A,9 + f | (40,25) | f | 1A,9 + f | (40,26) | f | 1A,9 + f | (40,27) | f | 1A,9 + f | (40,28) | f | 1A,9 + f | (40,29) | f | 1A,9 + f | (40,30) | f | 1A,9 + f | (40,31) | f | 1A,9 + f | (40,32) | f | 1A,9 + f | (40,33) | f | 1A,9 + f | (40,34) | f | 1A,9 + f | (40,35) | f | 1A,9 + f | (40,36) | f | 1A,9 + f | (40,37) | f | 1A,9 + f | (40,38) | f | 1A,9 + f | (40,39) | f | 1A,9 + f | (40,40) | f | 1A,9 + f | (40,41) | f | 1A,9 + f | (40,42) | f | 1A,9 + f | (40,43) | f | 1A,9 + f | (41,1) | f | 1A,9 + f | (41,2) | f | 1A,9 + f | (41,3) | f | 1A,9 + f | (41,4) | f | 1A,9 + f | (41,5) | f | 1A,9 + f | (41,6) | f | 1A,9 + f | (41,7) | f | 1A,9 + f | (41,8) | f | 1A,9 + f | (41,9) | f | 1A,9 + f | (41,10) | f | 1A,9 +(1526 rows) + +DROP TABLE test_debug_table_with_weight; +DROP FUNCTION fill_test_debug_weight_trigger; diff --git a/sql/rum_debug_funcs.sql b/sql/rum_debug_funcs.sql new file mode 100644 index 0000000000..bccc6f1b8c --- /dev/null +++ b/sql/rum_debug_funcs.sql @@ -0,0 +1,126 @@ +CREATE TABLE test_debug_table (id int, t tsvector, d timestamp); + +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' +\copy test_debug_table from 'data/tsts.data' + +-- It is necessary to create all types of pages in the Posting Tree +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table(id, t, d) + VALUES(i, 'b9', '2016-05-02 00:21:22.326724'); + END LOOP; +END; +$$; + +-- Testing on the index without additional information +CREATE INDEX test_without_addinfo_idx ON test_debug_table +USING rum (t, d); + +SELECT * FROM rum_metapage_info('test_without_addinfo_idx', 0) \gx + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 1); +SELECT * FROM rum_internal_entry_page_items('test_without_addinfo_idx', 1); + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 10); +SELECT * FROM rum_leaf_entry_page_items('test_without_addinfo_idx', 10); + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 7); +SELECT * FROM rum_internal_data_page_items('test_without_addinfo_idx', 7); + +SELECT * FROM rum_page_opaque_info('test_without_addinfo_idx', 9); +SELECT * FROM rum_leaf_data_page_items('test_without_addinfo_idx', 9); + +-- Testing on the index with additional information (order_by_attach = false) +CREATE INDEX test_with_addinfo_idx_false ON test_debug_table +USING rum (t rum_tsvector_addon_ops, d) +WITH (attach = 'd', to = 't', order_by_attach='f'); + +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_false', 0) \gx + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 1); +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_false', 1); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 28); +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_false', 28); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 19); +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_false', 19); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_false', 20); +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_false', 20); + +-- Testing on the index with additional information (order_by_attach = true) +CREATE INDEX test_with_addinfo_idx_true ON test_debug_table +USING rum (t rum_tsvector_addon_ops, id) +WITH (attach = 'id', to = 't', order_by_attach='t'); + +SELECT * FROM rum_metapage_info('test_with_addinfo_idx_true', 0) \gx + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 1); +SELECT * FROM rum_internal_entry_page_items('test_with_addinfo_idx_true', 1); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 27); +SELECT * FROM rum_leaf_entry_page_items('test_with_addinfo_idx_true', 27); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 19); +SELECT * FROM rum_internal_data_page_items('test_with_addinfo_idx_true', 19); + +SELECT * FROM rum_page_opaque_info('test_with_addinfo_idx_true', 22); +SELECT * FROM rum_leaf_data_page_items('test_with_addinfo_idx_true', 22); + +DROP TABLE test_debug_table; + +-- Проверяем с позициями лексем +CREATE TABLE test_debug_table_with_weight(t text, a tsvector, r text); + +CREATE FUNCTION fill_test_debug_weight_trigger() RETURNS trigger AS $$ +begin + new.a := + setweight(to_tsvector('pg_catalog.english', coalesce(new.r,'')), 'A') || + setweight(to_tsvector('pg_catalog.english', coalesce(new.t,'')), 'D'); + return new; +end +$$ LANGUAGE plpgsql; + +CREATE TRIGGER test_debug_weight_trigger +BEFORE INSERT OR UPDATE ON test_debug_table_with_weight +FOR EACH ROW EXECUTE PROCEDURE fill_test_debug_weight_trigger(); + +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; +\copy test_debug_table_with_weight(t,r) FROM 'data/rum_weight.data' DELIMITER '|'; + +DO $$ +BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO test_debug_table_with_weight(t,r) + VALUES('As a reward for your reformation I write to you on this precious sheet.', 'write'); + END LOOP; +END; +$$; + +CREATE INDEX test_with_weight_idx ON test_debug_table_with_weight +USING rum (a rum_tsvector_ops); + +SELECT * FROM rum_metapage_info('test_with_weight_idx', 0) \gx + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 1); +SELECT * FROM rum_internal_entry_page_items('test_with_weight_idx', 1); + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 20); +SELECT * FROM rum_leaf_entry_page_items('test_with_weight_idx', 20); + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 21); +SELECT * FROM rum_internal_data_page_items('test_with_weight_idx', 21); + +SELECT * FROM rum_page_opaque_info('test_with_weight_idx', 22); +SELECT * FROM rum_leaf_data_page_items('test_with_weight_idx', 22); + +DROP TABLE test_debug_table_with_weight; +DROP FUNCTION fill_test_debug_weight_trigger;