From 8903ccb3119670d51c1baff71522503d013f4053 Mon Sep 17 00:00:00 2001
From: chimchooree Everything's coming together. I've been learning a lot, and I'm finally ready to share my work. Of course, I'm not saying Blessfrey.me is great, I'm saying I'm not ashamed anymore. People with a harsh inner critic understand what a hurdle that is. I'm going to take this somewhat professionally (I mean, I'm no business suit avatar "no offers under 100k" person), so I have a release schedule and content mix and everything. I'll get back on social media, too. All that pandemic news was hard to look at, but I miss seeing other people's projects and meeting fellow devs. My Twitter is @lilchimchooree, and I'll get on Mastodon, too, because we all know Twitter has so many issues. I'm going to take this somewhat professionally (I mean, I'm no business suit avatar "no offers under 100k" person), so I have a release schedule and content mix and everything. I'll return to social media, too. All that pandemic news was hard to look at, but I miss seeing other people's projects and meeting fellow devs. My Twitter is @lilchimchooree, and my Mastodon is also lilchimchooree. So please bookmark and visit every other Thursday (US time) for new articles! Also, message me on social media. I don't mind chatting. So please bookmark and visit every other Thursday (US time) for new articles! Also, message me wherever. I don't mind chatting. I never really had a plan for how to use this site and was generally copying other portfolios and blogs. Having your own website is really cool, though. Unless I'm somewhere else for a community, there's no reason for me to still be fussing with image hosting services or any kind of content management tool. My server, domain, and custom code should cover everything. It should be the easiest thing in the world to show people what I've been working on, too - just show them my website, duh. First, I'm going to have embedded HTML5 applications. I'm not waiting for Blessfrey's first demo to do that, either. I'm making gamejam projects, prototypes, anything interesting, and slapping them right on the website. After all, a gamedev website should have games! Second, I'm going to share programming and fashion projects. I used to have a separate fashion portfolio and a few blogs, but I was always struggling to match the guidelines for online content. It's more freeing to give myself a blank section of my general portfolio and a tenth of the blog to fill however I want. Some fashion designers like Kenneth D. King don't even organize their ideas into seasonal collections. The industry as a whole is reconsidering rigid expectations, replacing in-person runway shows with alternatives like direct meetings with the press, lookbooks of fashion photography, and short art films. Why shouldn't a fashion blogger re-evaluate her portfolio? Second, I'm going to share programming and fashion projects. I used to have a separate fashion portfolio and a few blogs, but I was always struggling to match the guidelines for online content. It's more freeing to give myself a blank section of my general portfolio and a tenth of the blog to fill however I want. Some fashion designers like Kenneth D. King don't even organize their ideas into seasonal collections. The industry as a whole is reconsidering rigid expectations, replacing in-person runway shows with alternatives like direct press meetings, fashion photography lookbooks, and short art films. Why shouldn't a fashion blogger re-evaluate her portfolio?
- Best practice says to be an SEO zombie laser-focused on a niche, but that conflicts with my own needs. I develop websites, games, programming projects, fashion projects, interior design projects, pixelart, writing, and more, and people in my life ask to see them. I want to work for actual people, not an algorithm. Best practice says to be an SEO zombie laser-focused on a niche, but that doesn't make sense for me. I develop websites, games, programming projects, fashion projects, interior design projects, pixelart, writing, and more, and people in my life ask to see them. I want to work for actual people, not an algorithm. Blessfrey.me's needs are fairly simple - some static pages and a blog page. Blogging platforms are overkill for my purposes, and all those unused features would bog down the website at best and contribute to security vulnerabilities at worst. Also, they tend to collect private user information, and I don't want to be responsible for that right now. So I write and maintain this site from scratch. It's plain fun to write my own platform. Besides, it just makes sense for my programming portfolio to be something I programmed. Blessfrey.me's needs are fairly simple - some static pages and a blog page. Blogging platforms are overkill for my purposes, and all those unused features would bog down the website at best and contribute to security vulnerabilities at worst. Also, they tend to collect private user information, and I'd rather not be responsible for that right now. So I write and maintain this site from scratch. It's plain fun to write my own platform. Besides, it just makes sense for my programming portfolio to be something I programmed. I always thought PHP developers were so cool as a kid, so Blessfrey.me was originally written in PHP. That didn't last long. I could compare pros and cons, but PHP was too unenjoyable to maintain. Its documentation is crazy, though. Each page has a comment section with 19-year-old posts criticising the language. So bizarrely negative and old! Now I use Bottle, a Python micro web-framework, its built-in template engine SimpleTemplate, and raw HTML and CSS. It's deployed using Docker. Anything's more fun if I get to use Python. Now I use Bottle, a Python micro web-framework, its built-in template engine SimpleTemplate, and HTML and CSS. It's deployed using Docker. Any embedded applications are probably HTML5 written in Godot Engine. The website has plenty of room for improvement. It looks pretty wonky on mobile and tablets, and I've only been testing in Firefox and Chrome-based browsers. It's functional and has a decent amount of content, though, so I'd say it's a-okay to take out of maintenance mode for now. Demonstrating coroutines in Godot Engine with a simple application. Coroutines are functions that, instead of running to completion, yield until certain criteria are met. Godot Engine supports coroutines through yield(), resume(), and the GDScriptFunctionState object. Coroutines allow for scripted game scenarios that respond dynamically to the player and the changing game world. They let you bounce between functions, step-by-step, and respond to interruptions. This means functions can be automatically called at the completion of other functions, animations, player actions, in-game events, or timers. Add in interruptions and conditionals, and you have a tool for building a responsive game world. As a simple demonstration, I made a stoplight. Follow along with my code on GitLab. The light changes every few seconds, going from green, yellow, then red. The light changes immediately if the walk button is pressed. This demonstrates that methods can wait for criteria (a timed duration in this case) to be met before resuming, and they can be influenced by player action. I have a TextureRect background, an AnimatedSprite stoplight, a Sprite walk button with a TextureButton, and a label for displaying a timer. Most of the code is attached to the root. It's better to have code closer to where it's being used and to mind your separation of concerns in real projects, though. The light is changed by setting its animation to one of these options. Each is one-frame - just the stoplight with the one or none of the lights colored in. At _ready(), wait() is assigned to the GDScriptFunctionState result and is called for the first color, green. _ready() yields until wait() is completed. The wait method yields for the given amount of seconds then sets the stoplight to the given color. At wait()'s completion, _ready() calls wait() for yellow, then red. Each is called one at a time, waiting for the color to complete before moving on. The Wait Button interrupts the wait times between colors. Before _ready() yields, it connects the 'pressed' signal on the Wait Button. If the Wait Button is clicked during wait()'s yield, the GDScriptFunctionState result resumes immediately, ignoring wait()'s yield timer. This time, result has a string arg "interrupted on green," so it will print the result, change the stoplight's color, then print "done: green." The wait method is complete, so _ready() resumes and calls wait() for the next color. The outcomes in this example can be swapped out with anything. I use coroutines in Blessfrey's skills to manage the flow of phases from activation, different phases of effects, cooldown, and interactions with any counters. I also use it in the basic weapon attack so the character continuously swings at the rate of his attack speed until he cancels, uses a skill, or moves. It could also be used for something like cars that stop and honk when the player walks in front of them then drive off once the path is clear. Anything influenced by other entities is a good coroutine candidate. Coroutines enable practical ways to improve the flow and interactivity of games, so practice the concept a lot! The pandemic drags everything out, so these two collections run together. A swimsuit designed just for me. I need new clothes for myself.
-he two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
-he two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
-The pandemic drags everything out, so these two run together. Gator is part of Animal Parade, a collection that emphasizes the individualism of clothing. Every garment deserves special consideration, even basic undershirts, sleep masks, etc. Church girls comes from my personal apparel history. Growing up, most of my clothes were the older girls from church's castaways. I retained a majority hand-me-down wardrobe through my post-graduation internship. I never felt embarrassed about it. Actually, I enjoyed looking unique, wearing nothing you could buy in a store. One lady told me I looked like I was from a different era. (Insult maybe, but I loved that.) Other hand-me-downs became so old they were once again on the cusp of a trend. All the designs are named after important animals in my life. The swimsuit is named Gator because of the gator who lives in my swampy subdivision. I've seen him during walks. Absolutely unnerving. I haven't had a swimsuit for years and never like any in the store anyway. I browsed online catalogs in English and 日本語 and window-shopped everywhere in town, searching for both style and technical inspiration. I've never worked with active wear garments, so I studied the inside of nearly everything at Dick's Sporting Goods to understand the style elements, seams, and findings typical of swimsuits and active wear in general. Many of my hand-me-downs were banished to the back of the closet as I got to buy my own clothes and participate in street fashion for the first time on a college campus. My outfits got very dainty with sheer and uncomfortable fabrics, complex layering, and a general lack of practicality. The pandemic knocked that out of me quickly, and I retreated back into my old, floppy, cotton hand-me-downs and stolen t-shirts from my husband. This time with the clothes, I was older and more aware of things. They became a symbol of neglect and pity. None of them were chosen by me or my parents, and many were from people I barely knew. I was well-dressed for the depressive, disassociative state of the world. The swimsuits that stood out to me were blurring the line between one-piece and two-piece. I can't find my old collage, but here's a quick one. Sorry for not remembering the source of the images. I iterated over the concept in sketches a little. Ideas: This is where the one-and-a-half-piece idea led. I like the sheer fabric in the central examples from the collage. I love texture, so all the ruching and gathers really stand out to me, too. I wonder how feasible it would be to make two "two-pieces" - one relatively basic bikini with a loop in the center front of the swim bottoms, and another sheer, pintucked overlay with a tricot panel peek-a-boo skirt that fastens onto the loop. The overlay is tiered in the back then parts around the sides until it fully exposes the midriff in the front. When the town began to open back up, I had a reason to dress up again but saw nothing both exciting and comfortable. Most of the clothes I made had been given away or broken down into scraps. I hadn't sewn for myself in ages anyway. My last set of hand-me-downs were starting to deteriorate beyond repair. Left with some chiffon blouses and rayon skirts, it was finally time to sew and dress for me again. I'm not sure tricot or mesh would be sturdy enough for pintucks, so I checked if chiffon swimwear is even a thing. It actually is! Plenty of chiffon sleeves and panels floating around out there. Church girls's theme is finding appreciation again for the anachronistic, cultural melting pot of my old hand-me-down wardrobe. There are clothes from the 00s, 90s, and proper vintage eras; from American families but also Mexican and Panaman families; and from mass retail, luxury, and home seamstresses. Also, they aren't just stuff that looked good in a store - they are care items that were set aside for me by people in my community. I really like this design. The central fastener on the swim bottoms isn't like anything I've seen in stores. The suit's connected in enough places that it shouldn't become a shapeless bubble underwater. I bet it'd be gorgeous to watch float and flow in the waves. everything's coming together: a new website
july 28, 2022
-#webdev
+#webdev
@@ -13,9 +13,9 @@ july 28, 2022
-
-
reassessing things
-
technical journey
-
-
-
plans for the future
coroutines in godot engine
-september 17, 2020
-#coroutines #godot #programming
+august 11, 2022
+#gamedev #coroutines #godotengine #programming #demo
-Coroutines are functions that, instead of running to completion, can yield until certain criteria are met. Godot Engine supports coroutines through yield ( Object object=null, String signal=""), resume, and the GDScriptFunctionState object.
+
-why use a coroutine?
+defining coroutines
+
-Coroutines allow for scripted game scenarios that respond dynamically to the player and the changing game world. They let you bounce between functions, step-by-step, and respond to interruptions. This means functions can be automatically called at the completion of other functions, animations, player actions, in-game events, or timers. Add in interruptions and conditionals, and you have a tool for building a responsive game world.
+why use a coroutine?
+
stoplight example
+
-As a basic example of coroutines in Godot Engine, I made a stoplight. Follow along with my code on GitLab.
-
-In my example, the light changes every few seconds, going from green, yellow, then finally red. The light changes immediately if the Walk Button is pressed. This project demonstrates methods that can wait, resume, and be affected through player action.
+
-
-
-how does it work?
+how is it written?
node hierarchy
-
-
-I have a TextureRect background, an AnimatedSprite stoplight, a Sprite walk button with a TextureButton, and a label for displaying a timer. Since this is a simple example, most of the code is attached to the root. It's better to have code closer to where it's being used and to watch your separation of concerns in real projects, though.
+
+
animation
-
-
-
-The light is changed by setting its animation to one of these options. Each is one-frame - just the stoplight with the one or none of the lights colored in.
+the code
-
This project has two scripts: Main.gd, which is attached to the root node, and Label.gd, which is attached to the Label.
-Main.gd - code available on GitLab
-
-
-Label.gd - code available on GitLab
-
-Main.gd - available on GitLab
+extends Node
+
+onready var stoplight = $Stoplight
+
+func _ready():
+ stoplight.play()
+
+ var result = wait(5, 'green')
+ $WalkButton/TextureButton.connect('pressed', result, 'resume',
+ ['interrupted on green'], CONNECT_ONESHOT)
+ yield(result, 'completed')
+
+ result = wait(5, 'yellow')
+ $WalkButton/TextureButton.connect('pressed', result, 'resume',
+ ['interrupted on yellow'], CONNECT_ONESHOT)
+ yield(result, 'completed')
+
+ result = wait(5, 'red')
+ $WalkButton/TextureButton.connect('pressed', result, 'resume',
+ ['interrupted on red'], CONNECT_ONESHOT)
+ yield(result, 'completed')
+
+func wait(time, color):
+ print('waiting for: ' + color)
+ var result = yield(get_tree().create_timer(time), 'timeout')
+ if result:
+ print(result)
+ stoplight.animation = color
+ print('done: ' + color)
+
+func _on_completed():
+ print('completed')
+
+func _on_WalkButton_gui_input(event):
+ if event is InputEventMouseButton and event.pressed:
+ print ("Walk Button not functioning.")
+
+Label.gd - available on GitLab
+extends Label
+var time_start = 0
+var time_now = 0
+
+func _ready():
+ time_start = OS.get_unix_time()
+ set_process(true)
+
+func _process(delta):
+ time_now = OS.get_unix_time()
+ var elapsed = time_now - time_start
+ var minutes = elapsed / 60
+ var seconds = elapsed % 60
+ var str_elapsed = "%02d" % [seconds]
+ text = str(str_elapsed)
-how the code works
-
-At _ready()
, wait()
is assigned to the GDScriptFunctionState result
and is called for the first color, green. _ready()
yields until the given function wait()
is completed.
+how does it work?
+
-The wait method yields for the given amount of seconds then sets the stoplight to the given color.
+
-At wait()
's completion, _ready()
calls wait()
for yellow, then red. Each is called one at a time, waiting for the color to complete before moving on.
+
interrupting the stoplight
+
+
-The Wait Button interrupts the wait times between colors. Before _ready()
yields, it connects the 'pressed'
signal on the Wait Button.
-If the Wait Button is clicked during wait()
's yield, the GDScriptFunctionState result
resumes immediately, ignoring wait()
's yield timer. This time, result
has a string arg 'interrupted on green'
, so it will print the result, change the stoplight's color, then print 'done: green'
. The wait
method is complete, so _ready()
resumes and calls wait()
for the next color.
+play it yourself
+
applications
+
-The outcomes in this example can be swapped out with anything. I use coroutines in Blessfrey's skills to manage the flow of phases from activation, different phases of effects, cooldown, and interactions with any counters. I also use it in the basic weapon attack so the character continuously swings at the rate of his attack speed until he cancels, uses a skill, or moves. It could also be used for something like cars that stop and honk when the player walks in front of them then drive off once the path is clear.
+
-Coroutines enable lots of practical ways to improve the flow and interactivity of your game, so just keep experimenting.
-Last updated June 8, 2021
+Last updated July 31, 2022
diff --git a/src/diary/entries/220825 b/src/diary/entries/220825
index cfdd4ff..13d7c4a 100644
--- a/src/diary/entries/220825
+++ b/src/diary/entries/220825
@@ -1,117 +1,115 @@
-
-church girls + animal parade: a collection in two parts
-july 28, 2022
-#fashion #capsule-wardrobe #collection
+
+gator swimsuit
+august 25, 2022
+#fashion #swimwear #design-process #animalparade
-
+
-two in one
-concept
+
-church girls
-
+
+design process
+
- one-and-a-half-piece
+
+
+
+
+
-
-
- For the capsule collection, I immortalized my favorite old clothes as reverse-engineered patterns. With the original garments, I am creating clothes that are finally me but flavoring them with discordant sources of inspiration and sentimentality. I take each design's name from scattered memories.
I wasn't prepared to unlock a 00s fashion time capsule when I found a copy of Animal Parade. It's not like Hikari epitomizes the era and I never liked that style back then, but her cami layered over a basic tee and bulky cargo pockets has a hold over me. It's a mix of fresh and nostalgic. It brought to mind some of the silly and hyper-girly outfits Hillary Duff wore. She wore layers and comfy cottons all the time, too. Maybe people would cringe at her old outfits, but they were undeniably fun.
Unfortunately, pretty or not, I don't think it's practical. Chiffon is a dainty fabric, and swimming is not a dainty activity. There's plenty of brick and concrete around and roughhousing with friends. Besides, chiffon isn't that comfortable to wear dry, and I cringe imagining chlorine-soaked chiffon Saran-wrapped over my torso. Not to mention, I don't know how comfortable I am with a two-piece anyway. Body insecurities! (Who doesn't have them?)
Pre-AP, I wore camis and biker shorts for modesty under fussy chiffons. My foundation was decidedly neutral. There's something expressive and carefree about wearing these purely functional elements on top and in cute colors. Even these 'boring' garments can be special. It was a line I needed to be led across in my life. This speaks to me in several different directions. Rejoice always. It's okay to be playful. Whatever you do, work heartily, as for the Lord. Even drudgery is an area for personal growth and exploration. I was sad for a long time, but seamstress's block has finally lifted.
Back to the drawing board!
The animal parade capsule collection is what Hikari is to me: individualism in each layer, joy in adding details, and amiable natural fibers. I name each design after significant animals in my life.
Don't go through the motions. If you have anything super cool like a website, don't just use it how you're "supposed" to use it. Put your stuff to work and have fun!
Instead of synthesizing the prettiest elements into one swimsuit, I should be synthesizing the most practical elements into one swimsuit. People who feel confident and comfortable in their clothes are the prettiest! Also, ruffled chiffon is the definition of my comfort zone. Active wear is an opportune time to try new designs.
The two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
I drew and drew over the same croquis, so the process was lost apart from long raglan sleeves, a mock turtleneck, and tiered layers around the lower body. I went back and forth between full-coverage bikini bottoms and shorts. I also had an idea for a swim obi belt. Obi belts were all over the runway a few years ago. I couldn't find anything quite like it on a swimsuit, but it seems like such a cool idea. Maybe not practical, but I'd go for it if it didn't require so much fabric.
Anyway, this is close to what I made. I moved the zipper to the center back to avoid breaking up my beautiful fabric. I didn't care to insert piping into active wear seams. (yes, those aren't thick seams - that is piping.) I didn't make the obi belt either, but I might. I have long strips of fabric left over, and it might be enough to do something cool.
I chose neoprene because it's flatteringly thick, durable, and still relatively trendy in fashion after years of being delegated to seat covers and boring functional garments. I've never sewn with it before and heard terrible things, but I'll try it.
This print in particular is so unique. In a sea of tropical island palm tree, this is a swamp! I grew up in swamps and live in a swamp, and I never see our biome fantasized like this. It's also bright and pastel without entering some generic rainbow or pastel goth palette. It even includes that incredible glowing sulfur color from PANTONE's 2021 Color of the Year. I adore this fabric.
I paired it with a seafoam invisible zipper, pastel rainbow thread, and gray thread.
This is my only picture of my pattern for now. I make them out of thick paper and store them by piercing each set with a safety pin then hanging them from yarn bows.
I've never made a raglan sleeve and don't even own any, so this was a real challenge. I started with a regular sloper, taped them together, cut them along the "raglan line," used that to sew a knit bodysuit, then fitted and seam-ripped and resewed until it was spot-on.
I've never designed a mock turtleneck either, even though I really ought to have by now. For some reason, I imagining it should be more tapered, but the neck is relatively tubular. The triangular muscles connecting the neck to the shoulders aren't as important, especially with my placement of the scoop "neckline." However, starting the collar that far out adds inches to the height requirement. It took several iterations before it was long enough to actually look like a turtleneck.
Sleeves are sleeves. Princess lines and tiers-and-panels are my specialty, so no problem there. Then I traced my comfiest pair of full-coverage underwear for the leg openings.
As with most of my tiered designs, the tiers of the skirt only start an inch or so from beneath the previous tier. That bottom tier isn't much longer than the tier on the top. This reduces bulk and fabric consumption, which is 100x more important on a swimsuit made of pricy fabric. The length of the tiers took a lot of experimentation. They need to be balanced, fall at flattering points of my body, begin at comfortable points on my body, and work with the print. I played in front of a mirror in loops of measuring tape all day.
I was very conscious of the print while cutting. I used the stark white sky as an anchor and draped a few different placements - across the collarbone, across the bustline, and my chosen placement, atop the chest. The print has dense dark areas and light fluffy areas, and this placement emphasized femininity. The grays and trees are at my chest, emphasizing them while still looking painterly and abstract enough to not be garish. The blacks and voids are at my waist, neck, upper arms, and lap. Then the dense, difficult-to-read green foliage obscures my lower body. Perfect! I matched the arms, which puts the placid blue water on my forearms, so the part I see the most is my favorite part of the print. Overall, great luck with the vertical repeat on this fabric.
As for sewing, these are all serged seams using pastel rainbow thread. The edges are finished with gray serging. The tiers were basted and gathered by hand before being sewn into the skirt. It was very, very easy. The girls who told me neoprene doesn't hold stitches must have had finicky machines.
The top is supported by underwire and thin cups. I cut up an old bra and attached it to the lining by hand. It was nerve-wracking doing the fittings because they were done with the garment inside-out and any markings involving stretchy material around curves are difficult to achieve accuracy with. The final fit is perfect, though.
I've taken it to the beach and the pool and feel so special. No one has a swimsuit like this. The colors are adorable and unique. The print and colors are so intricate compared to the rest of the market. The design is relatively modest but still youthful. I get so many compliments. I'm also glad I pushed myself away from making yet another ruffled chiffon gown. Even within the realm of activewear neoprene, my design aesthetic is still obvious, and that's cool to see.
It's very comfortable to wear, too, which was my number one design goal here. The skirt isn't too bulky, so I can get away with oversized jeans as my coverup. I feel confident under the thick fabric and tiered skirt, and the long sleeves and tall neck protect me from the full blast of the sun. My thighs do show, but whatever. They're usually underwater anyway. The swimsuit maintains its shape well underwater, too.
When I was done, I immediately sewed four mock turtleneck undershirts based off this pattern and love them, too! When I have more time, I'll share the rest of my garments in another diary entry. Until then, enjoy the rest of summer.
I'm chimchooree! I love the full process of apparel construction, but pattern-making has always been my favorite. Like any designer, I view fashion in terms of defining the problem and solving it. The creative side of my designs are led by meaningful themes, selecting for having relevance to both the temporal and metaphoric season I'm in, diverse concepts to draw from, and a consistent core to tie everything together.
The best clothes might very well be the ones you already own. We are called to be good stewards of the earth, so I encourage you to have your clothes repaired, altered, or customized whenever possible.
But if I'm going to make new clothes, I'm going to design them to be irreplaceable. They will be thoughtfully designed and made with professionalism, personality, comfort, and durability in mind. I shoot for daywear that handles being thrown in a washing machine no problem, and try to keep my designs easy to alter.
No-Legs the Cat is a 2D maze game featuring Poltics Cat! Help him find his legs! He can't move by himself, so scoot him around with the arrow keys. Don't forget to feed him all three breakfasts or he'll starve!! Go play it here or on itch.io.
It's not much - just a demonstration to myself that I can export a game and embed HTML5 applications here. It runs pretty well locally, so we'll see how well it runs on the live server in my playtesters' browsers. I'm getting close to releasing the first minor demo for Blessfrey, so I'd really rather iron out all the kinks with a short and simple project first, you know? Dreading the day I have to handle serialization in the browser.
Have fun! More games coming soon.
My kitty!
It's just an inside joke. There was a guy who kept interrupting the political discussion channel by posting his pet, so I tried to imitate him with my own politics cat. Only I made a typo, and it stuck.
Aren't cats cute when they sit like that? It's called "loafing." Kitty's so fluffy that his legs become totally hidden when he does that, and he just stares helplessly at us when we start heckling him.
It looks like his legs are missing for real this time, though. He couldn't have gotten far without them, so they have to be somewhere in the maze.
I dunno, my cat is weird. He wants us to give him breakfast first thing in the morning, then again when we eat our own breakfast. It's still so early, it's like he eats two breakfasts. He doesn't care about food for the rest of the day. It's like the concept of lunch and dinner are completely foreign to him. He's a dishonest little guy, though, so he'll come to both my husband and me separately to beg for "second" breakfast. We're usually too smart for him, but I'd be lying if he hasn't bamboozled us into three whole breakfasts before.
Probably never.
It's more fun to approach the game with your own personal challenge. I know a lot of people try a new style or technique during this month, like my friend trying single-layer digital paintings. My personal approach this year is thematic. I'm drawing cute couples! I don't usually draw boys, so it's a good compromise if his girlfriend will be in the frame, too. Also, more characters per attack = more points!
These are the characters I drew.
These are my characters, drawn by other people.
It's one of the more fun art communities these days. A lot of communities have turned completely business-minded or are littered with off-topic content. Artfight, however, is necessarily interactive and collaborative, more like how art communities felt in the 10s. I try to play every year to motivate myself to draw more, especially things outside my comfort zone of cute girls.
This community has a lot of overlap with Toyhouse and Tumblr, though, so don't be surprised if you keep running into massive text walls of character permissions and "original character donut steal" warnings. There's also a wide range of ability. I see everything from grainy photos of lined paper to Tearzah copycat artists to university illustration students. It feels like old DeviantART in that respect.
You should know that the servers reliably crash during the first week of July every year, so if you do want to play, prepare during June. Upload a few characters and their reference pictures, find targets you'd like to draw, and save their usernames and reference pictures. Even if the servers crash, you've got everything you need for a few days.
One of my most-played games by far
Some gamedev advice I've heard is to actively journal while playing games. The goal is to try to see from gamedev and player eyes simultaneously and learn from risks taken, get inspired, and generally increase your exposure to the medium.
I haven't written about games outside of Steam reviews, so I'll start with a favorite: Oblivion.
+I've spent thousands of hours easily in Oblivion, but I don't have a normal relationship with it. Despite all that time, I've only finished the main quest once. The bulk of those hours have been spent roleplaying in Anvil or editing mods. Judging from my backup folder, I've been making significant edits to the game every few months since high school.
It's hard to look at this game as a proper action/adventure game. I've been playing it as a sandbox with a lot of premade content for over ten years. This + +
Some advice I've heard for gamedevs is to actively journal while playing games. The goal is to try to see from gamedev and player eyes simultaneously and learn from risks taken, get inspired, and generally gain exposure to the medium.
Gator is part of Animal Parade, a collection that emphasizes the individualism of clothing. Every garment should be valued and individualized, even basic undershirts, sleep masks, etc.
The pandemic drags everything out, so these two collections run together.
All the designs are named after important animals in my life. The swimsuit is named Gator because of the gator who lives in my subdivision. I've seen him during walks. Absolutely unnerving.
+
I need new clothes for myself.
+he two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
+he two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
+The pandemic drags everything out, so these two run together.
I haven't had a swimsuit for years and never like any anyway. I browsed online catalogs in English and 日本語 and window-shopped everywhere in town, searching for both style and technical inspiration. I've never worked with active wear garments, so I studied the inside of nearly everything at Dick's Sporting Goods to understand the style elements, seams, and findings typical of swimsuits and active wear in general. I learned a lot but liked virtually nothing.
Church girls comes from my personal apparel history. Growing up, most of my clothes were the older girls from church's castaways. I retained a majority hand-me-down wardrobe through my post-graduation internship. I never felt embarrassed about it. Actually, I enjoyed looking unique, wearing nothing you could buy in a store. One lady told me I looked like I was from a different era. (Insult maybe, but I loved that.) Other hand-me-downs became so old they were once again on the cusp of a trend.
The swimsuits that stood out to me were treading the line between one piece and two-piece. I can't find my old collage, but here's a quick one. Sorry for not remembering the source of the images. I iterated over the concept in sketches a little.
Ideas:
This is where the two-piece idea led. I like the sheer fabric in the central examples from the collage. I love texture, so all the ruching and gathers really stand out to me, too. I wonder how feasible it would be to make two "two-pieces" - one relatively basic bikini with a loop in the center front of the swim bottoms, and another sheer, pintucked overlay with a tricot panel peek-a-boo skirt that fastens onto the loop. The overlay is tiered in the back then parts around the sides until it fully exposes the midriff in the front.
Many of my hand-me-downs were banished to the back of the closet as I got to buy my own clothes and participate in street fashion for the first time on a college campus. My outfits got very dainty with sheer and uncomfortable fabrics, complex layering, and a general lack of practicality. The pandemic knocked that out of me quickly, and I retreated back into my old, floppy, cotton hand-me-downs and stolen t-shirts from my husband. This time with the clothes, I was older and more aware of things. They became a symbol of neglect and pity. None of them were chosen by me or my parents, and many were from people I barely knew. I was well-dressed for the depressive, disassociative state of the world.
I'm not sure tricot or mesh would be sturdy enough for pintucks, so I checked if chiffon swimwear is even a thing. It actually is! Plenty of chiffon sleeves and panels floating around out there.
When the town began to open back up, I had a reason to dress up again but saw nothing both exciting and comfortable. Most of the clothes I made had been given away or broken down into scraps. I hadn't sewn for myself in ages anyway. My last set of hand-me-downs were starting to deteriorate beyond repair. Left with some chiffon blouses and rayon skirts, it was finally time to sew and dress for me again.
I really like this design. The central fastener on the swim bottoms isn't like anything I've seen in stores. The suit's connected in enough places that it shouldn't become a shapeless bubble nor flap up and show too much skin underwater. I bet it'd be gorgeous to watch float and flow in the waves.
Church girls's theme is finding appreciation again for the anachronistic, cultural melting pot of my old hand-me-down wardrobe. There are clothes from the 00s, 90s, and proper vintage eras; from American families but also Mexican and Panaman families; and from mass retail, luxury, and home seamstresses. Also, they aren't just stuff that looked good in a store - they are care items that were set aside for me by people in my community.
Unfortunately, pretty or not, I don't think it's practical. Chiffon is a dainty fabric, and swimming is not a dainty activity. I lean against brick and against concrete without babying my clothes. Chiffon isn't that comfortable to wear dry, and I cringe imagining soaking wet chlorine chiffon Saran-wrapped over my torso. Not to mention, I don't know how comfortable I am with a two-piece anyway? Body insecurities!
Back to the drawing board!
Instead of synthesizing the prettiest elements into one swimsuit, I should be synthesizing the most practical elements into one swimsuit. People who feel confident and comfortable in their clothes are the prettiest!
I drew and drew over the same croquis, but the big idea is a long-sleeved raglan with a mock turtleneck and tiered layers around the lower body. I facilitated between full-coverage bikini bottoms and shorts. I also had an idea for a swim obi belt. Obi belts were all over the runway a few years ago. I couldn't find anything quite like it on a swimsuit, but it seems like such a cool idea. Maybe not practical, but I'd go for it if it didn't require so much fabric.
Anyway, this is close to what I made. I moved the zipper to the center back to avoid breaking up my beautiful fabric. I didn't care to insert piping into active wear seams. (yes, those aren't thick seams - that is piping.) I didn't make the obi belt either, but I might. I have long strips of fabric left over, and it might be enough to do something cool.
I chose neoprene because it's luxuriously, flatteringly thick, durable, and still relatively trendy in fashion after years of being delegated to seat covers and boring functional garments. I've never sewn with it before and heard terrible things, but I'll try it.
This print in particular is so unique. In a sea of tropical island palm tree prints, this one has swamps! I grew up in swamps and live in a swamp, and I never see our biome fantasized into artwork like this. It's also bright and pastel without entering some generic rainbow or pastel goth palette. It even includes that incredible glowing sulfur color from PANTONE's 2021 Color of the Year. I adore this fabric.
I paired it with a seafoam invisible zipper, pastel rainbow thread, and gray thread.
This is my only picture of my pattern for now. I make them out of thick paper and hang them by piercing a full set with a safety pin then hanging them from yarn bows.
I wasn't prepared to unlock a 00s fashion time capsule when I found a copy of Animal Parade. It's not like Hikari epitomizes the era and I never liked that style back then, but her cami layered over a basic tee and bulky cargo pockets has a hold over me. It's a mix of fresh and nostalgic. It brought to mind some of the silly and hyper-girly outfits Hillary Duff wore. She wore layers and comfy cottons all the time, too. Maybe people would cringe at her old outfits, but they were undeniably fun.
I've never made a raglan sleeve and don't even own any, so this was a real challenge. I started with a regular sloper, taped them together, cut them along the "raglan line," used that to sew a knit bodysuit, then fitted and seam-ripped and resewed until it was spot-on.
Pre-AP, I wore camis and biker shorts for modesty under fussy chiffons. My foundation was decidedly neutral. There's something expressive and carefree about wearing these purely functional elements on top and in cute colors. Even these 'boring' garments can be special. It was a line I needed to be led across in my life. This speaks to me in several different directions. Rejoice always. It's okay to be playful. Whatever you do, work heartily, as for the Lord. Even drudgery is an area for personal growth and exploration. I was sad for a long time, but seamstress's block has finally lifted.
I've never designed a mock turtleneck either, even though I really ought to have by now. For some reason, I imagining it should be more tapered, but the neck is relatively tubular. The triangular muscles connecting the neck to the shoulders aren't as important, especially with my placement of the scoop "neckline." It also took several iterations before it was long enough to actually look like a turtleneck.
The animal parade capsule collection is what Hikari is to me: individualism in each layer, joy in adding details, and amiable natural fibers. I name each design after significant animals in my life.
Don't go through the motions. If you have anything super cool like a website, don't just use it how you're "supposed" to use it. Put your stuff to work and have fun!
Sleeves are sleeves. Princess lines and tiers-and-panels are practically my specialty, so no problem there. Then I traced my comfiest pair of full-coverage underwear for the leg openings. As with most of my tiered designs, the tiers of the skirt only start an inch or so from under the previous tier. That bottom tier isn't much longer than the tier on the top. This reduces bulk and fabric consumption, which is 100x more important on a swimsuit made of pricy fabric. The length of the tiers took a lot of experimentation. They need to be balanced, fall at flattering points of my body, begin at comfortable points on my body, and work with the print.
I was very conscious of the print while cutting. I used the white sky as an anchor and draped a few different placements - across the collarbone, across the bustline, and my chosen placement, atop the chest. The print has dense dark areas and light fluffy areas, and this placement emphasized femininity. The grays and trees are at my breasts, emphasizing them while still looking painterly and abstract enough to not be garish. The blacks and voids are at my waist, neck, upper arms, and crotch. Then the dense, difficult-to-read green foliage obscures my lower body. Perfect! I matched the arms, which puts the placid blue water on my forearms, so the part I see the most is my favorite part of the print. Overall, perfect sizing and placement in my eyes.
As for sewing, these are all serged seams using pastel rainbow thread. The edges are serged with gray. The tiered were basted and gathered by hand. It was very, very easy. Whoever told me neoprene doesn't hold stitches must have had a very finicky machine.
The top is supported by underwire and thin cups. I cut up an old bra and attached it to the lining by hand. It was kind of nerve-wracking doing the fittings because any markings or fittings involving stretchy material around the breasts are difficult to achieve accuracy with, but the final fit is perfect.
I've taken it to the beach and the pool and feel so special. No one has a swimsuit like this. The colors are adorable and unique. The print is so intricate compared to the rest of the market. The design is relatively modest but still youthful. I get so many compliments.
The two themes belong together. Meditating over the introspective and the expressive, hiding away and being open, the old and the new. They come bundled with transformational passages of Scripture.
It's very comfortable to wear, too, which was my number one design goal here. The skirt isn't too bulky, so I can get away with oversized jeans as my coverup. I feel confident under the thick fabric and tiered skirt, and the long sleeves and tall neck protect me from the full blast of the sun. My thighs do show, but whatever. They're usually underwater anyway. The swimsuit maintains its shape well underwater, too.
Then when I was done, I immediately sewed four mock turtleneck undershirts based off this pattern and love them, too!
I'm chimchooree! I love the full process of apparel construction, but pattern-making has always been my favorite. Like any designer, I view fashion in terms of defining the problem and solving it. The creative side of my designs are led by meaningful themes, selecting for having relevance to both the temporal and metaphoric season I'm in, diverse concepts to draw from, and a consistent core to tie everything together.
The best clothes might very well be the ones you already own. We are called to be good stewards of the earth, so I encourage you to have your clothes repaired, altered, or customized whenever possible.
But if I'm going to make new clothes, I'm going to design them to be irreplaceable. They will be thoughtfully designed and made with professionalism, personality, comfort, and durability in mind. I shoot for daywear that handles being thrown in a washing machine no problem, and try to keep my designs easy to alter.
yR%=ViG$k5~Em4)i9JQXl;C5zCV{H^_N3k)EjiXRg5_44h zTH~sf8!5?1NheCK9hHt+__nW4 zbw$xfBe9JYU!ByUb=HQr=KSW&x@wK%%(yk@w`TrvGTw0IB%Q1it&Po`TT$rqC=8<5 z Xr9aV?aLa~?%e9LI={_kYR$FOFl*Io@t$i#kvX z$d#5Q0A6R;bs1wQIt)W(PbH#as5WB^b)dx82B>su3e<|Oh^}3Zr=utWm8X={fVdVU z#wFu@_kG`SoFE8PRh>?!=q%{B?@D$*co-mpWGP`;hHaY=xt`}>b6wl_UEg *iEw4#p^SG KK)+g~XRW_( z?8sAWdt%y#X fPA8KIH4&wur{ypPT^J+@ey7u^s;UT6J7X7J z2OZjVCHsFkQ7(Od 9_uy9Q@(bgJ=;ke(~Sv`M;z7Px+7gcXV`wiyMtbnx?(z zLB(@>_$DHrR22C!#*>T~dekZ9AVA6F7i5qdcI6XgRgDspx_g*jK35JSrL64X^&zc~ z>MvIhVJcTH4$WwqrssL0gA2Il3k| yOQNHECfWM2iK-dniJBF8oF df_DWVO3QplaV?dS7nmKL7up?I$BhG(`9GN z>Udeso4BjOc@r FTU0lPZtOG)lN1g??EiRhgy %1gvdG$|TFkrUVz!ufv#t@@_FLN&Ws#*xl%;W1=2e*&d75QOmL++f7yVx!$nt$W zj%Hbsrg4%)*wQqXx4pWQq-mOES>FFq0K4*UmK9l6 y XIv d9<+cu$L z_Vv;&%Rr=M8K$}0h1!XnNg|O}MhYA0V^I81XHww?6+`u2^b3s|*9FAkdEOu~u9q&8 zN+ Xck%CQsqVU0^bXKA<;QwA*YQ;;b6ld8f#!kLL(7Uyrp4O9EM`JBt5-5nUEw= z)(d33M`;%3MO>6gS*2x_RCQX_aaG4<&5Mc^g_jpjUN}{4cQb#s@Ma5lws6<0;N*mz zocpI2-uYE@c{90nv$}n&zH_U*b1Q%4Uh&|5{>H26!#9$LZ$uB@3?9B2y!jS;^ltX{ zkMj3ED1ZEM{_#igM<4m0edK-diT~vn;TNB}zy4+L<*%Hte#?IIyYS23B>(u|vVZv} z<^TB~%K!ZD${)V@;gjvn$J=hZZT|4s+isKXHs5Z$?bEsV-L~6p-EZ^lcKQAGU1 Xsn5Vsl7n)9B zt?86OK-Sv#_f-6+Zjxv?u=3z{0G;>f88G@;-Q_|NE5}eJ5g_u8n}u2phCqT@7`iGL ze$SvMQ&li%0ieg@v8GMAXGgwyGD~i)le@?9ac0ayV-Z`Yg>`G;y?PqFei7VXd$&60 zEH*ZQ)mmn2+H=qCT(h($l|8A=qt>3*#w42@CF4;xRkNuYkB*q4)XsDk7>zsWxW3NZ zRqCuFYaVDbcig&@$~r2oac&%iQzf@1xuZq;s0-aq5f%27jg?3h1i5j>3#Omt?yWAm zJ4 ;ETr zW!Qa~73d@;#(dugDMp?+k<=z=R8X4$pdsI601b^QNfPjAQm{DZ5M^@ChX5LBAOT2H zVR%n@5`accs6Mz5(gI%+AdPSUppnDi_po`X+PIH&Ur0Vv0GEUJ-Sa%#wte6KlK@&~ z93;y6fO!a@J GmTQ*8zaG`YAf_ZcLX#t`gs* zT9FXOB&A^(0|1R78TE{4ZFxeM+8@uSoFUqCC-V;gw3t_Z9!Ud0gFzFvBmPSP8rV}= z6d1^D%7i*-nv12}z{Q9`QxhHH=EE4u1UJ{REC?1|*THHJ;V~6=ct|c F0iXJKFg<&b7x LPB-tjgjn4a*`a@;HtJ_>Q9>i38hG+pd_+tFFu1Hf@@uX_BtX z#BP%}bq0VQa@Y6Frp{K&wk+bROlGrov6!uv-D2L%n{rkci>_QRn$^7CEZg w0Z3g} z0!GUKy4?R2#h(G7d+@pgmERIT54baSfuxI~!fsJinYhNxG;R5Pp{ExeB4Z5HHBAL3 zE{XyHnXwXG1*r#$4MWCxfGvsxF^$nPXc<7~dD?^c9a2xzGz>%Z(J(9^R0ojFd4P!- z#(W-nVI+P7=Ez12q-Wxmp>9+|iX_xafx|13&J{o(jW2WmqR23F@C=I!`aFd4bRv~S z0RqqnAf6(lDDr)u05s$b2FPR|08IuXefi$u_Q?ZAXq(aiTv)lu3>q!pQ&*d8$a(`d zG2!HSVo(pt3~kdib<@<55;Ib;gn;QoZ&4$%L@A_9f(s*_^f3a^q{874bZkmC2*?^Z z0cc1(%wf>!sDtAOD+fA@>IOqSh*nepwWU1eMico9qcYd^JtEOQ3&g}>$Oiy=x7%Cl z$ipQXp+Nnn(NG+xQdkUVXi^H3F1uNrJR Q+|5E&o0@;jri(Tdi!>M=T33&Zhr4>`rv;4+H3j4H`2G>jNf_~ zzWrA4=xz4)JNySfD&BpseD8zoqmScHK8-&4#Q*dY|MSm+pL`m8^~?0jFZr*29sKlX z+Hd~G{`-GofA^2dzx<2x`>%iV +Be`YzO@k5>2>y5O7V6VqOHGWt4o#qyGW`y)#4hEg3xv z!(`tAafW>~?-Rt_&Eg>DE+qzcMkax4AQ>X%>M?I;(d^k8jG)^pO+rsF=-vXFIR Bemgh MnGp|J^# }ETemC z|Nb$1 ddx2>W0UG9HJcSYiv`gQI18ghY+(pHVuF=26t- _Is1C%`bX_OFEhj@h zM2gY*4kE8Dk?1olvMGm`2VR7{an`>ddIp&OlK}eY=m;eGdjL&OFFoXP48rsn4-Qeh z9FP?%il-Ch2bCfz89llXeR4ce?{8Dj!HIOPTspmsG>1gVsA32l<_6sovPkrXJ%C1k z4WmMs63@D-ZHhP!ecwgrZd%SEfF^Z%FGa;9G IV;wSX3>>(5m$LMtBbbG@+`{IFo{_d zigKgS54r2uTHRy-(BRHQqU$QH%A_ijEafb)eb0pLb6Lbm927;?b r*0L8v8nUA%3$>j1}&R8=XqY1W!3*30%+JflbtUNX^B0-)|f1LQ9YT2QiWlgd h@uF262nEg*Wy}O nE%?)DTen8H45l4?VH
l<-$8j$NdrzA z$jd|+%95mAi|-p?&TN`GP=-*8EMxa!w;_m!VQ7|R^pj$}M%U|gj$?VA_{if$0Gbpt zs=q9(NPi>cnIs# vp1EoJ^7lWPoQ2wb3j1S;`d0? bd96S>0q!o3~viwl;2>sA+i9 zvZnRBnZH=_<(e&4{&FqMpU=+1vy1fnGP!XhxqUmmdoQ{7O8m-$=#>Z2g9qX3Z^Umt zjNf_`zWok=^ltEjAMqc)mwfPk{lWX?k3Zxef9ikwh4<+f-e*5ypZ_HM#V_(-{38G5 zFS6hLHvcdG5dH3Nm4Er4%0K**^7S7+{Ns~{zyId;H&4(1xSc)TmfLN!-OdDbesZ>b ze7SvmWBd4G`{YE#d~f^wU2B2o05n*0Z=ItZGH6&y13-g5Tc-LF=Nq8XM41Nx$535U zBMkkFK}#0U WX=o|WBA_~{L0vx(j!2QIKYm{qM2wiVglD-o*6MGjePROL5YzG z(ttiwDL~Hzpj}JlzLh7eDU%}Q5p#f^nPUXDzBhsn%Or@HBd*92UQMh$fR;4lo#57W z;YvdOqiIPR63ZeLbO2Hh5)d5;32q9IWJC;QBJ(43PGmYERZqB*puYitmZt%!6!a6+ zOHmpU`cgp9kUbE2*5%1r5q<6hyN|Dt6x?k(osP$2!!Xb#;1a09FA7jQ%fkj5InV?E zlyZW(RC9`<018637?U6q`SK4DGp0wsJ%GNp0(6ZugrFEXK$nbw7=ZPzV0NP^Rnr86 z*42sln0+!Cbyc26UK2YP%lP&>zP$*~>fogGt~&R@Y54Fee*GeNu<`G&gI8wZ+Sikj zl1;{qWtPS?H%6VWUzL2tj8Z?!CP(RHoKB{tZgh^Fs-r{|UN~R@UAp7Knam@*vPUPW zdy@D!+Vs|}I8FmN+$d} G zi(tHov}3NWgUK;hm)_CBJvxr{CD(+P59_FL#&c#Kr~YM~+@6;+ZkLYACxS#rs?u?D zlLyBITf|OjiIlU@S|)DGjE-5kHA&1#W~;evRG!@gZepn3k>V;!s!o>NTSr0TTXkSn z%npsIsVLq=DSW#QtkRusQtL+R- =5U1VI>vM1EzaEL%Xs@x?%^rd RAPfL4_ZM_&jET>{;q?XL1#ny>W}f5OLN_p{o;l&>I5H=(F%G9nqK^xE zn%m=L=G<6D>&9NTj_<4ez*cyuFig95vLQZ&LFoX{aJ(S{X!I}CIifOj`7-n&c@E2Q z+ztR}YJ6NH{mS=(x*^I_?iYl?k-cNkGISn pkBYT4xpyvTxCSE* ;zp17{g4|H%Y$VmUk-?W~>&K>x>ezag&d|B4F^`S~RNOV8WjD80OR&gG-@^bP`Y z8j^vO55*wa;9PlE&IjR_pF2oHB_8HO?<{?sLFUh5daMV~5KTegxvr3 s!s;;sq z;;w6>xds-{_;>}jhcM=Vc$6I!$UPLK98nedy+-BH8meYYRXvQOI87My1s@FkA{XY* z1fcUQN)sN%K^XZV U@u$)81-3&9fv+WAQ6IZwMpb zqR5J(fB|$>Reu41CS*z6nF5ET^+f !Gg_gO;vcTn;>_>`kF}M$mMR zP^g?O!lVo%+d&b~3~APl?h$ #LP z&blrJlbR+xj)Fv+rY-|$@&dQ_9rVonnRqv;WTX-kSdi(nte3thOiCRd00P7il2G#o z#bL-Z7<0)rK>`c}P%bj3F^CxW`=0CfPL(*5y>P%O2gMME##9QPWZ5DI-dj)#9qkhc z4>r#+=pH}=J@;-mgwGA4&pm)n1$~|+J%HwI$J;LGW^BG-%QahV#I`;TPEYyyd31i6 zU0kI%Z^pOpM0a1|uRP%QU*!*83m?47UwfUu`7nO_QS#^q;k!SI-}`a$;fL8rKQ2G~ zAph})!6%>lpZ?7I?C1XHU-B=$jDPy`
|`Y8HTWc7L$aSJd}kvDXi3mKtw`-$~c2424petG1-O5T@Jz|WJwm2 zupZ3vkur+h2w@OwAgn_O038(#*X4c!of-9HlsR(4-0A+Sa7wlN %y~I_! zu4|g6rfJjZ6plWLO;7{Ugs>d5FCB5${Nk!n`D?ppxe=(LC?mR$ln<^AXHiR1;~W+- z$bXPva1 l1i(smLqS#3)tx_RP1BB!6ib_Ap<9IJ>5N}={z+vY7w)F8 zP73`}FjMEXbN{sy_F(DXuKf+u;@&B9G!llui7K3I+-l-AH!EWV3+U)bDKvHA3q;%b zMrn oa#eNq^SJ001BWNkl U}!T z0 wM!h=f`QV4DH&PMia$Xglmr6K57CzvqrJ5wA{>{Y31vcZ|06x`%cIG zmU*@B6pkILQ&&;^(NQ>=G`_Ql{5G%~-zZ#_tHMvTqbP-~)t+8j<1UySr}|l;T~x+Z zXWy7P7qxbhkI(YSNj6=l(`9CD`q5Vu_CDX47}kkTwnE_tSsq5xE9`k5ETA#I1yr&u zixe74ImiLK_#H4-c~=J3dqsce3}kPvB{X~3T$7&=sA#~xAip$q58z8gn{$o T7SIE*IAAC;E!__) V21^W=*`Jemxk{X|UGEnb; zFK@iSb$v%D58B956>d)V0D2URl++j{hB8mAo2z);*z?-*ys7Qzz5EycorQmVTTICb zitQm{zYc*N>}TnOSs#7wW81cjP)YD2KqP1YpwaSZWNKmAq=nE7 qehlqVG`KbEu% z!?pPM|0I&|@t+mA7A0RBDRbmO0{PHO!UUaR`1~K<{Q2JlK+_ZW@&LUTa)3@5Jj@h7 zfZDW6?-5eUqC-BH(#wSo!h bhQE{4Z!SNyhjhS7VXGL#??uKxQjANiZ(%gWmiFrW)=$-G{n3aVve *)2LUnT*<|ibAh9+~KQPc05ZrT?PQXnq}*G4gkGqleUPO zeCK~-)})Ir@9M0r(jpb#hgDfzrcrP5EWCoi2s(}e-!nOL$|`BQqN<{*ii(041+S~L zZSuNG^DGRx8%KVY3Ww3_)$G>Ii_LmoS6QAVv#t^5&x^LJv#!pTvud+!Z(W@V0NwlI zm~~ZC=Vc)rJy%sx*X3;1u2u`-k)tYLp HUm4rhdaWU*KXnJ1$?=~s9mk3(UZA(lN7?#S>5zi|EI zExdUM&l`KU9 M1H$Qu44~=2^EXR)OF#>dtvUf{ zg6woI0>}YMvT*0o|4{|V`3CecSvMGHH9*ya+cy|p?sdi8f2csvKcOs9{vghv%$hc( zU82u`8@*{A)V!hoxp)5dtpGFuf )^`MW 1n`t-B-v!8{Z|B`+2EB=#T z#lQZ~vtRwX_}kxwzx%E7KmNP&Z~ywicKg~NzL{^gt3Ny~9&g*H+xE$}{pNAA-S)Wo zNpJi7 4&t31D<9inz-zgUyu4B251q|IA>pbUw19s5Qd*Kjk<;egVVf-GF zXqY+6zhKaZF*`QhFDiJ5p$B~VMGRVo)Q9MqV#pL40ReyebqnE+gUB-T%rx?|I7lNO z?xBfLBMpIOasW;Ksp%5n-=oT-EDj=n=Y@m2CN}W}S;~r-MZO(4V9=(R0FdZ293<^A z^fOIW#s@$-vQ!0e9t@-jxX5A=qI1_#_sf?NP9l0jau(8)Iwax?h@o972y#~L7$D6l z1_A2QD4+e{R!o^ (J)GCZI{9qb0S8I!@|<=@7-xiG nw51_+auwxgBvq{QuV6~W|~qMN^L7McP#9n{pm7LS4`_1v9@7l zDTTQM(4DW=&a^N`g*mPrfuU!Cah&?+Ww=Sa(i%q-C7LLiHL5%{wMLtQm7Z1yM&b4= zBHBjnJC$c=mYx_opH71DDAqML8AsD;W@^F$+SA!sEKV5oI6KwEnump Po7%YkbF>tQ4iEyWLfN&+R5)c_PGC{p_`#h^0_{!7XA!P|tF$aP%+=rm19vBSt59;hiygq<$-Fd#SJ%flpEQA7Hb1v1@AV$*aK zQjWYvSe6w80jAuD@exKj#E5wJN&ZL<_p$EljzJT@*pCOqB821?iS%-6cH0()c=#Bc zWS6LOZvj1-D$|K#YvYXBv7<8Wh)slpnsBN_n$ktajb(J)x%1Mr4MjJ`rlt0#* k_m(3L81!Bw3SW8 #95xUqtm58)7Xu*XtLy5 j&EQJ4!G!gzcgb_63%n!r_qI(U1?z^pVRi*+E zXRImt=^{UwXUDUA-3ree>v_JO=c`$^nq`YNnN>+w#!VT)4Rl+@WfnGNB9zjEm1$HY z!ubZaG~o#No++GZ^!%kPLo7ll)*&pDw#ngsnlmTQ!sVh_E!)$R6##UR3uEN2tyjx# zy_y}by7QCejf>-(mnWBJ>-D0Ux5a8+FXoM~fX>sZ%-dG@+$f5yZR^>rEz2C%h((z+ zZGpuM+otH+5-vFEs%V?4YwM;KKA`KWs7k@Id-^OE?yKv%H+&ZEq>2B^S`Y!~0ieV# z5lI F1U!yonvx_lTe%P7oXhzTiQW@lu{;_eGE9JF+hjkmUC;D< zi*cc$4d@$endM(Hns!|q>7TdB5NmRhZwJEAFpI`~4B>UO1{O<{TM3OrzlVnqLkZ|! zzy$~NTZ%+$&<#R6fTU9nbiWWIpNlZ*%&0uHWw8D*49V&U${3^&Bmns`#+*8)jpchs z!^6Fzb WEzJhChvSUiw227QCn4+6yU zt(VtXB{drXQm|>ffDCbzR6&d#P#L*s!V%OCgyU(rK>?YKz x3hP %k|`c+9;MOboh=l8iu+F3H2rCqmkzR{aM@0@Q) zw$J?XGP-dix_OJ=y3KCi4eq`Yyz+oOcrASO_2{)Xk~bb^58p1{dQ`ssjsVa <)GFY+(G%)a<#^3$)PFaHz&)o=XY{;l@k{#p6|{@<^*Pd|G6 z&8=^~ZnxXj@Bf%?x7||#pu5LU=1-okw%d!}e?1o_&%){%=$Y0b{N4xjcZog=3uveU zVhwrA0Dz`|?1h8EgqUUSd>E!=GH9l-XXyx&LG-hL1fYrG66Za{(1$U^pb0l4FtCg! z22IeJVh{jIj=2j4O{)}!fqh7ysZgpa0 p&!EGU zd*I-`7Y<=yF3iMw-~95gthQ1wLRJ#g-9psLGL*uQumq+Dc7i0AA(1IV6420tiF;D# zL@|)OG$NJIhOm`G{NeAQPa|}TYsZQN1DQ@je*mCK(95OJ_l$7fbZFB7-c3zP6&Uoy z@-FBw;g!K9P&b29Xy8Hm8I>qAAY>w!{-RP)u3VqPdvR?Vs)?MQU=3+1NVW&i{dZE@ zR2NR5#ouHy5qg8JW^s@)vrV0K;hfgaN#)#L$FH6x_cp=ph55?bd2Qprx(Z%f$9EdG zVn(4JrBeZ*GhM9OcbeFziG5jwciQ4sTW+GDGW1Lx%>(DMPHwd6Dsq}YZ<#TVgp=jk z)7!vo1G9A0dFZSXzp{l%a$yRG9y{CT%%8c_%24LsWag`@(A>oKCbkz$Z=7*yDy6Bk zt~j)gETHOC1(+VSo-lkCE;YpZhhiPV!W>ohWajC$HL1+;%vVoR_bm4}vEBKqKT;C& zDAbfi;x$YdK_{kI5i!=MnWd+u5ov0qseC#S=vf4&Y%&SPN@`3>N6qx3c&e1fs4~a7 zrZo1n^QNskI?b#*i||J4o|V&EbMw~Ryg4)OuDrX;;Ieg&OM6*(b>gJl3%T%H$5 w5LK@)%`BWUrtS?~QB44QHn)D}06j>@Bb>QH3SE%zXZf5wdVERCKD zJSVh^z&=&K1Z^KhF+|6xhee-Dt${mEb)d!}>P=odP_)dK4`bw`hvAnq>Qc5GJc<3j7DA&;K44(DD;Yf{R`OdKxK)9y7#H0y#j5zh&S>=ME->UXmM$f@Z<88;UWTNc44|oz(K4#8@hFUig|jd_4MUbDJWIpg3rB+0|8_2z#bU`p zZ+rS;06kT8ZCa*L%-tR %VsH?)RjAvESlu?!QG84Wy$}DWF zv@YTz + zy2 `Zp z2Ihw*=LG%HVlr`tUW#}$ApP!v`wLeWl-nQ8CFe{>DMJe2c95|)>X7Go9LJvLK?k4_ zAKqfqG)Z$K#rQ7<&`={GDs3AC5_Z(S*CqU08P@5tojC;_HHh){|tqMB$OW-Q^*$3P$P*;keVb^=lu$V@VNoM z&n)Bwod+>^_%YnTqzm31ux3o#ke~G3p?=X$$?tOr09}-!*eX`mylTR_jhZg*x@102 z7K?Pgh}(|$uAhbTjm?^G)@1w4FE9DcoAIsN(cQcLy;uBu_k&j+@CUE$(DNG)v$q}< zZ~q{F^ltX(-Q)*9jDPrk^!|tGho5AhewKauS^D`G=}&)F{OsrT&%dm`{8jer-`cJ3oh&+Arc(vUgZ?~ttyXUT7c(C4X z#r9Ne-vj9H8i4M-arJA+_W&C78H1*44WfxGBS7fcG^W@n1_=l{%YkRO*%FSApW6-q zG@Ne`XqKro(cXcB4%(F&^Z-DU6X$_HXtIe0fR31xgdRDAPC`$(a_%jrQ97Y#EQ;t_ zs%xpJfMZT=W8ynHGO6;Y$>TV10$T@z?ma=9WfIg`wDZEzdxD00lfFI0tf0J+wmMK} z@qsh-&G^V2R04<@0x^zbEYU#nk!;om_yZ_` lmRpqM6es_Vg8BF#L(9ggQjsijq1@)lOiRL@F|k| zatyNx#1QqMZUzbHeo+pj$|Ebv0Vh&2xov4+PmzDJZbShnLsCBEa#8xAs$>BTFI~De z)zpa$2*xADP>&LBu4;bPva`lJt(^zw`FjtR@4iw$yog^vWA9w0@7-?RyFGt+QeKt8 zn%i?vugpnhPUgOGyNzbvQEQKHRPnt`Y) z&ZVQ)p1z3O(wY?JC^wEyGViJmH?h6u<|ee3f!aBv)}1VvzKQMQ#1V%g3*iORTX!-K zv~^_718vET)66?b-F56PLwmt30O-;hm)5v;rj0E&SXD2%AyP(G?TjN$0BH9}Nv(0i z%+wmE)--pt+%`(r$}BT6b{5cX?`OjuO_-|sqa#OAGIM;K2A5@Yp7Yk8R>o+>tWD%L z&Uh1>cNg)knSa$9=hfsmQ!eW1gA@M7d3JlrPAcbO7S9Vm=Z^R$LyRyP;}INj(5p%` z5D3`!efd)Wgt7J-X=#L62kTlK0@gu{44@H)2WQHMd?;hYOX{-hc|(o_Xx`7{3!7+C z=w(xAT2>yKJ={Rkg(E=pS=KB`KH$m6+u^!y7>3a4!Njo|JBB@jOMdw-iQ<6>mE)0v ze7{Ht(|7;@iXQ-ISu=)g1XC~!1Mew*57{F65t7~{Pl!8HfB>}Y0~%g9JP+#uJ`>Aw zZ_=+QrNXxfL2Acyeb$@lnX09a(|#S!(3r;hlueERpi56Zt~>#tGqWlDATTubNY} -USd2rnEWxcd{1m@qa#H4u#v!Xdz-79hzC6L?ra<6P<^&_3vr_Qlb1h(an8 z -Lj~an8rw3!; zszpvoY3M9`ON19^P#LNc;;DP08d805UC4Z32YpDHUlj8#`SQz?T}zokldnBQkptp9 z*d>eL?*TOKwfu``Nsd97lp;DLKXvqS$w%o#dgSDz^66MMla9)P!*T}?s+{=G3RA5H z0c7%`c8~?W+?{zo<6#V$#+Yy0CJUU+dOqu_BxXV2>AH%APXM6%o?QTFnL)d*a8iW+ z0={mc0MIJC)KSVaa3oTw=9;EW)G3d`D2W3uiU>oNr6IOFi{u3W;bWHowD|7!zy*go znOdfv$2 0=mptp7=!?)I~gNaxA(7 z0G-4P{x^W3<0x<)J oN7hX6nPFGjwo72^7R%Kb}7ct8dv4M1R=86TAT%#zH<*J)6nySvKIwS79ShkC0 z+s(x4kzHHXRn~)hu`=Oe-p#rOM$lDNl;yKk2g|bDA>gtQHqwPKg(esZtqBSe!O9l} z2qjbCMJZ(_i!?=10CAROnIws-s-EY)96&S1;y4Dd&a$j5%U;oX4nUI~^Z-D6z7;Sh ziUavw*egE{nKR=#2YrTzao=~birvm(x^Nn1Ba-6b*<X#9~D{PwP!2B8Ro2l0( zjRM^_di-mDaU!jQ4N2P%#vRxz^sa%(-;OYlppBL&>}8i&gm7 !JxO>lP8Zi+wJ+2#~TrNy6Iu`yhqRFcANKGx$RA) zp9*aK9V4)R