Switch to DuckDuckGo Search
   October 1, 2014  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >

Toggle Join/Part | bottom
[00:04:55] *** jim80net has joined #project-FiFo
[00:59:48] *** wiedi has quit IRC
[00:59:58] *** wiedi_ has joined #project-FiFo
[01:03:44] *** bayoda has quit IRC
[01:14:08] *** bayoda has joined #project-FiFo
[01:16:09] *** wiedi_ has quit IRC
[01:16:55] *** wiedi has joined #project-FiFo
[01:33:17] *** wiedi has quit IRC
[01:33:52] *** wiedi has joined #project-FiFo
[01:53:36] *** jim80net has quit IRC
[01:54:38] *** conan_the_destro has quit IRC
[01:58:31] *** ipalreadytaken has joined #project-FiFo
[01:58:32] *** ChanServ sets mode: +o ipalreadytaken
[02:18:46] *** ipalreadytaken has quit IRC
[02:24:18] *** ipalreadytaken has joined #project-FiFo
[02:24:18] *** ChanServ sets mode: +o ipalreadytaken
[02:34:40] *** trentster has quit IRC
[02:37:30] *** trentster has joined #project-FiFo
[02:37:30] *** ChanServ sets mode: +o trentster
[02:50:30] *** trentster has quit IRC
[02:58:14] *** ipalreadytaken has quit IRC
[02:58:25] *** ipalreadytaken has joined #project-FiFo
[02:58:26] *** ChanServ sets mode: +o ipalreadytaken
[03:07:35] *** trentster has joined #project-FiFo
[03:11:20] *** ChanServ sets mode: +o trentster
[03:13:45] <trentster> ever had a cable guy arrive after you have cancelled the fault and modem is back working - then you get forced to factory reset the device so he can check a setting. - yup that just happened. LOL
[03:34:17] *** marianoguerra has quit IRC
[03:34:32] *** marianoguerra has joined #project-FiFo
[03:45:17] *** ipalreadytaken has quit IRC
[05:04:08] *** bayoda has quit IRC
[05:05:50] *** iFire has quit IRC
[05:07:31] *** bayoda has joined #project-FiFo
[05:11:35] *** konobi has quit IRC
[05:11:42] *** konobi has joined #project-FiFo
[05:17:13] *** iFire has joined #project-FiFo
[06:29:56] *** yruss972 has joined #project-FiFo
[06:52:12] *** ipalreadytaken has joined #project-FiFo
[06:52:24] *** ChanServ sets mode: +o ipalreadytaken
[08:40:24] *** fxhp has quit IRC
[08:53:10] *** fxhp has joined #project-FiFo
[09:45:09] *** alcir has joined #project-FiFo
[10:47:14] <MerlinDMC> trentster, standard
[10:52:29] <trentster> MerlinDMC: standard as in its happened to you before?
[11:04:48] *** ipalreadytaken has quit IRC
[11:05:24] *** ipalreadytaken has joined #project-FiFo
[11:05:24] *** ChanServ sets mode: +o ipalreadytaken
[11:08:45] <MerlinDMC> not that ... but different weird shit with ISP support personel
[11:09:15] <MerlinDMC> they always follow their paper list of things to do ... doesn't matter what you tell them
[11:09:49] *** ipalreadytaken has quit IRC
[11:16:32] *** marianoguerra has quit IRC
[11:16:47] *** marianoguerra has joined #project-FiFo
[11:43:49] *** marianoguerra has quit IRC
[11:45:17] *** fxhp has quit IRC
[11:55:28] *** marianoguerra has joined #project-FiFo
[11:55:28] *** marianoguerra has joined #project-FiFo
[11:58:42] *** fxhp has joined #project-FiFo
[12:16:53] *** while1eq1 has quit IRC
[12:18:06] *** while1eq1 has joined #project-FiFo
[14:36:52] <Licenser> aloa!
[14:37:28] <Licenser> trentster that's why I prefare to own my own models, can't force me to do anytyhing!
[14:41:58] <trentster> Licenser: I hope you at least unchain them when you take photographs :-P
[14:42:22] <Licenser> modems darn it!
[14:45:03] <trentster> LOL
[14:49:55] <Licenser> lx is fun!
[14:50:29] <trentster> talk to me when plex runs on it
[14:50:38] <Licenser> trentster did you try it?
[14:51:07] <trentster> not yet - could not think of a reason to try it yet - only thing I use Linux for is plex. and the guys in the channel says it does not work.
[15:03:40] <Licenser> ah why not :(
[15:07:59] <arekinath> I tried wmic and it worked
[15:08:15] <arekinath> now I can query windows things for crap without needing a linux kvm, yay
[15:08:29] <Licenser> arekinath sweet
[15:08:35] <Licenser> you upgraded to 0.6.1 already?
[15:09:02] <arekinath> nah, I was just testing out lx for fun on my test box :D
[15:10:06] <Licenser> ah
[15:10:18] <arekinath> when it works more good-er, I'd really like to make it the default for lots of out stupid^H^H^Hspecial users
[15:10:28] <arekinath> my boss disagrees, he wants them to learn real unix and shut their traps
[15:10:30] <arekinath> haha
[15:10:36] <Licenser> I like your boss
[15:11:25] <trentster> lol! - tough love method
[15:12:24] *** opeth__ has quit IRC
[15:12:56] <arekinath> we seriously had a user do pkgin rm on something other day and put in a ticket saying they couldn't get its service to start up and had no idea what was happening
[15:13:02] <arekinath> there was pkgin rm in their .bash_history
[15:13:41] <nahamu> get them using config management?
[15:14:02] <nahamu> that way the tool will reinstall the package before starting the service.
[15:14:51] <arekinath> we can barely get them to use version control on their code for things
[15:15:02] <arekinath> academics are speshul
[15:15:18] <nahamu> yeah...
[15:15:50] <arekinath> usually most of it is done/written by slave labour honours students etc
[15:15:51] <nahamu> my first sysadmin job was for the CS department while I was still in school.
[15:16:03] <arekinath> and then 3 years later they expect us to fix problems with it because the slave left
[15:16:12] <arekinath> and they have nobody else who has any idea how it works
[15:16:46] <nahamu> well that sort of thing can happen anywhere if you're not at least documenting things or better doing them repeatably.
[15:17:02] <arekinath> oh yeah, but with academics it's a permanent disease
[15:17:52] <arekinath> they buy half-racks full of servers because they have some grant money they forgot to spend
[15:18:13] <arekinath> and then are like.. well... we want to run matlab. can you make them run matlab?
[15:18:44] <Licenser> arekinath make backups ;)
[15:19:26] <arekinath> Licenser: actually, just working on changing the zones to hourly backups atm
[15:19:33] <Licenser> arekinath heh
[15:19:35] <Licenser> using Leo?
[15:19:52] <arekinath> nah, we have our own stuff that does all our backups from everything, not just smartos
[15:19:59] <Licenser> ah
[15:20:02] <Licenser> SHAME ON YOU!
[15:20:34] <arekinath> haha
[15:21:37] <arekinath> we've had that thing for ages, it does all the crap we want including tapes and thinning snapshots based on space usage and stuff
[15:21:45] <arekinath> :P
[15:22:46] <arekinath> it even knows about smartos templates and incremental sends across the clones
[15:28:59] <trentster> arekinath: have you tried dalmatiner yet?
[15:49:36] <Licenser> I hate libzdoor
[16:02:25] <arekinath> trentster: I had a look but haven't used it yet
[16:03:54] <trentster> Licenser: it sometimes stops working I have noticed
[16:07:44] *** opeth__ has joined #project-FiFo
[16:15:05] <Licenser> trentster yes
[16:15:13] <Licenser> trying to figure out what the heck is going on
[16:15:26] <Licenser> looks like the door file gets deleted from the zones, not the slightest clue why
[16:22:50] <trentster> maybe it needs a re-write in php :-P
[16:23:24] <Licenser> trentster hack away!
[16:36:47] <trentster> Licenser: hehe
[16:37:27] <Licenser> so it seems the /var/tmp/._joyent_sshd_key_is_authorized gets deleted by something
[16:37:59] <trentster> have you checked cron ?
[16:39:15] <Licenser> 10 * * * * /usr/sbin/logadm
[16:39:15] <Licenser> 15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
[16:39:15] <Licenser> 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
[16:39:15] <Licenser> 0 5 * * * /opt/local/sbin/pkg_admin fetch-pkg-vulnerabilities >/dev/null 2>&1
[16:39:20] <Licenser> nothing there looks like it's deleting it
[16:39:34] <nahamu> use dtrace to find the culprit?
[16:39:42] <iFire> Licenser: oops I forget to make a ticket
[16:40:09] <iFire> I wish I could use my google account on the jira though
[16:41:25] <nahamu> there might be an oauth plugin that could be installed to set that up...
[16:44:47] *** ipalreadytaken has joined #project-FiFo
[16:44:48] *** ChanServ sets mode: +o ipalreadytaken
[16:48:37] <iFire> https://jira.project-fifo.net/browse/FIFO-546
[16:48:46] *** alcir has quit IRC
[16:50:10] <Licenser> iFire thanks mate I'll look at it
[16:50:21] <Licenser> ipalreadytaken slowly getting to the bottom of the zdoor issue
[16:50:34] <ipalreadytaken> o?
[16:51:12] <Licenser> yea trussed a system with the issue the data never arrives at the zonedoor.c
[16:51:26] <Licenser> then looked in the zone and I found the /var/tmp/._joyent_sshd_key_is_authorized was missing
[16:52:35] <ipalreadytaken> does rebooting the zone fix it?
[16:52:46] <Licenser> nope
[16:53:06] <ipalreadytaken> but restarting zonedoor.c does?
[16:53:15] <Licenser> but funny stuff: shutting down the zonedoor.c does not delete the file
[16:53:38] <ipalreadytaken> the door file?
[16:53:54] <Licenser> yup
[16:53:57] <ipalreadytaken> i wouldnt expect it too. zonedoor.c is not creating it
[16:53:57] <Licenser> it keeps existing
[16:54:09] <Licenser> is it closing it?
[16:54:10] <ipalreadytaken> hmm actually nevermind
[16:56:03] <ipalreadytaken> i cannot think of why that would happen
[16:56:12] <Licenser> yea it's crazy
[16:56:49] <ipalreadytaken> do you know if hte file existed before it started working?
[16:56:55] <ipalreadytaken> *stopped
[16:57:28] <Licenser> it's really hard to observe since it only happens very sporadically
[16:57:58] *** yruss972 has quit IRC
[16:58:16] <ipalreadytaken> and it happened on other pi?
[17:03:15] <MerlinDMC> ipalreadytaken, if you use libzdoor it creates the file before creating the unix socket on that
[17:03:56] <MerlinDMC> and afaik it also deletes the file prior if it already is there ... which closes older zdoors with that name as well
[17:04:07] <ipalreadytaken> MerlinDMC: right. what I am asking is if the file went away after the door was created, or if it was never created at all
[17:04:39] <MerlinDMC> I did only cross read ... I'm in a training session here ... sorry if I got that wrong ^^
[17:04:41] <Licenser> ipalreadytaken I'm pretty sure it WAS there
[17:04:55] <Licenser> not sure if it stopped working while being there
[17:05:15] <Licenser> MerlinDMC you've some zonedoor stuff too right?
[17:05:23] <MerlinDMC> Licenser, yes
[17:05:47] <Licenser> ever seens omething like that?
[17:06:00] <MerlinDMC> but still only roughly tested here ... and I did start rewriting some parts in that as well
[17:06:48] <MerlinDMC> libzdoor creates the files for me ... if the file vanishes the door is destroyed ... on the other hand if you close the door the lib cleans up as well if I remember correctly
[17:07:28] <Licenser> yea the file gets created automatically
[17:07:35] <Licenser> but I haven't seen it vanish yet
[17:07:50] <Licenser> is your zdoor stuff using STDIO for wrapping?
[17:08:04] <ipalreadytaken> Licenser: what we are not doing right now is checking if the door exists
[17:08:17] <ipalreadytaken> so if it went away for some reason we dont know that
[17:08:18] <MerlinDMC> libzdoor has debug stuff as well I think where you need to activate debug output somehow
[17:08:24] <MerlinDMC> I would go and try that
[17:10:19] *** opeth__ has quit IRC
[17:10:58] *** opeth__ has joined #project-FiFo
[17:11:12] <MerlinDMC> I'll reread this conversation after my training ... maybe I get smth
[17:12:19] <ipalreadytaken> MerlinDMC: why are you doing result->zdr_size = 2; the return value is either 1/0 right?
[17:12:39] <MerlinDMC> byte + '0' string terminator
[17:12:57] <ipalreadytaken> Licenser: https://github.com/project-fifo/chunter/blob/master/utils/zonedoor.c#L67
[17:14:55] <Licenser> ipalreadytaken the new zonedoor supports any kind of return value
[17:15:02] <Licenser> the only one was only 0/1
[17:15:27] <ipalreadytaken> huh?
[17:15:35] <Licenser> the old one
[17:17:10] *** conan_the_destro has joined #project-FiFo
[17:18:18] <ipalreadytaken> https://github.com/project-fifo/chunter/blob/test/utils/zonedoor.c#L93 should be strlen(result->zdr_data) + 1
[17:18:46] <ipalreadytaken> if what merlin is saying is correct, we are not counting the terminator and we should
[17:19:17] <Licenser> hmmm
[17:19:26] <Licenser> see what you mean
[17:19:35] *** jim80net has joined #project-FiFo
[17:22:31] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/KTdh8Q
[17:22:31] -msg- chunter/test 2061aea Heinz N. Gies: Some C string handling fixes.
[17:22:54] <Licenser> https://github.com/project-fifo/chunter/commit/2061aea43f3639d9c07e1460d806bad1e225fa03
[17:23:07] <Licenser> oh that's not going to work
[17:23:42] <ipalreadytaken> ?
[17:23:52] <Licenser> len was required the line before
[17:24:11] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/yYBY7Q
[17:24:11] -msg- chunter/test 5b53901 Heinz N. Gies: Some C string handling fixes.
[17:24:33] <ipalreadytaken> also notice that he is duplicating the string. https://github.com/MerlinDMC/smartos-zonegated/blob/master/gate.c#L43
[17:25:19] <Licenser> what's strdup
[17:25:55] <Licenser> ah that looks handy
[17:26:49] <ipalreadytaken> returns a duplicate of the string
[17:26:57] <Licenser> yea just man'ed it
[17:27:49] <Licenser> I wonder if it includes a 0 or not
[17:28:47] <ipalreadytaken> i would say yes
[17:29:05] <Licenser> + requestResponse = strdup(strdup);
[17:29:30] <MerlinDMC> I duplicate the string because the lib is meant to free the buffer
[17:30:35] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/M9X_lg
[17:30:35] -msg- chunter/test f223770 Heinz N. Gies: using strdup
[17:31:30] <MerlinDMC> strdup(strdup) ?
[17:32:13] <Licenser> oh dam me
[17:33:13] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/kLkUlw
[17:33:13] -msg- chunter/test e7aba06 Heinz N. Gies: more fixes in zonedoor.c
[17:37:34] <Licenser> now everything is broken :D
[17:38:19] <ipalreadytaken> you should have been happy with how it was. this is your fault
[17:40:43] <Licenser> ipalreadytaken :P
[17:40:44] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/UIMGcg
[17:40:44] -msg- chunter/test db154d0 Heinz N. Gies: Removed vm_auth
[17:40:47] <Licenser> it happens with your zdoor too
[17:41:26] <ipalreadytaken> i havent seen it happen. for all i know this is all user error
[17:42:20] <Licenser> heh
[17:43:41] <ipalreadytaken> ok i gtg but i have a last thought.
[17:43:47] <ipalreadytaken> it could be happening after a time out
[17:43:56] <Licenser> have fun!
[17:44:07] <ipalreadytaken> https://github.com/project-fifo/chunter/blob/test/utils/zonedoor.c#L83
[17:44:17] <ipalreadytaken> https://github.com/project-fifo/chunter/blob/test/utils/zonedoor.c#L102
[17:45:10] <ipalreadytaken> idk if ssh is only looking at the first char or the whole string, but if its the whole string it might not like l83
[17:45:12] <Licenser> ipalreadytaken the not working was caused by referencing the old vm_auth system somewher ;)
[17:45:30] <Licenser> that works
[17:47:14] <ipalreadytaken> ok 10 minutes to get into work. really have to go now'
[17:47:15] *** ipalreadytaken has quit IRC
[17:47:49] *** ipalreadytaken has joined #project-FiFo
[17:47:50] *** ChanServ sets mode: +o ipalreadytaken
[17:48:13] <MerlinDMC> ipalreadytaken, it uses the whole string ... but it uses atoi() for conversion: https://github.com/joyent/illumos-joyent/blob/master/usr/src/lib/libsmartsshd/common/sshd-plugin.c#L97
[17:48:47] <MerlinDMC> and also there is the munmap() that frees the strdup()
[17:51:57] *** ipalreadytaken has quit IRC
[17:52:16] <MerlinDMC> would be interesting to see what it does if you feed atoi() a "0a" ... if that is interpreted as base 16 ... it might let someone in even if the first char is '0' ;)
[17:55:08] *** bayoda has quit IRC
[17:56:17] <MerlinDMC> Licenser, I would suggest if you send more data there ... that you separate those with a space ... "0 timeout" for example just to be on the safe road
[17:56:39] <Licenser> MerlinDMC yea it was just for testing, probably could drop that
[17:57:10] <Licenser> it's a path that barely ever get transversed just wanted to make sure that 0 actually means 0 (denied) and not 0 (timeout)
[17:57:43] <MerlinDMC> yeah yeah ... I'll grep lunch
[17:57:49] <Licenser> enjoy
[17:58:10] <MerlinDMC> grep/grab ... good way to tell that I did work for too long.
[17:58:21] <Licenser> heh
[17:58:51] <trentster> MerlinDMC: I tried to reply to your prv message - says you are offline
[17:58:52] <Licenser> just got rid of the timeout alltogether
[17:58:54] <trentster> odd?
[17:59:14] -msg- [chunter] Licenser pushed 1 new commit to test: http://git.io/I4eyCw
[17:59:14] -msg- chunter/test ef861ad Heinz N. Gies: removed debug string for timeouts.
[18:01:29] <MerlinDMC> trentster, I'm not offline ... and I didn't get a message
[18:04:15] <trentster> MerlinDMC: I dunno just tried to click on your name again from this channel and get this http://monosnap.com/image/5rSqOqB3SLQVamVPykLA1jIBWzalv7
[18:05:37] -msg- [chunter] Licenser pushed 1 new commit to dev: http://git.io/ERK02g
[18:05:37] -msg- chunter/dev 13f315a Heinz N. Gies: Merge branch 'test' into dev
[18:07:57] -fifo-build-bot- Build completed for Chunter-Dev - 13f315a7164862b61ccb7f97f733d670f10e3749. Results: https://bamboo.project-fifo.net/browse/CHU-CH-REL-479
[18:14:00] <trentster> Licenser: just logging out and back in my priv messages are borked
[18:14:23] <Licenser> Still with adium?
[18:14:38] <trentster> yup - still know how much you love it.
[18:16:15] *** vsv_ has joined #project-FiFo
[18:16:15] *** bayoda has joined #project-FiFo
[18:16:16] *** marianog1erra has joined #project-FiFo
[18:17:56] *** killfill has quit IRC
[18:18:00] *** marianoguerra has quit IRC
[18:18:01] *** iFire has quit IRC
[18:18:04] *** vsv has quit IRC
[18:18:13] *** [d__d] has quit IRC
[18:18:17] *** killfill has joined #project-FiFo
[18:19:13] *** [d__d] has joined #project-FiFo
[18:19:18] *** iFire has joined #project-FiFo
[18:30:47] *** bayoda has quit IRC
[18:35:38] *** bayoda has joined #project-FiFo
[18:40:44] *** ipalreadytaken has joined #project-FiFo
[18:40:44] *** ChanServ sets mode: +o ipalreadytaken
[18:49:21] *** ipalreadytaken has quit IRC
[18:50:25] *** conan_the_destro has quit IRC
[18:51:33] *** conan_the_destro has joined #project-FiFo
[18:55:21] *** olauzon has joined #project-FiFo
[19:06:12] *** ipalreadytaken has joined #project-FiFo
[19:06:12] *** ChanServ sets mode: +o ipalreadytaken
[19:08:22] *** jim80net has quit IRC
[20:01:28] *** ipalreadytaken has quit IRC
[20:11:00] *** ipalreadytaken has joined #project-FiFo
[20:11:00] *** ChanServ sets mode: +o ipalreadytaken
[20:24:28] *** jim80net has joined #project-FiFo
[20:40:29] *** yo61 has quit IRC
[20:43:14] *** yo61 has joined #project-FiFo
[21:12:47] <Licenser> bakins there is some talk about you fifo ktichen/chef etc stuff in #SmartOS
[21:17:12] <iFire> Licenser: can there be a watchdog on the dataset import?
[21:17:31] <iFire> it's hung
[21:17:45] <Licenser> iFire Oh like when it stops?
[21:17:58] <iFire> it's been stuck at 0.9 for a day now
[21:18:10] <Licenser> iFire you can just delete it but yea it shoudl be marked as failed
[21:18:19] <iFire> I can't delete
[21:18:23] <iFire> it's just stuck
[21:18:33] <iFire> also the timeouts on smf are too short
[21:19:08] <Licenser> timeouts on SMF?
[21:19:44] <Licenser> iFire you can delete it via fifoadm datasets delete UUID
[21:20:41] <iFire> yeam
[21:20:55] <iFire> it just goes into maintenance
[21:21:04] <iFire> if the timeout runes out
[21:21:06] <iFire> runs*
[21:21:09] <Licenser> for what?
[21:21:15] <iFire> the fifo smfs
[21:21:26] <iFire> let me check the ones that timed out
[21:24:33] <iFire> maintenance 19:22:02 svc:/network/sniffle:default
[21:24:33] <iFire> maintenance 19:22:03 svc:/network/wiggle:default
[21:24:33] <iFire> maintenance 19:22:03 svc:/network/howl:default
[21:24:47] <iFire> this machine is underpowered*
[21:31:41] <Licenser> iFire in that case you might want to just locally adjust those
[21:31:47] <Licenser> would probably not make a good default
[22:12:28] *** marianog1erra is now known as marianoguerra
[22:13:54] *** jim80net has quit IRC
[22:15:34] *** jim80net has joined #project-FiFo
[22:48:50] *** jim80net has quit IRC
[22:50:18] *** jim80net has joined #project-FiFo
[22:53:33] *** jim80net1 has joined #project-FiFo
[22:56:23] *** jim80net has quit IRC
[23:13:31] *** ipalreadytaken has quit IRC
[23:14:00] *** ipalreadytaken has joined #project-FiFo
[23:14:00] *** ChanServ sets mode: +o ipalreadytaken
[23:18:17] *** ipalreadytaken has quit IRC
[23:19:24] *** ipalreadytaken has joined #project-FiFo
[23:19:24] *** ChanServ sets mode: +o ipalreadytaken
[23:20:26] *** ipalreadytaken has quit IRC
[23:20:31] *** olauzon has quit IRC
[23:20:53] *** ipalreadytaken has joined #project-FiFo
[23:20:53] *** ChanServ sets mode: +o ipalreadytaken
[23:22:54] *** ipalreadytaken has quit IRC
[23:23:15] *** ipalreadytaken has joined #project-FiFo
[23:23:15] *** ChanServ sets mode: +o ipalreadytaken
[23:26:36] *** ipalreadytaken has quit IRC
[23:27:03] *** ipalreadytaken has joined #project-FiFo
[23:27:03] *** ChanServ sets mode: +o ipalreadytaken
[23:32:04] *** ipalreadytaken has quit IRC
top

   October 1, 2014  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >