(Topic ID: 157180)

Casino -- homebrew p-roc project

By rosh

8 years ago


Topic Heartbeat

Topic Stats

  • 146 posts
  • 40 Pinsiders participating
  • Latest reply 7 years ago by Tensikka
  • Topic is favorited by 49 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    IMG_1935 (resized).JPG
    IMG_1932 (resized).JPG
    IMG_1933 (resized).JPG
    IMG_1931 (resized).JPG
    IMG_1928.JPG-2 (resized).png
    IMG_1927.JPG-1 (resized).png
    IMG_1914 (resized).jpg
    IMG_1916 (resized).jpg
    IMG_1913 (resized).jpg
    IMG_1909 (resized).jpg
    IMG_1897 (resized).jpg
    IMG_1917 (resized).jpg
    Slack for iOS Upload-3 (resized).jpg
    Slack for iOS Upload-2 (resized).jpg
    IMG_1881 (resized).jpg
    IMG_1868 (resized).jpg

    Topic index (key posts)

    9 key posts have been marked in this topic (Show topic index)

    There are 146 posts in this topic. You are on page 3 of 3.
    #101 7 years ago

    Reverse P2K glass and camera looking up?

    #102 7 years ago
    Quoted from PhilGreg:

    Reverse P2K glass and camera looking up?

    I did experiment with using a mirror at one point, but that was to deal with focal length

    #103 7 years ago

    I am really looking forward to seeing this at Expo. The amount of work you have put into the dice mech alone is awesome!

    Aaron
    FAST Pinball

    #104 7 years ago

    I love the progress of this. Also makes me kind of sad to think how an individual hobbyist can add some really interesting mechs on a fully functional playfield in such a short time, and meanwhile JPOP couldn't get a flipping whitewood without a million dollars and four years.

    #105 7 years ago
    Quoted from Richthofen:

    I love the progress of this. Also makes me kind of sad to think how an individual hobbyist can add some really interesting mechs on a fully functional playfield in such a short time, and meanwhile JPOP couldn't get a flipping whitewood without a million dollars and four years.

    Thanks. Having done two machines, with this being far more sophisticated, I look at what Jpop did, and there are just some really obvious mistakes he made, that really get back to him having zero business sense. One of the most critical things, given the incredible complexity around making a machine, is to use as much stock stuff as you can and avoid the 'not invented here syndrome'. You have to be so careful about wasting time and resources on the wrong things -- like custom cabinet designs that then need custom glass, creating your own control system (or really copying someone else's) vs just buying theirs. Dozens of re-do of art, when you don't have a working whitewood (which could likely then result in changes that affect artwork). Focusing more on the look, then the playability. Now the reality is, if you plan to do a 1,000 machines, well, then you can afford more custom things, but if you are going to 24, you just can't. You have to wonder how much time and money was wasted designing and creating things that could be bought instead. Probably a full years worth of the salary he was drawing.

    Even understanding the time value of money, and my desire to use stock when I can, there are times I will fabricate my own mech, etc., which could possibly end up costing more in time, than buying, but sometimes I just can't bring myself to pay the price for some piece of metal or sometimes I have not patience to wait for a part. Bottom line is you have to make comprises, and you have to accept that, so you then need to make good choices around those.

    #106 7 years ago

    I freaking love your layout, can't wait to see it in person.

    #107 7 years ago
    Quoted from rosh:

    Thanks. Having done two machines, with this being far more sophisticated, I look at what Jpop did, and there are just some really obvious mistakes he made, that really get back to him having zero business sense. One of the most critical things, given the incredible complexity around making a machine, is to use as much stock stuff as you can and avoid the 'not invented here syndrome'. You have to be so careful about wasting time and resources on the wrong things
    Even understanding the time value of money, and my desire to use stock when I can, there are times I will fabricate my own mech, etc., which could possibly end up costing more in time, than buying, but sometimes I just can't bring myself to pay the price for some piece of metal or sometimes I have not patience to wait for a part. Bottom line is you have to make comprises, and you have to accept that, so you then need to make good choices around those.

    I guess since this is a hobby, wasting time is kind of the point But yes, 100% for a business where you are beholden to present games to someone else, you better make sure you have a real plan. I mean the dice solution is not 'practical' but I think you just wanted an excuse to do vision processing software stuff and I can't blame you!

    #108 7 years ago
    Quoted from Richthofen:

    solution is not 'practical'

    Curious as to the reasons why you think it is not 'practical'.

    Wasn't as much an excuse to do machine vision stuff, but that certainly was a fun intellectual challenge and pretty satisfying once I got it to work. It really came about from thinking about what kind of cool toys could I have (which is also what led to going forward with the theme). Using real dice had a natural appeal, and when I though about the old 'dice popper' from the kids game Trouble, then it sort of came together. Once I decided on real dice, (and I wanted real vegas dice), it led to variety of ideas on how to read them (including some that have subsequently be suggested here), but the machine vision seemed to be the most practical (although extra challenging with transparent dice). I certainly felt it would have a pretty high cool factor having the real dice and having the machine be able to read them.

    I'd rather say 'spending time' vs 'wasting time' since I am not sure if I said to my wife "I'm going downstairs to waste time on the pinball machine" that would play as well as "I'm going downstairs to work on the pinball machine" -- even if she knows the truth. Of course it is really a tradeoff, I end up playing a lot less pinball when I am focused on building.

    #109 7 years ago
    Quoted from Richthofen:

    I guess since this is a hobby, wasting time is kind of the point But yes, 100% for a business where you are beholden to present games to someone else, you better make sure you have a real plan. I mean the dice solution is not 'practical' but I think you just wanted an excuse to do vision processing software stuff and I can't blame you!

    I agree 100%. I'm working on my own homebrew project and I'm sure some will question why I'm designing my own electronics rather than just using proc or FAST, but I'm an electrical engineer - that's a big part of the fun part to me! If I wanted to sell it, I'd go straight to one of those off the shelf solutions. Commercial is all about not reinventing the wheel, but I say reinvent the wheels you'll have fun with and don't reinvent the ones you won't.

    That dice image processor is a really cool idea

    #110 7 years ago
    Quoted from etlandfill:

    I'm working on my own homebrew project and I'm sure some will question why I'm designing my own electronics rather than just using proc or FAST,

    I think we all decide, in homebrew, on certain things we want to "roll our own", based on our experience, skills and interests. There was at least one guy who built is own boardset, but after that ended up going to one of the off the shelf products, since the software support was already there. Not to say that you can take either of the current frameworks and create the necessary drivers/interface for it. You can also pick and choose and use part of existing solutions in combination with your own. Other factor is just around the shear amount of things that are needed, some of which you can't just buy off the shelf or hand to someone else do it. Ultimately there is a lot more than one way to go about it. In reality, no two people approach it exactly the same.

    #111 7 years ago
    Quoted from rosh:

    I think we all decide, in homebrew, on certain things we want to "roll our own", based on our experience, skills and interests. There was at least one guy who built is own boardset, but after that ended up going to one of the off the shelf products, since the software support was already there. Not to say that you can take either of the current frameworks and create the necessary drivers/interface for it. You can also pick and choose and use part of existing solutions in combination with your own. Other factor is just around the shear amount of things that are needed, some of which you can't just buy off the shelf or hand to someone else do it. Ultimately there is a lot more than one way to go about it. In reality, no two people approach it exactly the same.

    Exactly. Some geek out at the mechanical build, some at the art, some at the software. I think that's part of what makes it such a fun hobby.

    #112 7 years ago
    Quoted from rosh:

    Curious as to the reasons why you think it is not 'practical'.
    Wasn't as much an excuse to do machine vision stuff, but that certainly was a fun intellectual challenge and pretty satisfying once I got it to work. It really came about from thinking about what kind of cool toys could I have (which is also what led to going forward with the theme). Using real dice had a natural appeal, and when I though about the old 'dice popper' from the kids game Trouble, then it sort of came together. Once I decided on real dice, (and I wanted real vegas dice), it led to variety of ideas on how to read them (including some that have subsequently be suggested here), but the machine vision seemed to be the most practical (although extra challenging with transparent dice). I certainly felt it would have a pretty high cool factor having the real dice and having the machine be able to read them.
    I'd rather say 'spending time' vs 'wasting time' since I am not sure if I said to my wife "I'm going downstairs to waste time on the pinball machine" that would play as well as "I'm going downstairs to work on the pinball machine" -- even if she knows the truth. Of course it is really a tradeoff, I end up playing a lot less pinball when I am focused on building.

    You're right, it's an interesting thought experiment. In a lot of ways, machine vision may be the simplest. Only other *reasonable* idea I came up with is doing the machine vision from the bottom, which would remove your ability to have the real felt and make the popping mechanism more difficult, but would open it up from the top and eliminate the obstructed view of the camera on top.

    Sounds like you have the right approach and are making awesome progress!

    #113 7 years ago
    Quoted from rosh:

    I think we all decide, in homebrew, on certain things we want to "roll our own", based on our experience, skills and interests. There was at least one guy who built is own boardset, but after that ended up going to one of the off the shelf products, since the software support was already there. Not to say that you can take either of the current frameworks and create the necessary drivers/interface for it. You can also pick and choose and use part of existing solutions in combination with your own. Other factor is just around the shear amount of things that are needed, some of which you can't just buy off the shelf or hand to someone else do it. Ultimately there is a lot more than one way to go about it. In reality, no two people approach it exactly the same.

    It basically comes down to if someine wants to focus on building a platform or designing the game itself.

    #114 7 years ago

    I think you made a good decision to have real felt and real dice. It's those details that give games that extra little bit that earns a "wow" from people.

    Embellishing the white bit like the top of the stratosphere (or something else casino-y) would help. I'm sure you have plans since you're into he details. Live sports ticker like a sports book might have?

    #115 7 years ago
    Quoted from BrewinBombers:

    I'm sure you have plans since you're into he details. Live sports ticker like a sports book might have?

    A a live ticker would be pretty cool, not quite enough surface area and with the curve be tricky to pull off, but i do like it.

    Right now the short term plan is to have it be labeled 'CRAPS' with white lettering and black background, when Craps is 'open' the lamp would turn on and the word CRAPS would be illuminated -- at least that is the current plan and hopefully I get to that by expo, getting to the point where I have to prioritize which of the 763 items on the punch list I focus on.

    Quoted from etlandfill:

    Some geek out at the mechanical build, some at the art, some at the software.

    Very true, I'm sort of a jack of all trades, so I enjoy getting to do most of it. Needless to say I am better at some things than others, and certainly leverage other people and options where it made sense to me. For example, I did have a buddy build the ramp and returns for me, from my designs, as welding is not a skill I have. I also had a friend do the routing and 3d printing from my CAD drawings, since I have not invested in that type of equipment. I also had a someone do a bunch of callouts, since I really don't want to use (hear) my voice if I can avoid it. Cabinet art was vector art I purchased and that was then modified and pieced together. The hydrographics done to make the roulette wheel look like wood, was done by another buddy who had done something similar for his machine (Buffy the vampire slayer)

    Not surprisingly I had to learn some skills along the way (like doing CAD), but all of that is just part of the journey. But one of the best parts are the people I've gotten to know who are my fellow build your own enthusiasts. A great group of guys, who are all very supportive and willing to help each other.

    I believe this will be the best and biggest year yet at the P-roc booth at expo.

    #116 7 years ago

    Did you solve the mis-read issue on the dice?
    I was wondering if using a uv LED source and the white dots would help in the detection.

    #117 7 years ago
    Quoted from Zitt:

    Did you solve the mis-read issue on the dice?
    I was wondering if using a uv LED source and the white dots would help in the detection.

    I've not worked on it or even tested it yet in this new build, but the issue was just with sixes and only on occasion. Pretty sure I can tweak it to solve it, time will tell. Bigger concern is how it handles radically different lighting conditions.

    #118 7 years ago

    Craps makes a lot more sense in context than my idea. You have enough else cool happening that a sports ticker isn't really needed.

    #119 7 years ago

    finally found a toy slot machine that was a the right size. Most toy slot machines are way too big since they are banks, the this came from the same source as many pinball toys -- Hallmark christmas tree ornament

    IMG_1917 (resized).jpgIMG_1917 (resized).jpg

    So, first I cracked it open . . .

    IMG_1897 (resized).jpgIMG_1897 (resized).jpg

    printed up new reel symbols and signage.

    IMG_1909 (resized).jpgIMG_1909 (resized).jpg

    put it all back together, wired it up to power and the P-roc so it can turn it on when appropriate. There is a few second delay before the lights flash since the board firsts want to play the sound of the reels turning, I've disabled the sound, but can't get rid of the delay. I could change to use lamps I control, but that would require a lot more re-work. After it completes its flashing cycle, there is the slight delay before it starts back up. But good enough for now.

    IMG_1913 (resized).jpgIMG_1913 (resized).jpg
    IMG_1914 (resized).jpgIMG_1914 (resized).jpg
    IMG_1916 (resized).jpgIMG_1916 (resized).jpg

    At some point I could make the reels turning by hooking up a servo or solenoid to the arm, but, doubt I that will be worth the cost/effort, but maybe someday. might be able to fit any mini-display in there, someday after it is all done I'll look at that.

    #120 7 years ago

    Just adjust your programming so that you turn on the slot machine two seconds before you actually need it on. That would be the simplest way to do this, if your program has this ability/design.

    #121 7 years ago
    Quoted from cfh:

    Just adjust your programming so that you turn on the slot machine two seconds before you actually need it on.

    The 'state' of the game changes when a shot is made, so only option would then be to delay all aspects of the completion of the shot/objective. Since other things light and flash there is an indication when it happens. I may extend the insert 'light show' to be a touch longer so that the start of the flashing of the slot machine toy is closer to when the inserts finish their show. Ultimately I can ditch its little circuit board and just control the lights myself, but this was a quick and easy add -- took maybe five minutes to install it after I changed the graphics.

    #122 7 years ago

    If you could get the motor or servo hacked into it, I think it'd be a really cool toy above a spinner and have it controlled by the spinner switch - it'd be like the ball was spinning the slot wheels.

    Great work!

    #123 7 years ago
    Quoted from etlandfill:

    If you could get the motor or servo hacked into it, I think it'd be a really cool toy above a spinner and have it controlled by the spinner switch - it'd be like the ball was spinning the slot wheels.
    Great work!

    There is a spinner in a different spot, that earns you spins for when you open and play the slot machine (also a stand-up target near the slot machine awards more 'lines', which are really more valuable then spins). Have thought about changing behavior so that once the spinner is hit X times, instead of earning a spin, the first reel would stop then after X more the second reel stops. But I decided that it would be almost impossible for the player to really see what was happening with it (the inner loop where the spinner is, is incredibly fast). Plus, some awards are better given when the ball is being held.

    #124 7 years ago

    It might be easier to replace the reels with a small LCD, just like most of the real slots are now.

    #125 7 years ago

    Added lighting to the top of the craps dice popper. It is an LED ring and it turns on when craps is open. The text needs to be a touch smaller so as not to have the darker band at the bottom and the top needs to be covered.

    IMG_1927.JPG-1 (resized).pngIMG_1927.JPG-1 (resized).png

    Below you cans see that the base has now been fully covered in felt (vs just the dice area), I had saved some left over scraps of felt from when I re-felted a pool table a year ago. The cylinder has been cut down by .75", which I did in anticipation of issues with clearance of the glass (and hopefully I will be okay now, since can't really cut it much more without running into an issue with range of view of the camera). I also felt the height was a little too big compared to the width and this is more in line with the original vision/sketches I did.

    IMG_1928.JPG-2 (resized).pngIMG_1928.JPG-2 (resized).png

    The reduction in size did require adjustments to the software parameters used for the machine vision and based on some testing getting very, very good accuracy on the read. Also ran into unexpected issue when moving the machine vision software over to Linux from my mac (thought I and previously tested it, but apparently not). The issues were around color formats and some supported parameters for the image capture, an unexpected issue, but fortunately was able to work through it, but was time consumuning.

    I am happy with how the dice popper has come together, and almost ready to move on to other stuff. Time getting short, 21 Days and counting, and playfield still not in the cabinet nor have I done any real play testing. The list of what won't be ready for expo is growing.

    #126 7 years ago

    Inspiring Josh! I like how you run into unexpected issues and continue to work through them. Nothing holding you back! Can't wait to play it at EXPO.

    #127 7 years ago

    Quick update, two weeks to expo and having to cross things off the list I had hoped to have done, but not a surprise there. The playfield construction, at least for now, is nearing completion and I hope to have the playfield in the cabinet shortly, although I have been saying that for two weeks. It will be nice to get to really play it and see how it really shoots.

    Note that the RGB LEDs never look quite right in iPhone camera photos or videos, the colors are off, and the hots spots stand out more than in real life, but, here are some anyway.

    Looking to decide which colors look best.

    IMG_1931 (resized).JPGIMG_1931 (resized).JPG

    Here are a few shots of the draw poker mini-playfield with the display mounted above the drops. As well as the updated craps dice popper.

    IMG_1935 (resized).JPGIMG_1935 (resized).JPG

    And a closer look . . .

    IMG_1933 (resized).JPGIMG_1933 (resized).JPG

    And here is a very shot video clip of the RGB Leds in action. iPhone does not really capture the colors well -- this is a red, green, yellow sequence of vertical wipes.

    IMG_1932 (resized).JPGIMG_1932 (resized).JPG

    #128 7 years ago

    Have you considered just showing a number and suit on that display instead of the whole card? I feel like it's going to be hard to parse quickly off in the back corner like that...

    #129 7 years ago
    Quoted from zacaj:

    Have you considered just showing a number and suit on that display instead of the whole card? I feel like it's going to be hard to parse quickly off in the back corner like that...

    I have considered it and it is still very much a possibility. The reality is that to really play draw poker, you want to do a catch and cradle when the vuk puts the ball into play, so you can be precise on your shots, and that would also give you the chance to review the cards and strategize. The goal is for to be about skill and not just keeping the ball up on the mini-playfield and smacking the drop targets. In addition, there is a pause after the cards are dealt and before the VUK fires to give you a chance to review. Regardless, changing the cards is still a possibility, but I'm also considering adding a large two char label above that would just be the number and suit info, and It is likely I would try that before changing the cards, since I like having the real cards.

    #130 7 years ago
    Quoted from rosh:

    also considering adding a large two char label above that would just be the number and suit info, and It is likely I would try that before changing the cards, since I like having the real cards.

    That sounds like it'd solve the problem too. Do you ever play multiple hands up there, or is it just one hand each time?

    #131 7 years ago

    Awesome project.
    Incredible execution.

    #132 7 years ago

    Nice update Josh. Looking forward to seeing it in action in 2 weeks

    #133 7 years ago

    Looking great Josh! Can't wait to check it out in person.

    #134 7 years ago
    Quoted from Richthofen:

    I love the progress of this. Also makes me kind of sad to think how an individual hobbyist can add some really interesting mechs on a fully functional playfield in such a short time, and meanwhile JPOP couldn't get a flipping whitewood without a million dollars and four years.

    Josh has a real job also , so this was done in his spare time , which makes this more amazing .

    #135 7 years ago
    Quoted from zacaj:

    Do you ever play multiple hands up there, or is it just one hand each time?

    Three possibilities . . .

    1) The ball falls out the bottom, e.g. drains from the mini-playfield, you automatically lose the hand

    2) after hitting the cards you want to toss, you shoot the ball past the drop targets, cards are drawn and a payout is made if you win (win also counts towards completion of draw poker objective)

    3) after hitting the cards you want to toss, you bounce the ball back into the vuk, cards are drawn and points awarded if a winner, then a new hand is dealt and the ball put back into play. However, only one win 'per visit' counts towards the completion objective.

    The craps table also will let you have multiple wins 'per shooter', but only one counts towards the objective until you lose and then re-open craps.

    There is an opportunity to win 'just spades' via the slot machine. If you win that award, the next time you play poker the deck will only have spades in it, so it guarantees you a flush (as long as you don't drain), and you are then playing to get a shot at a straight or royal flush.

    I'm also considering adding a feature where if you get all of the drops down, when you draw cards, it will guarantee you at least a pair of jacks or better. This sort of changes the skill required, but at least if you mess up and knock down the wrong target, you can still improve your chances of getting a win. I'll consider this further down the road, since it is not a quick add.

    Blackjack will also be played on the 'card table', but will require a little less skill. You will have two targets for 'hit' and two for 'stand' and occasional a double down or a split option. You hit the 'hit' target to draw another card (and target resets), then you need to hit one or more of the stand targets and then shoot through (or just drop it back into the vuk to have the dealer finish up the hand).

    Right now once the ball is shot past the targets, it goes right back into play, possible in the future I'll use a disappearing post to hold the ball while the hand is finished up.

    1 week later
    #137 7 years ago

    Any news from Expo?

    10
    #138 7 years ago
    Quoted from solarvalue:

    Any news from Expo?

    Was so busy working on the machine and talking with folks playing, I did not take any photos or video, but when I get it back up I'll do so.

    Game was up and down first twos days due to a column short issue, but was solid on Saturday, but did keep the glass off most of the time due to a couple of ball hang spots. Suspected it would be an issue, but took a wait and see approach, and well, it was, so bad call on my part.

    Seemed lots of folks liked it, especially gamblers who really like how craps was really craps and not some psuedo "you rolled 11, so 11,000 points". Craps worked nearly flawlessly as did draw poker except when Craig knocked down all five and the drops would not reset, until I figured it out. I had switched from a 70v to 48v supply a day or so before expo and some things I had not adjusted correctly for the lower voltage, and roulette did not work nearly as well as It did with 70 so that will require some attention/modifications

    The three non gambling modes worked well and as it turns out were just as appropriate for expo as for Vegas. "Find parking", (an homage to move your car), "can't remember my room number" and "all you can eat Buffett". In hindsight should have made first shot easier on "find parking" so more would hear the voice call outs and see the "breaking bad" meets "move you car" animations. Almost any time someone started a mode there was a smile or a laugh at what the mode was or its sound track.

    Probably be a week or two before I even set it back up, pretty fried from the rush to expo.

    Thanks again to all of those who stopped to play, was great meeting and talking with everyone.

    2 months later
    #139 7 years ago

    Awesome project, the attention to detail is stunning. A work of love for sure.

    #140 7 years ago

    Very excellent and fantastic job !! Congrats ...

    #141 7 years ago

    Thanks, one of these days I'l get around to posting some video of game play, have not booted it up since Expo, too busy with other stuff.

    1 month later
    #142 7 years ago

    The whole project looks great.

    One question popped to mind while reading the whole thread... in the mini playfield, how will you guard against the pinball smacking into the LCD screen? Looks like a stray flip could crack the thing in half.

    Looking forward to see how this ends up. It's very professional looking

    #143 7 years ago

    Looking good, great amount of work there!

    One thing that has bugged me, can you actually shoot between bumpers? Or should you be able? Seems that it's not doable. Well, that's just little thing that caught my eye and I really don't have any experinece about pf design.

    #144 7 years ago
    Quoted from chadderack:

    One question popped to mind while reading the whole thread... in the mini playfield, how will you guard against the pinball smacking into the LCD screen? Looks like a stray flip could crack the thing in half.

    There is a plastic shield in front and small gap to absorb a hit. In addition, since it is such a short playfield, the flipper power is not all that strong.

    Quoted from Tensikka:

    One thing that has bugged me, can you actually shoot between bumpers? Or should you be able? Seems that it's not doable. Well, that's just little thing that caught my eye and I really don't have any experinece about pf design.

    It is totally doable, it is sort of an optical illusion due to the odd alignment of the opening, but it is actually wider than you think. If you go back to this post . . .

    https://pinside.com/pinball/forum/topic/casino/page/2#post-3307593

    you will see the actual width, which is close to 2".

    #145 7 years ago

    Nice work Josh. Your toys are really bringing that game to life, seriously, they look super.

    #146 7 years ago
    Quoted from rosh:

    There is a plastic shield in front and small gap to absorb a hit. In addition, since it is such a short playfield, the flipper power is not all that strong.

    It is totally doable, it is sort of an optical illusion due to the odd alignment of the opening, but it is actually wider than you think. If you go back to this post . . .
    https://pinside.com/pinball/forum/topic/casino/page/2#post-3307593
    you will see the actual width, which is close to 2".

    Oh, sorry, missed that post!

    There are 146 posts in this topic. You are on page 3 of 3.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/casino/page/3 and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.