Bugzilla – Attachment 128527 Details for
Bug 29695
Centralize columns' descriptions
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29695: Remove columns.def
Bug-29695-Remove-columnsdef.patch (text/plain), 22.50 KB, created by
Jonathan Druart
on 2021-12-14 17:03:18 UTC
(
hide
)
Description:
Bug 29695: Remove columns.def
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2021-12-14 17:03:18 UTC
Size:
22.50 KB
patch
obsolete
>From 616c77cdf9b14b26768dbcb2563a0c1d073fe6f1 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Tue, 14 Dec 2021 17:07:22 +0100 >Subject: [PATCH] Bug 29695: Remove columns.def > >No longer in use > >Test plan: > % git grep 'columns.def' >does not return relevant occurrences >--- > gulpfile.js | 369 -------------------- > koha-tmpl/intranet-tmpl/prog/en/columns.def | 148 -------- > 2 files changed, 517 deletions(-) > delete mode 100644 gulpfile.js > delete mode 100644 koha-tmpl/intranet-tmpl/prog/en/columns.def > >diff --git a/gulpfile.js b/gulpfile.js >deleted file mode 100644 >index bf1f5150ef8..00000000000 >--- a/gulpfile.js >+++ /dev/null >@@ -1,369 +0,0 @@ >-/* eslint-env node */ >-/* eslint no-console:"off" */ >- >-const { dest, parallel, series, src, watch } = require('gulp'); >- >-const child_process = require('child_process'); >-const fs = require('fs'); >-const os = require('os'); >-const path = require('path'); >-const util = require('util'); >- >-const sass = require("gulp-sass"); >-const cssnano = require("gulp-cssnano"); >-const rtlcss = require('gulp-rtlcss'); >-const sourcemaps = require('gulp-sourcemaps'); >-const autoprefixer = require('gulp-autoprefixer'); >-const concatPo = require('gulp-concat-po'); >-const exec = require('gulp-exec'); >-const merge = require('merge-stream'); >-const through2 = require('through2'); >-const Vinyl = require('vinyl'); >-const args = require('minimist')(process.argv.slice(2)); >-const rename = require('gulp-rename'); >- >-const STAFF_JS_BASE = "koha-tmpl/intranet-tmpl/prog/js"; >-const STAFF_CSS_BASE = "koha-tmpl/intranet-tmpl/prog/css"; >-const OPAC_JS_BASE = "koha-tmpl/opac-tmpl/bootstrap/js"; >-const OPAC_CSS_BASE = "koha-tmpl/opac-tmpl/bootstrap/css"; >- >-if (args.view == "opac") { >- var css_base = OPAC_CSS_BASE; >- var js_base = OPAC_JS_BASE; >-} else { >- var css_base = STAFF_CSS_BASE; >- var js_base = STAFF_JS_BASE; >-} >- >-var sassOptions = { >- errLogToConsole: true, >- precision: 3 >-} >- >-// CSS processing for development >-function css() { >- var stream = src(css_base + "/src/**/*.scss") >- .pipe(sourcemaps.init()) >- .pipe(sass(sassOptions).on('error', sass.logError)) >- .pipe(autoprefixer()) >- .pipe(dest(css_base)); >- >- if (args.view == "opac") { >- stream = stream >- .pipe(rtlcss()) >- .pipe(rename({ >- suffix: '-rtl' >- })) // Append "-rtl" to the filename. >- .pipe(dest(css_base)); >- } >- >- stream = stream.pipe(sourcemaps.write('./maps')) >- .pipe(dest(css_base)); >- >- return stream; >- >-} >- >-// CSS processing for production >-function build() { >- var stream = src(css_base + "/src/**/*.scss") >- .pipe(sass(sassOptions).on('error', sass.logError)) >- .pipe(autoprefixer()) >- .pipe(cssnano({ >- zindex: false >- })) >- .pipe(dest(css_base)); >- >- if( args.view == "opac" ){ >- stream = stream.pipe(rtlcss()) >- .pipe(rename({ >- suffix: '-rtl' >- })) // Append "-rtl" to the filename. >- .pipe(dest(css_base)); >- } >- >- return stream; >-} >- >-const poTasks = { >- 'marc-MARC21': { >- extract: po_extract_marc_marc21, >- create: po_create_marc_marc21, >- update: po_update_marc_marc21, >- }, >- 'marc-UNIMARC': { >- extract: po_extract_marc_unimarc, >- create: po_create_marc_unimarc, >- update: po_update_marc_unimarc, >- }, >- 'staff-prog': { >- extract: po_extract_staff, >- create: po_create_staff, >- update: po_update_staff, >- }, >- 'opac-bootstrap': { >- extract: po_extract_opac, >- create: po_create_opac, >- update: po_update_opac, >- }, >- 'pref': { >- extract: po_extract_pref, >- create: po_create_pref, >- update: po_update_pref, >- }, >- 'messages': { >- extract: po_extract_messages, >- create: po_create_messages, >- update: po_update_messages, >- }, >- 'messages-js': { >- extract: po_extract_messages_js, >- create: po_create_messages_js, >- update: po_update_messages_js, >- }, >- 'installer': { >- extract: po_extract_installer, >- create: po_create_installer, >- update: po_update_installer, >- }, >- 'installer-MARC21': { >- extract: po_extract_installer_marc21, >- create: po_create_installer_marc21, >- update: po_update_installer_marc21, >- }, >-}; >- >-const poTypes = Object.keys(poTasks); >- >-function po_extract_marc (type) { >- return src(`koha-tmpl/*-tmpl/*/en/**/*${type}*`, { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext.pl --charset=UTF-8 -s', `Koha-marc-${type}.pot`)) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_marc_marc21 () { return po_extract_marc('MARC21') } >-function po_extract_marc_unimarc () { return po_extract_marc('UNIMARC') } >- >-function po_extract_staff () { >- const globs = [ >- 'koha-tmpl/intranet-tmpl/prog/en/**/*.tt', >- 'koha-tmpl/intranet-tmpl/prog/en/**/*.inc', >- 'koha-tmpl/intranet-tmpl/prog/en/xslt/*.xsl', >- 'koha-tmpl/intranet-tmpl/prog/en/columns.def', >- '!koha-tmpl/intranet-tmpl/prog/en/**/*MARC21*', >- '!koha-tmpl/intranet-tmpl/prog/en/**/*UNIMARC*', >- '!koha-tmpl/intranet-tmpl/prog/en/**/*marc21*', >- '!koha-tmpl/intranet-tmpl/prog/en/**/*unimarc*', >- ]; >- >- return src(globs, { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext.pl --charset=UTF-8 -s', 'Koha-staff-prog.pot')) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_opac () { >- const globs = [ >- 'koha-tmpl/opac-tmpl/bootstrap/en/**/*.tt', >- 'koha-tmpl/opac-tmpl/bootstrap/en/**/*.inc', >- 'koha-tmpl/opac-tmpl/bootstrap/en/xslt/*.xsl', >- '!koha-tmpl/opac-tmpl/bootstrap/en/**/*MARC21*', >- '!koha-tmpl/opac-tmpl/bootstrap/en/**/*UNIMARC*', >- '!koha-tmpl/opac-tmpl/bootstrap/en/**/*marc21*', >- '!koha-tmpl/opac-tmpl/bootstrap/en/**/*unimarc*', >- ]; >- >- return src(globs, { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext.pl --charset=UTF-8 -s', 'Koha-opac-bootstrap.pot')) >- .pipe(dest('misc/translator')) >-} >- >-const xgettext_options = '--from-code=UTF-8 --package-name Koha ' >- + '--package-version= -k -k__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 ' >- + '-k__p:1c,2 -k__px:1c,2 -k__np:1c,2,3 -k__npx:1c,2,3 -kN__ ' >- + '-kN__n:1,2 -kN__p:1c,2 -kN__np:1c,2,3 --force-po'; >- >-function po_extract_messages_js () { >- const globs = [ >- 'koha-tmpl/intranet-tmpl/prog/js/**/*.js', >- 'koha-tmpl/opac-tmpl/bootstrap/js/**/*.js', >- ]; >- >- return src(globs, { read: false, nocase: true }) >- .pipe(xgettext(`xgettext -L JavaScript ${xgettext_options}`, 'Koha-messages-js.pot')) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_messages () { >- const perlStream = src(['**/*.pl', '**/*.pm'], { read: false, nocase: true }) >- .pipe(xgettext(`xgettext -L Perl ${xgettext_options}`, 'Koha-perl.pot')) >- >- const ttStream = src([ >- 'koha-tmpl/intranet-tmpl/prog/en/**/*.tt', >- 'koha-tmpl/intranet-tmpl/prog/en/**/*.inc', >- 'koha-tmpl/opac-tmpl/bootstrap/en/**/*.tt', >- 'koha-tmpl/opac-tmpl/bootstrap/en/**/*.inc', >- ], { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext-tt2 --from-code=UTF-8', 'Koha-tt.pot')) >- >- const headers = { >- 'Project-Id-Version': 'Koha', >- 'Content-Type': 'text/plain; charset=UTF-8', >- }; >- >- return merge(perlStream, ttStream) >- .pipe(concatPo('Koha-messages.pot', { headers })) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_pref () { >- return src('koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/*.pref', { read: false }) >- .pipe(xgettext('misc/translator/xgettext-pref', 'Koha-pref.pot')) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_installer () { >- const globs = [ >- 'installer/data/mysql/en/mandatory/*.yml', >- 'installer/data/mysql/en/optional/*.yml', >- ]; >- >- return src(globs, { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext-installer', 'Koha-installer.pot')) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_installer_marc (type) { >- const globs = `installer/data/mysql/en/marcflavour/${type}/**/*.yml`; >- >- return src(globs, { read: false, nocase: true }) >- .pipe(xgettext('misc/translator/xgettext-installer', `Koha-installer-${type}.pot`)) >- .pipe(dest('misc/translator')) >-} >- >-function po_extract_installer_marc21 () { return po_extract_installer_marc('MARC21') } >- >-function po_create_type (type) { >- const access = util.promisify(fs.access); >- const exec = util.promisify(child_process.exec); >- >- const languages = getLanguages(); >- const promises = []; >- for (const language of languages) { >- const locale = language.split('-').filter(s => s.length !== 4).join('_'); >- const po = `misc/translator/po/${language}-${type}.po`; >- const pot = `misc/translator/Koha-${type}.pot`; >- >- const promise = access(po) >- .catch(() => exec(`msginit -o ${po} -i ${pot} -l ${locale} --no-translator`)) >- promises.push(promise); >- } >- >- return Promise.all(promises); >-} >- >-function po_create_marc_marc21 () { return po_create_type('marc-MARC21') } >-function po_create_marc_unimarc () { return po_create_type('marc-UNIMARC') } >-function po_create_staff () { return po_create_type('staff-prog') } >-function po_create_opac () { return po_create_type('opac-bootstrap') } >-function po_create_pref () { return po_create_type('pref') } >-function po_create_messages () { return po_create_type('messages') } >-function po_create_messages_js () { return po_create_type('messages-js') } >-function po_create_installer () { return po_create_type('installer') } >-function po_create_installer_marc21 () { return po_create_type('installer-MARC21') } >- >-function po_update_type (type) { >- const msgmerge_opts = '--backup=off --quiet --sort-output --update'; >- const cmd = `msgmerge ${msgmerge_opts} <%= file.path %> misc/translator/Koha-${type}.pot`; >- const languages = getLanguages(); >- const globs = languages.map(language => `misc/translator/po/${language}-${type}.po`); >- >- return src(globs) >- .pipe(exec(cmd, { continueOnError: true })) >- .pipe(exec.reporter({ err: false, stdout: false })) >-} >- >-function po_update_marc_marc21 () { return po_update_type('marc-MARC21') } >-function po_update_marc_unimarc () { return po_update_type('marc-UNIMARC') } >-function po_update_staff () { return po_update_type('staff-prog') } >-function po_update_opac () { return po_update_type('opac-bootstrap') } >-function po_update_pref () { return po_update_type('pref') } >-function po_update_messages () { return po_update_type('messages') } >-function po_update_messages_js () { return po_update_type('messages-js') } >-function po_update_installer () { return po_update_type('installer') } >-function po_update_installer_marc21 () { return po_update_type('installer-MARC21') } >- >-/** >- * Gulp plugin that executes xgettext-like command `cmd` on all files given as >- * input, and then outputs the result as a POT file named `filename`. >- * `cmd` should accept -o and -f options >- */ >-function xgettext (cmd, filename) { >- const filenames = []; >- >- function transform (file, encoding, callback) { >- filenames.push(path.relative(file.cwd, file.path)); >- callback(); >- } >- >- function flush (callback) { >- fs.mkdtemp(path.join(os.tmpdir(), 'koha-'), (err, folder) => { >- const outputFilename = path.join(folder, filename); >- const filesFilename = path.join(folder, 'files'); >- fs.writeFile(filesFilename, filenames.join(os.EOL), err => { >- if (err) return callback(err); >- >- const command = `${cmd} -o ${outputFilename} -f ${filesFilename}`; >- child_process.exec(command, err => { >- if (err) return callback(err); >- >- fs.readFile(outputFilename, (err, data) => { >- if (err) return callback(err); >- >- const file = new Vinyl(); >- file.path = path.join(file.base, filename); >- file.contents = data; >- callback(null, file); >- }); >- }); >- }); >- }) >- } >- >- return through2.obj(transform, flush); >-} >- >-/** >- * Return languages selected for PO-related tasks >- * >- * This can be either languages given on command-line with --lang option, or >- * all the languages found in misc/translator/po otherwise >- */ >-function getLanguages () { >- if (Array.isArray(args.lang)) { >- return args.lang; >- } >- >- if (args.lang) { >- return [args.lang]; >- } >- >- const filenames = fs.readdirSync('misc/translator/po') >- .filter(filename => filename.endsWith('.po')) >- .filter(filename => !filename.startsWith('.')) >- >- const re = new RegExp('-(' + poTypes.join('|') + ')\.po$'); >- languages = filenames.map(filename => filename.replace(re, '')) >- >- return Array.from(new Set(languages)); >-} >- >-exports.build = build; >-exports.css = css; >- >-exports['po:create'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].create))); >-exports['po:update'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].update))); >-exports['po:extract'] = parallel(...poTypes.map(type => poTasks[type].extract)); >- >-exports.default = function () { >- watch(css_base + "/src/**/*.scss", series('css')); >-} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/columns.def b/koha-tmpl/intranet-tmpl/prog/en/columns.def >deleted file mode 100644 >index a8d15914c16..00000000000 >--- a/koha-tmpl/intranet-tmpl/prog/en/columns.def >+++ /dev/null >@@ -1,148 +0,0 @@ >-<field name="borrowers.borrowernumber">Borrower number</field> >-<field name="borrowers.title">Salutation</field> >-<field name="borrowers.surname">Surname</field> >-<field name="borrowers.firstname">First name</field> >-<field name="borrowers.dateofbirth">Date of birth</field> >-<field name="borrowers.initials">Initials</field> >-<field name="borrowers.othernames">Other name</field> >-<field name="borrowers.sex">Gender</field> >-<field name="borrowers.relationship">Relationship</field> >-<field name="borrowers.streetnumber">Street number</field> >-<field name="borrowers.streettype">Street type</field> >-<field name="borrowers.address">Address</field> >-<field name="borrowers.address2">Address 2</field> >-<field name="borrowers.city">City</field> >-<field name="borrowers.state">State</field> >-<field name="borrowers.zipcode">ZIP/Postal code</field> >-<field name="borrowers.country">Country</field> >-<field name="borrowers.phone">Primary phone</field> >-<field name="borrowers.phonepro">Secondary phone</field> >-<field name="borrowers.mobile">Other phone</field> >-<field name="borrowers.email">Primary email</field> >-<field name="borrowers.emailpro">Secondary email</field> >-<field name="borrowers.fax">Fax</field> >-<field name="borrowers.B_streetnumber">Alternate address: Street number</field> >-<field name="borrowers.B_streettype">Alternate address: Street type</field> >-<field name="borrowers.B_address">Alternate address: Address</field> >-<field name="borrowers.B_address2">Alternate address: Address 2</field> >-<field name="borrowers.B_city">Alternate address: City</field> >-<field name="borrowers.B_state">Alternate address: State</field> >-<field name="borrowers.B_zipcode">Alternate address: ZIP/Postal code</field> >-<field name="borrowers.B_country">Alternate address: Country</field> >-<field name="borrowers.B_phone">Alternate address: Phone</field> >-<field name="borrowers.B_email">Alternate address: Email</field> >-<field name="borrowers.contactnote">Alternate contact: Note</field> >-<field name="borrowers.altcontactfirstname">Alternate contact: First name</field> >-<field name="borrowers.altcontactsurname">Alternate contact: Surname</field> >-<field name="borrowers.altcontactaddress1">Alternate contact: Address</field> >-<field name="borrowers.altcontactaddress2">Alternate contact: Address 2</field> >-<field name="borrowers.altcontactaddress3">Alternate contact: City</field> >-<field name="borrowers.contactname">Alternate contact: Surname</field> >-<field name="borrowers.contactfirstname">Alternate contact: First name</field> >-<field name="borrowers.contacttitle">Alternate contact: Title</field> >-<field name="borrowers.altcontactstate">Alternate contact: State</field> >-<field name="borrowers.altcontactzipcode">Alternate contact: ZIP/Postal code</field> >-<field name="borrowers.altcontactcountry">Alternate contact: Country</field> >-<field name="borrowers.altcontactphone">Alternate contact: Phone</field> >-<field name="borrowers.cardnumber">Card number</field> >-<field name="borrowers.branchcode">Home library</field> >-<field name="borrowers.categorycode">Patron category</field> >-<field name="borrowers.sort1">Sort 1</field> >-<field name="borrowers.sort2">Sort 2</field> >-<field name="borrowers.dateenrolled">Registration date</field> >-<field name="borrowers.dateexpiry">Expiry date</field> >-<field name="borrowers.opacnote">OPAC note</field> >-<field name="borrowers.borrowernotes">Circulation note</field> >-<field name="borrowers.userid">Username</field> >-<field name="borrowers.password">Password</field> >-<field name="borrowers.flags">System permissions</field> >-<field name="borrowers.gonenoaddress">Gone no address flag</field> >-<field name="borrowers.lost">Lost card flag</field> >-<field name="borrowers.debarred">Restricted [until] flag</field> >-<field name="borrowers.debarredcomment">Comment</field> >-<field name="borrowers.smsalertnumber">Mobile phone number</field> >-<field name="borrowers.privacy">Privacy settings</field> >-<field name="items.itemnumber">Item number (internal)</field> >-<field name="items.biblionumber">Biblio number (internal)</field> >-<field name="items.biblioitemnumber">Biblioitem number (internal)</field> >-<field name="items.barcode">Barcode</field> >-<field name="items.dateaccessioned">Date acquired</field> >-<field name="items.booksellerid">Source of acquisition</field> >-<field name="items.homebranch">Permanent library</field> >-<field name="items.price">Price</field> >-<field name="items.replacementprice">Replacement price</field> >-<field name="items.replacementpricedate">Price effective from</field> >-<field name="items.datelastborrowed">Date last checked out</field> >-<field name="items.datelastseen">Date last seen</field> >-<field name="items.stack">Shelving control number</field> >-<field name="items.onloan">Due date</field> >-<field name="items.cn_source">Source of classification / shelving scheme</field> >-<field name="items.cn_sort">Koha normalized classification for sorting</field> >-<field name="items.notforloan">Not for loan</field> >-<field name="items.itemlost">Lost status</field> >-<field name="items.itemlost_on">Lost on</field> >-<field name="items.withdrawn">Withdrawn status</field> >-<field name="items.withdrawn_on">Withdrawn on</field> >-<field name="items.itemcallnumber">Call number</field> >-<field name="items.issues">Total checkouts</field> >-<field name="items.renewals">Total renewals</field> >-<field name="items.reserves">Total holds</field> >-<field name="items.restricted">Use restrictions</field> >-<field name="items.itemnotes">Public note</field> >-<field name="items.itemnotes_nonpublic">Internal note</field> >-<field name="items.holdingbranch">Current library</field> >-<field name="items.timestamp">Timestamp</field> >-<field name="items.location">Shelving location</field> >-<field name="items.permanent_location">Permanent shelving location</field> >-<field name="items.ccode">Collection code</field> >-<field name="items.itype">Koha itemtype</field> >-<field name="items.stocknumber">Inventory number</field> >-<field name="items.damaged">Damaged status</field> >-<field name="items.damaged_on">Damaged on</field> >-<field name="items.materials">Materials specified</field> >-<field name="items.uri">Uniform Resource Identifier</field> >-<field name="items.more_subfields_xml">Additional subfields (XML)</field> >-<field name="items.enumchron">Serial enumeraton/chronology</field> >-<field name="items.copynumber">Copy number</field> >-<field name="statistics.datetime">Statistics date and time</field> >-<field name="statistics.branch">Library</field> >-<field name="statistics.value">Value</field> >-<field name="statistics.type">Type</field> >-<field name="statistics.other"></field> >-<field name="statistics.itemnumber">Item number</field> >-<field name="statistics.itemtype">Itemtype</field> >-<field name="statistics.borrowernumber">Borrower number</field> >-<field name="biblio.frameworkcode">Framework code</field> >-<field name="biblio.author">Author</field> >-<field name="biblio.datecreated">Creation date</field> >-<field name="biblio.timestamp">Modification date</field> >-<field name="biblioitems.biblioitemnumber">Biblioitem number</field> >-<field name="biblioitems.biblionumber">Biblio number</field> >-<field name="biblioitems.volume">Volume number</field> >-<field name="biblioitems.number">Number</field> >-<field name="biblioitems.classification">Classification</field> >-<field name="biblioitems.itemtype">Biblio-level item type</field> >-<field name="biblioitems.isbn">ISBN</field> >-<field name="biblioitems.issn">ISSN</field> >-<field name="biblioitems.dewey">Dewey/classification</field> >-<field name="biblioitems.subclass">Sub classification</field> >-<field name="biblioitems.publicationyear">Publication date</field> >-<field name="biblioitems.publishercode">Publisher</field> >-<field name="biblioitems.volumedate">Volume date</field> >-<field name="biblioitems.volumedesc">Volume information</field> >-<field name="biblioitems.timestamp">Timestamp</field> >-<field name="biblioitems.illus">Illustrations</field> >-<field name="biblioitems.pages">Number of pages</field> >-<field name="biblioitems.notes">Notes</field> >-<field name="biblioitems.size">Size</field> >-<field name="biblioitems.place">Place of publication</field> >-<field name="biblioitems.lccn">LCCN</field> >-<field name="biblioitems.agerestriction">Age restriction</field> >-<field name="biblioitems.url">URL</field> >-<field name="biblioitems.title">Title</field> >-<field name="subscription.startdate">Start date</field> >-<field name="subscription.enddate">End date</field> >-<field name="subscription.periodicity">Periodicity</field> >-<field name="subscription.callnumber">Call number</field> >-<field name="subscription.location">Location</field> >-<field name="subscription.branchcode">Library</field> >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29695
:
128522
|
128523
|
128524
|
128525
|
128526
|
128527
|
128528
|
128529
|
128559
|
128560
|
128561
|
128562
|
128563
|
128564
|
128565
|
130065
|
130066
|
130067
|
130068
|
130069
|
130070
|
130071
|
130107
|
130108
|
130109
|
130110
|
130111
|
130112
|
130113
|
131918
|
131919
|
131920
|
131921
|
131922
|
131923
|
131924
|
131925