From 475b394105cfce6198c0495a541fb34237354fb5 Mon Sep 17 00:00:00 2001 From: Raony Marcondes Date: Wed, 30 Jan 2019 11:52:53 -0200 Subject: [PATCH 01/10] Add .gitignore --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9a2a2fa --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +## OS Files +# Windows +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ + +# OSX +.DS_Store From fa57e268aeb08d239b5dc3d862664b1d667a7707 Mon Sep 17 00:00:00 2001 From: Raony Marcondes Date: Wed, 30 Jan 2019 11:54:20 -0200 Subject: [PATCH 02/10] Setup inicial --- archetypes/default.md | 7 + config.toml | 80 + content/about/_index.md | 15 + content/posts/creating-a-new-theme.md | 1137 +++++++ data/mes.yaml | 12 + themes/coderockr/layouts/404.html | 18 + themes/coderockr/layouts/_default/list.html | 30 + themes/coderockr/layouts/_default/single.html | 55 + themes/coderockr/layouts/_default/terms.html | 28 + themes/coderockr/layouts/index.html | 15 + themes/coderockr/layouts/partials/disqus.html | 13 + themes/coderockr/layouts/partials/footer.html | 15 + themes/coderockr/layouts/partials/head.html | 31 + themes/coderockr/layouts/partials/js.html | 25 + .../layouts/partials/latest-posts.html | 11 + themes/coderockr/layouts/partials/nav.html | 17 + .../layouts/partials/pagination.html | 18 + .../coderockr/layouts/partials/post-list.html | 22 + .../coderockr/layouts/partials/profile.html | 11 + themes/coderockr/layouts/partials/share.html | 9 + themes/coderockr/layouts/partials/social.html | 20 + .../layouts/partials/twitter-cards.html | 46 + themes/coderockr/layouts/section/about.html | 19 + .../coderockr/static/css/font-awesome.min.css | 4 + themes/coderockr/static/css/highlight.css | 99 + .../static/css/monosocialiconsfont.css | 25 + themes/coderockr/static/css/style.css | 934 ++++++ themes/coderockr/static/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../static/fonts/MonoSocialIconsFont-1.10.eot | Bin 0 -> 146870 bytes .../static/fonts/MonoSocialIconsFont-1.10.otf | Bin 0 -> 349816 bytes .../static/fonts/MonoSocialIconsFont-1.10.svg | 1013 +++++++ .../static/fonts/MonoSocialIconsFont-1.10.ttf | Bin 0 -> 146660 bytes .../fonts/MonoSocialIconsFont-1.10.woff | Bin 0 -> 62240 bytes .../static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../static/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes themes/coderockr/static/fonts/icons.svg | 18 + themes/coderockr/static/fonts/icons.ttf | Bin 0 -> 5812 bytes themes/coderockr/static/fonts/icons.woff | Bin 0 -> 3664 bytes themes/coderockr/static/images/avatar.png | Bin 0 -> 32806 bytes themes/coderockr/static/images/favicon.png | Bin 0 -> 329 bytes themes/coderockr/static/images/oldAvatar.png | Bin 0 -> 3094 bytes .../coderockr/static/images/oldAvatar@2x.png | Bin 0 -> 8704 bytes themes/coderockr/static/js/highlight.min.js | 3 + .../coderockr/static/js/jquery-3.3.1.min.js | 2 + themes/coderockr/static/js/jquery.tagcloud.js | 92 + themes/coderockr/static/js/main.js | 36 + 49 files changed, 6551 insertions(+) create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content/about/_index.md create mode 100644 content/posts/creating-a-new-theme.md create mode 100644 data/mes.yaml create mode 100644 themes/coderockr/layouts/404.html create mode 100644 themes/coderockr/layouts/_default/list.html create mode 100644 themes/coderockr/layouts/_default/single.html create mode 100644 themes/coderockr/layouts/_default/terms.html create mode 100644 themes/coderockr/layouts/index.html create mode 100644 themes/coderockr/layouts/partials/disqus.html create mode 100644 themes/coderockr/layouts/partials/footer.html create mode 100644 themes/coderockr/layouts/partials/head.html create mode 100644 themes/coderockr/layouts/partials/js.html create mode 100644 themes/coderockr/layouts/partials/latest-posts.html create mode 100644 themes/coderockr/layouts/partials/nav.html create mode 100644 themes/coderockr/layouts/partials/pagination.html create mode 100644 themes/coderockr/layouts/partials/post-list.html create mode 100644 themes/coderockr/layouts/partials/profile.html create mode 100644 themes/coderockr/layouts/partials/share.html create mode 100644 themes/coderockr/layouts/partials/social.html create mode 100644 themes/coderockr/layouts/partials/twitter-cards.html create mode 100644 themes/coderockr/layouts/section/about.html create mode 100644 themes/coderockr/static/css/font-awesome.min.css create mode 100644 themes/coderockr/static/css/highlight.css create mode 100755 themes/coderockr/static/css/monosocialiconsfont.css create mode 100644 themes/coderockr/static/css/style.css create mode 100644 themes/coderockr/static/fonts/FontAwesome.otf create mode 100755 themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.eot create mode 100755 themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.otf create mode 100755 themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.svg create mode 100755 themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.ttf create mode 100755 themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.woff create mode 100644 themes/coderockr/static/fonts/fontawesome-webfont.eot create mode 100644 themes/coderockr/static/fonts/fontawesome-webfont.svg create mode 100644 themes/coderockr/static/fonts/fontawesome-webfont.ttf create mode 100644 themes/coderockr/static/fonts/fontawesome-webfont.woff create mode 100644 themes/coderockr/static/fonts/fontawesome-webfont.woff2 create mode 100644 themes/coderockr/static/fonts/icons.svg create mode 100644 themes/coderockr/static/fonts/icons.ttf create mode 100644 themes/coderockr/static/fonts/icons.woff create mode 100644 themes/coderockr/static/images/avatar.png create mode 100644 themes/coderockr/static/images/favicon.png create mode 100644 themes/coderockr/static/images/oldAvatar.png create mode 100644 themes/coderockr/static/images/oldAvatar@2x.png create mode 100644 themes/coderockr/static/js/highlight.min.js create mode 100644 themes/coderockr/static/js/jquery-3.3.1.min.js create mode 100755 themes/coderockr/static/js/jquery.tagcloud.js create mode 100644 themes/coderockr/static/js/main.js diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..92d7141 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,7 @@ ++++ +title = "{{ replace .TranslationBaseName "-" " " | title }}" +date = {{ .Date }} +tags = [""] +categories = [""] +draft = false ++++ \ No newline at end of file diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..13498a6 --- /dev/null +++ b/config.toml @@ -0,0 +1,80 @@ +# Site settings +baseurl = "blog.coderockr.com" +languageCode = "pt-br" +title = "Blog Coderockr" +theme = "coderockr" +googleAnalytics = "your_google_analytics_id" +# Set the value to true if your site include CJK (Chinese, Japanese, and Korean languages) characters +hasCJKLanguage = false + +[params] + author = "Coderockr" + siteCoderockr = "coderockr.com" + description = "Site Description" + bio = "Nosso desafio é transformar suas ideias em aplicações inovadoras." + + twitter = "your_twitter_id" + facebook = "your_facebook_id" + + enableRSS = false + enableToc = false + + enableDisqus = false + disqusShortname = "your_disqus_short_name" + + enableSummary = true + # Set the value to true if use description in post front matter replace content summary + useDescriptionReplaceSummary = true + + + enableGoogleAnalytics = true + enableBaiduAnalytics = false + # Set the value to your baidu analysis code if you want to use baidu analytics + baiduAnalytics = 'your_baidu_analysis_code' + + enableTwitterCard = true + # The url for twitter card image, default is avatar.png in static/images directory + twitterCardImage = "" + + # Add custom assets with their paths relative to the static folder + customCSS = [] + customJS = [] + + # The variables below are optionally too and can be used to + # translate or customize each string of the theme. + + # Navigation links + home = "" + about = "" + archive = "" + subscribe = "" + + olderPosts = "" + newerPosts = "" + copyright = "" + + # show latest posts in single page + showLatestPosts = false + readMore = "" + + # Share + enableShare = true + tweet = "" + share = "" + + # 404 page + title404 = "" + subtitle404 = "" + + # Choose a font for the social icons in the footer. Either "mono-social" or "font-awesome" + iconFont = "font-awesome" + # The social icons can be styled differently if you use mono as font - circle, rounded, or empty + socialIconStyle = "" + + +# Add additional social link entries underneath +[social] + globe = "http://www.coderockr.com" + facebook = "https://www.facebook.com/coderockr" + twitter = "https://www.twitter.com/nodejh" + github = "https://www.github.com/nodejh" diff --git a/content/about/_index.md b/content/about/_index.md new file mode 100644 index 0000000..dee2113 --- /dev/null +++ b/content/about/_index.md @@ -0,0 +1,15 @@ ++++ +date = "2015-06-20T14:02:37+02:00" +title = "Sobre" +hidden = true ++++ + +Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa ullam earum dolorum! Sed, perspiciatis. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit. + +*** + +### Lorem ipsum dolor. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea dicta corporis ad inventore itaque impedit dolor atque amet exercitationem! Veniam qui voluptas maiores vel laudantium necessitatibus, velit ducimus! Iste hic facere, accusamus fugiat enim facilis. \ No newline at end of file diff --git a/content/posts/creating-a-new-theme.md b/content/posts/creating-a-new-theme.md new file mode 100644 index 0000000..e96ddcd --- /dev/null +++ b/content/posts/creating-a-new-theme.md @@ -0,0 +1,1137 @@ +--- +author: "Michael Henderson" +date: 2014-09-28 +linktitle: Creating a New Theme +menu: + main: + parent: tutorials +next: /tutorials/github-pages-blog +prev: /tutorials/automated-deployments +title: Creating a New Theme +description: This tutorial will show you how to create a simple theme in Hugo. +weight: 10 +--- + + +### **Introduction** + +This tutorial will show you how to create a simple theme in Hugo. + + + +I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I'll explain how Hugo uses templates and how you can organize your templates to create a theme. I won't cover using CSS to style your theme. + + +We'll start with creating a new site with a very basic template. Then we'll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites. + +In this tutorial, commands that you enter will start with the "$" prompt. The output will follow. Lines that start with "#" are comments that I've added to explain a point. When I show updates to a file, the ":wq" on the last line means to save the file. + +Here's an example: + +``` +package main + +import "fmt" + +func main() { + fmt.Print("Hello") +} +``` + +> There are a few concepts that you need to understand before creating a theme. + +### Skins + +Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors. + +You have two ways to create a skin. The simplest way is to create it in the ```layouts/``` directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the ```layouts/``` directory so it will always find the skin. + +Your second choice is to create it in a sub-directory of the ```themes/``` directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it? + +The difference between creating a skin in ```layouts/``` and creating it in ```themes/``` is very subtle. A skin in ```layouts/``` can’t be customized without updating the templates and static files that it is built from. A skin created in ```themes/```, on the other hand, can be and that makes it easier for other people to use it. + +The rest of this tutorial will call a skin created in the ```themes/``` directory a theme. + +Note that you can use this tutorial to create a skin in the ```layouts/``` directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme. + +### The Home Page + +The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html. + +### Site Configuration File + +When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it. + +Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your ```content/``` directory and template files in your ```themes/``` directory. It will create HTML files in your ```public/``` directory. You can change this by specifying alternate locations in the configuration file. + +### Content + +Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML. + +#### Front Matter + +The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “`+++`”, YAML by “`---`”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON. + +The information in the front matter is passed into the template before the content is rendered into HTML. + +#### Markdown + +Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file. + +### Template Files + +Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it's published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use. + +There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template. + +Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site. + +Please note that you can use the front matter to influence Hugo’s choice of templates. + +#### Single Template + +A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template. + +#### List Template + +A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups. + +The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site. + +#### Partial Template + +A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template. + +## Create a New Site + +Let's use Hugo to create a new web site. I'm a Mac user, so I'll create mine in my home directory, in the Sites folder. If you're using Linux, you might have to create the folder first. + +The "new site" command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file. + +``` +$ hugo new site ~/Sites/zafta +$ cd ~/Sites/zafta +$ ls -l +total 8 +drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . +drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes +-rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static +$ +``` + +Take a look in the content/ directory to confirm that it is empty. + +The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That's a topic for a different tutorial, so please ignore them for now. + +### Generate the HTML For the New Site + +Running the `hugo` command with no options will read all the available content and generate the HTML files. It will also copy all static files (that's everything that's not content). Since we have an empty site, it won't do much, but it will do it very quickly. + +``` +$ hugo --verbose +INFO: 2014/09/29 Using config file: config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] +WARN: 2014/09/29 Unable to locate layout: [404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 2 ms +$ +``` + +The "`--verbose`" flag gives extra information that will be helpful when we build the template. Every line of the output that starts with "INFO:" or "WARN:" is present because we used that flag. The lines that start with "WARN:" are warning messages. We'll go over them later. + +We can verify that the command worked by looking at the directory again. + +``` +$ ls -l +total 8 +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes +-rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts +drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static +$ +``` + +See that new public/ directory? Hugo placed all generated content there. When you're ready to publish your web site, that's the place to start. For now, though, let's just confirm that we have what we'd expect from a site with no content. + +``` +$ ls -l public +total 16 +-rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml +-rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml +$ +``` + +Hugo created two XML files, which is standard, but there are no HTML files. + + + +### Test the New Site + +Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the "server" command. If it is successful, you will see output similar to the following: + +``` +$ hugo server --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] +WARN: 2014/09/29 Unable to locate layout: [404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 2 ms +Serving pages from /Users/quoha/Sites/zafta/public +Web Server is available at http://localhost:1313 +Press Ctrl+C to stop +``` + +Connect to the listed URL (it's on the line that starts with "Web Server"). If everything is working correctly, you should get a page that shows the following: + +``` +index.xml +sitemap.xml +``` + +That's a listing of your public/ directory. Hugo didn't create a home page because our site has no content. When there's no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser. + +Let’s go back and look at those warnings again. + +``` +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] +WARN: 2014/09/29 Unable to locate layout: [404.html] +``` + +That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial. + +Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page. + +I like that the verbose flag causes Hugo to list the files that it's searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we'll cover later that explain the names and paths. For now, just remember that Hugo couldn't find a template for the home page and it told you so. + +At this point, you've got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it. + +## Create a New Theme + +Hugo doesn't ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes. + +We're going to create a new theme called "zafta." Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional. + +All themes have opinions on content and layout. For example, Zafta uses "post" over "blog". Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do. + + +### Create a Skeleton + +Use the hugo "new" command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out. + +``` +$ hugo new theme zafta + +$ ls -l +total 8 +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes +-rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts +drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public +drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static +drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes + +$ find themes -type f | xargs ls -l +-rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html +-rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml +$ +``` + +The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype. + +Please take a minute to fill out the theme.toml and LICENSE.md files. They're optional, but if you're going to be distributing your theme, it tells the world who to praise (or blame). It's also nice to declare the license so that people will know how they can use the theme. + +``` +$ vi themes/zafta/theme.toml +author = "michael d henderson" +description = "a minimal working template" +license = "MIT" +name = "zafta" +source_repo = "" +tags = ["tags", "categories"] +:wq + +## also edit themes/zafta/LICENSE.md and change +## the bit that says "YOUR_NAME_HERE" +``` + +Note that the the skeleton's template files are empty. Don't worry, we'll be changing that shortly. + +``` +$ find themes/zafta -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html +$ +``` + + + +### Update the Configuration File to Use the Theme + +Now that we've got a theme to work with, it's a good idea to add the theme name to the configuration file. This is optional, because you can always add "-t zafta" on all your commands. I like to put it the configuration file because I like shorter command lines. If you don't put it in the configuration file or specify it on the command line, you won't use the template that you're expecting to. + +Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format. + +``` +$ vi config.toml +theme = "zafta" +baseurl = "" +languageCode = "en-us" +title = "zafta - totally refreshing" +MetaDataFormat = "toml" +:wq + +$ +``` + +### Generate the Site + +Now that we have an empty theme, let's generate the site again. + +``` +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 2 ms +$ +``` + +Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme's directory. + +Let's check the public/ directory to see what Hugo's created. + +``` +$ ls -l public +total 16 +drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css +-rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html +-rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml +drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js +-rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml +$ +``` + +Notice four things: + +1. Hugo created a home page. This is the file public/index.html. +2. Hugo created a css/ directory. +3. Hugo created a js/ directory. +4. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn't create any pages. That's because it considers a "page" to be a file created directly from a content file. It doesn't count things like the index.html files that it creates automatically. + +#### The Home Page + +Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo's warning message shows that it looks for three different templates: + +``` +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] +``` + +If it can't find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed. + +When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page. + +``` +$ find . -name index.html | xargs ls -l +-rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html +$ +``` + +#### The Magic of Static + +Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are. + +Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo's opinion is that you'll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don't like that, you can change the directory names in your theme directory or even delete them completely. Hugo's nice enough to offer its opinion, then behave nicely if you disagree. + +``` +$ find themes/zafta -type d | xargs ls -ld +drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta +drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes +drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts +drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default +drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials +drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static +drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css +drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js +$ +``` + +## The Theme Development Cycle + +When you're working on a theme, you will make changes in the theme's directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy: + +1. Purge the public/ directory. +2. Run the built in web server in watch mode. +3. Open your site in a browser. +4. Update the theme. +5. Glance at your browser window to see changes. +6. Return to step 4. + +I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes. + +Check the main Hugo site for information on using Git with Hugo. + +### Purge the public/ Directory + +When generating the site, Hugo will create new files and update existing ones in the ```public/``` directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it. + +Note: If you're building on an SSD, you should ignore this. Churning on a SSD can be costly. + +### Hugo's Watch Option + +Hugo's "`--watch`" option will monitor the content/ and your theme directories for changes and rebuild the site automatically. + +### Live Reload + +Hugo's built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, "Wow, that's totally amazing." + +### Development Commands + +Use the following commands as the basis for your workflow. + +``` +## purge old files. hugo will recreate the public directory. +## +$ rm -rf public +## +## run hugo in watch mode +## +$ hugo server --watch --verbose +``` + +Here's sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I've said this before, it's amazing. + + +``` +$ rm -rf public +$ hugo server --watch --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 2 ms +Watching for changes in /Users/quoha/Sites/zafta/content +Serving pages from /Users/quoha/Sites/zafta/public +Web Server is available at http://localhost:1313 +Press Ctrl+C to stop +INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB] +Change detected, rebuilding site + +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 1 ms +``` + +## Update the Home Page Template + +The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme's layout/ directory: + +1. index.html +2. _default/list.html +3. _default/single.html + +We could update one of the default templates, but a good design decision is to update the most specific template available. That's not a hard and fast rule (in fact, we'll break it a few times in this tutorial), but it is a good generalization. + +### Make a Static Home Page + +Right now, that page is empty because we don't have any content and we don't have any logic in the template. Let's change that by adding some text to the template. + +```html +$ vi themes/zafta/layouts/index.html + + + +

hugo says hello!

+ + +:wq + +$ +``` + +Build the web site and then verify the results. + +``` +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +0 pages created +0 tags created +0 categories created +in 2 ms + +$ find public -type f -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html + +$ cat public/index.html + + + +

hugo says hello!

+ +``` + +#### Live Reload + +Note: If you're running the server with the `--watch` option, you'll see different content in the file: + +``` +$ cat public/index.html + + + +

hugo says hello!

+ + +``` + +When you use `--watch`, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it. + +### Build a "Dynamic" Home Page + +"Dynamic home page?" Hugo's a static web site generator, so this seems an odd thing to say. I mean let's have the home page automatically reflect the content in the site every time Hugo builds it. We'll use iteration in the template to do that. + +#### Create New Posts + +Now that we have the home page generating static content, let's add some content to the site. We'll display these posts as a list on the home page and on their own page, too. + +Hugo has a command to generate a skeleton post, just like it does for sites and themes. + +``` +$ hugo --verbose new post/first.md +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 attempting to create post/first.md of post +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md +ERROR: 2014/09/29 Unable to Cast to map[string]interface{} + +$ +``` + +That wasn't very nice, was it? + +The "new" command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there's a theme. For me, the workaround was to create an archetypes file specifically for the post type. + +``` +$ vi themes/zafta/archetypes/post.md ++++ +Description = "" +Tags = [] +Categories = [] ++++ +:wq + +$ find themes/zafta/archetypes -type f | xargs ls -l +-rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md +-rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md + +$ hugo --verbose new post/first.md +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 attempting to create post/first.md of post +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md +INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md +/Users/quoha/Sites/zafta/content/post/first.md created + +$ hugo --verbose new post/second.md +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 attempting to create post/second.md of post +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md +INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md +/Users/quoha/Sites/zafta/content/post/second.md created + +$ ls -l content/post +total 16 +-rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md +-rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md + +$ cat content/post/first.md ++++ +Categories = [] +Description = "" +Tags = [] +date = "2014-09-29T21:54:53-05:00" +title = "first" + ++++ +my first post + +$ cat content/post/second.md ++++ +Categories = [] +Description = "" +Tags = [] +date = "2014-09-29T21:57:09-05:00" +title = "second" + ++++ +my second post + +$ +``` + +Build the web site and then verify the results. + +``` +$ rm -rf public +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"} +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +2 pages created +0 tags created +0 categories created +in 4 ms +$ +``` + +The output says that it created 2 pages. Those are our new posts: + +``` +$ find public -type f -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html +$ +``` + +The new files are empty because because the templates used to generate the content are empty. The homepage doesn't show the new content, either. We have to update the templates to add the posts. + +### List and Single Templates + +In Hugo, we have three major kinds of templates. There's the home page template that we updated previously. It is used only by the home page. We also have "single" templates which are used to generate output for a single content file. We also have "list" templates that are used to group multiple pieces of content before generating output. + +Generally speaking, list templates are named "list.html" and single templates are named "single.html." + +There are three other types of templates: partials, content views, and terms. We will not go into much detail on these. + +### Add Content to the Homepage + +The home page will contain a list of posts. Let's update its template to add the posts that we just created. The logic in the template will run every time we build the site. + +``` +$ vi themes/zafta/layouts/index.html + + + + {{ range first 10 .Data.Pages }} +

{{ .Title }}

+ {{ end }} + + +:wq + +$ +``` + +Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between "{{" and "}}". In our template, the commands are: + +1. range +2. .Title +3. end + +The "range" command is an iterator. We're going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created. + +The ".Title" command prints the value of the "title" variable. Hugo pulls it from the front matter in the Markdown file. + +The "end" command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds "end." Everything between the "range" and "end" is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one. + +It's helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files. + +Build the web site and then verify the results. + +``` +$ rm -rf public +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"} +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +2 pages created +0 tags created +0 categories created +in 4 ms +$ find public -type f -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html +$ cat public/index.html + + + + +

second

+ +

first

+ + + +$ +``` + +Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let's take a moment to appreciate what we've done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you've learned everything you need to know to build a theme. All that's really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine. + +And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don't worry, though, that's all to come. + +### Add Content to the Posts + +We're working with posts, which are in the content/post/ directory. That means that their section is "post" (and if we don't do something weird, their type is also "post"). + +Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can't find one, then it will look in the _default/ directory. There are some twists that we'll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html. + +Now that we know the search rule, let's see what we actually have available: + +``` +$ find themes/zafta -name single.html | xargs ls -l +-rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html +``` + +We could create a new template, post/single.html, or change the default. Since we don't know of any other content types, let's start with updating the default. + +Remember, any content that we haven't created a template for will end up using this template. That can be good or bad. Bad because I know that we're going to be adding different types of content and we're going to end up undoing some of the changes we've made. It's good because we'll be able to see immediate results. It's also good to start here because we can start to build the basic layout for the site. As we add more content types, we'll refactor this file and move logic around. Hugo makes that fairly painless, so we'll accept the cost and proceed. + +Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you're building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That's a refreshing amount of joy right there. + +#### Update the Template File + +``` +$ vi themes/zafta/layouts/_default/single.html + + + + {{ .Title }} + + +

{{ .Title }}

+ {{ .Content }} + + +:wq + +$ +``` + +Build the web site and verify the results. + +``` +$ rm -rf public +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"} +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +2 pages created +0 tags created +0 categories created +in 4 ms + +$ find public -type f -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html +-rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html +-rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html + +$ cat public/post/first/index.html + + + + first + + +

first

+

my first post

+ + + + +$ cat public/post/second/index.html + + + + second + + +

second

+

my second post

+ + + +$ +``` + +Notice that the posts now have content. You can go to localhost:1313/post/first to verify. + +### Linking to Content + +The posts are on the home page. Let's add a link from there to the post. Since this is the home page, we'll update its template. + +``` +$ vi themes/zafta/layouts/index.html + + + + {{ range first 10 .Data.Pages }} +

{{ .Title }}

+ {{ end }} + + +``` + +Build the web site and verify the results. + +``` +$ rm -rf public +$ hugo --verbose +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"} +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] +0 draft content +0 future content +2 pages created +0 tags created +0 categories created +in 4 ms + +$ find public -type f -name '*.html' | xargs ls -l +-rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html +-rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html +-rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html +-rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html + +$ cat public/index.html + + + + +

second

+ +

first

+ + + + +$ +``` + +### Create a Post Listing + +We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let's make it show a list of all posts (not just the first ten). + +We need to decide which template to update. This will be a listing, so it should be a list template. Let's take a quick look and see which list templates are available. + +``` +$ find themes/zafta -name list.html | xargs ls -l +-rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html +``` + +As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don't have multiple content types, so let's stay consistent and update the default list template. + +## Creating Top Level Pages + +Let's add an "about" page and display it at the top level (as opposed to a sub-level like we did with posts). + +The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let's verify that by creating an "about" page at the top level: + +``` +$ vi content/about.md ++++ +title = "about" +description = "about this site" +date = "2014-09-27" +slug = "about time" ++++ + +## about us + +i'm speechless +:wq +``` + +Generate the web site and verify the results. + +``` +$ find public -name '*.html' | xargs ls -l +-rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html +-rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html +-rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html +-rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html +-rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html +``` + +Notice that the page wasn't created at the top level. It was created in a sub-directory named 'about-time/'. That name came from our slug. Hugo will use the slug to name the generated content. It's a reasonable default, by the way, but we can learn a few things by fighting it for this file. + +One other thing. Take a look at the home page. + +``` +$ cat public/index.html + + + +

creating a new theme

+

about

+

second

+

first

+ + +``` + +Notice that the "about" link is listed with the posts? That's not desirable, so let's change that first. + +``` +$ vi themes/zafta/layouts/index.html + + + +

posts

+ {{ range first 10 .Data.Pages }} + {{ if eq .Type "post"}} +

{{ .Title }}

+ {{ end }} + {{ end }} + +

pages

+ {{ range .Data.Pages }} + {{ if eq .Type "page" }} +

{{ .Title }}

+ {{ end }} + {{ end }} + + +:wq +``` + +Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it. + +But, that about page still renders to about-time/index.html. + +``` +$ find public -name '*.html' | xargs ls -l +-rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html +-rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html +-rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html +-rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html +-rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html +``` + +Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let's do it the hard way and change the permalink in the configuration file. + +``` +$ vi config.toml +[permalinks] + page = "/:title/" + about = "/:filename/" +``` + +Generate the web site and verify that this didn't work. Hugo lets "slug" or "URL" override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place. + +## Sharing Templates + +If you've been following along, you probably noticed that posts have titles in the browser and the home page doesn't. That's because we didn't put the title in the home page's template (layouts/index.html). That's an easy thing to do, but let's look at a different option. + +We can put the common bits into a shared template that's stored in the themes/zafta/layouts/partials/ directory. + +### Create the Header and Footer Partials + +In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme's presentation. + +``` +$ vi themes/zafta/layouts/partials/header.html + + + + {{ .Title }} + + +:wq + +$ vi themes/zafta/layouts/partials/footer.html + + +:wq +``` + +### Update the Home Page Template to Use the Partials + +The most noticeable difference between a template call and a partials call is the lack of path: + +``` +{{ template "theme/partials/header.html" . }} +``` +versus +``` +{{ partial "header.html" . }} +``` +Both pass in the context. + +Let's change the home page template to use these new partials. + +``` +$ vi themes/zafta/layouts/index.html +{{ partial "header.html" . }} + +

posts

+ {{ range first 10 .Data.Pages }} + {{ if eq .Type "post"}} +

{{ .Title }}

+ {{ end }} + {{ end }} + +

pages

+ {{ range .Data.Pages }} + {{ if or (eq .Type "page") (eq .Type "about") }} +

{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}

+ {{ end }} + {{ end }} + +{{ partial "footer.html" . }} +:wq +``` + +Generate the web site and verify the results. The title on the home page is now "your title here", which comes from the "title" variable in the config.toml file. + +### Update the Default Single Template to Use the Partials + +``` +$ vi themes/zafta/layouts/_default/single.html +{{ partial "header.html" . }} + +

{{ .Title }}

+ {{ .Content }} + +{{ partial "footer.html" . }} +:wq +``` + +Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file. + +## Add “Date Published” to Posts + +It's common to have posts display the date that they were written or published, so let's add that. The front matter of our posts has a variable named "date." It's usually the date the content was created, but let's pretend that's the value we want to display. + +### Add “Date Published” to the Template + +We'll start by updating the template used to render the posts. The template code will look like: + +``` +{{ .Date.Format "Mon, Jan 2, 2006" }} +``` + +Posts use the default single template, so we'll change that file. + +``` +$ vi themes/zafta/layouts/_default/single.html +{{ partial "header.html" . }} + +

{{ .Title }}

+

{{ .Date.Format "Mon, Jan 2, 2006" }}

+ {{ .Content }} + +{{ partial "footer.html" . }} +:wq +``` + +Generate the web site and verify the results. The posts now have the date displayed in them. There's a problem, though. The "about" page also has the date displayed. + +As usual, there are a couple of ways to make the date display only on posts. We could do an "if" statement like we did on the home page. Another way would be to create a separate template for posts. + +The "if" solution works for sites that have just a couple of content types. It aligns with the principle of "code for today," too. + +Let's assume, though, that we've made our site so complex that we feel we have to create a new template type. In Hugo-speak, we're going to create a section template. + +Let's restore the default single template before we forget. + +``` +$ mkdir themes/zafta/layouts/post +$ vi themes/zafta/layouts/_default/single.html +{{ partial "header.html" . }} + +

{{ .Title }}

+ {{ .Content }} + +{{ partial "footer.html" . }} +:wq +``` + +Now we'll update the post's version of the single template. If you remember Hugo's rules, the template engine will use this version over the default. + +``` +$ vi themes/zafta/layouts/post/single.html +{{ partial "header.html" . }} + +

{{ .Title }}

+

{{ .Date.Format "Mon, Jan 2, 2006" }}

+ {{ .Content }} + +{{ partial "footer.html" . }} +:wq + +``` + +Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn't. + +### Don't Repeat Yourself + +DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you're figuring that out, accept that you'll be doing some refactoring. Hugo makes that easy and fast, so it's okay to delay splitting up a template. diff --git a/data/mes.yaml b/data/mes.yaml new file mode 100644 index 0000000..c6ef564 --- /dev/null +++ b/data/mes.yaml @@ -0,0 +1,12 @@ +1: "Janeiro" +2: "Fevereiro" +3: "Março" +4: "Abril" +5: "Maio" +6: "Junho" +7: "Julho" +8: "Agosto" +9: "Setembro" +10: "Outubro" +11: "Novembro" +12: "Dezembro" \ No newline at end of file diff --git a/themes/coderockr/layouts/404.html b/themes/coderockr/layouts/404.html new file mode 100644 index 0000000..d5b27a6 --- /dev/null +++ b/themes/coderockr/layouts/404.html @@ -0,0 +1,18 @@ + {{ partial "head.html" . }} + + {{ partial "nav.html" . }} + +
+
+
+

{{ with .Site.Params.title404 }}{{ . }}{{ else }}404 - Page not found{{ end }}

+

{{ with .Site.Params.subtitle404 }}{{ . }}{{ else }}The content you're looking for doesn't seem to exist.{{ end }}

+
+ + {{ partial "latest-posts.html" . }} +
+ + {{ partial "footer.html" . }} +
+ + diff --git a/themes/coderockr/layouts/_default/list.html b/themes/coderockr/layouts/_default/list.html new file mode 100644 index 0000000..29b95c9 --- /dev/null +++ b/themes/coderockr/layouts/_default/list.html @@ -0,0 +1,30 @@ +{{ partial "head.html" . }} + + {{ partial "nav.html" . }} + {{ partial "profile.html" . }} + +
+ {{ range .Data.Pages.GroupByDate "2006" }} +
+

{{ .Key }}

+ +
+ {{ end }} + {{ partial "footer.html" . }} +
+ +
+
+ + {{ partial "js.html" . }} + + diff --git a/themes/coderockr/layouts/_default/single.html b/themes/coderockr/layouts/_default/single.html new file mode 100644 index 0000000..344fff9 --- /dev/null +++ b/themes/coderockr/layouts/_default/single.html @@ -0,0 +1,55 @@ +{{ partial "head.html" . }} + + {{ partial "nav.html" . }} + +
+
+
+

+ {{ .Title }} +

+

+ {{ .Date.Format "Jan 2, 2006 15:04" }} + · {{ if lt 1 .WordCount }}{{ .WordCount }} words{{ else }}{{ .WordCount }} word{{ end }} + · {{ .ReadingTime }} minute read + + {{ with .Params.tags }} + {{ if ge (len .) 1 }} + {{ range . }} + {{ . }} + {{ end }} + {{ end }} + {{ end}} + +

+
+ {{ if .Site.Params.enableToc }} + {{ if .TableOfContents }} +
+ {{ .TableOfContents }} +
+ {{ end }} + {{ end }} +
+ {{ .Content }} +
+
+ + {{ if .Site.Params.enableShare }} + {{ partial "share.html" . }} + {{ end }} + + {{ if .Site.Params.enableDisqus }} + {{ partial "disqus.html" . }} + {{ end }} + + {{ if .Site.Params.showLatestPosts }} + {{ partial "latest-posts.html" . }} + {{ end }} + + {{ partial "footer.html" . }} +
+ + {{ partial "js.html" . }} + + diff --git a/themes/coderockr/layouts/_default/terms.html b/themes/coderockr/layouts/_default/terms.html new file mode 100644 index 0000000..40459dd --- /dev/null +++ b/themes/coderockr/layouts/_default/terms.html @@ -0,0 +1,28 @@ +{{ partial "head.html" . }} + + {{ partial "nav.html" . }} + {{ partial "profile.html" . }} + + +
+
+ +
+ {{ partial "footer.html" . }} +
+ + {{ partial "js.html" . }} + + diff --git a/themes/coderockr/layouts/index.html b/themes/coderockr/layouts/index.html new file mode 100644 index 0000000..74411da --- /dev/null +++ b/themes/coderockr/layouts/index.html @@ -0,0 +1,15 @@ + {{ partial "head.html" . }} + + {{ partial "nav.html" . }} + + {{ partial "profile.html" . }} + +
+ {{ partial "post-list.html" . }} + {{ partial "pagination.html" . }} + {{ partial "footer.html" . }} +
+ + {{ partial "js.html" . }} + + diff --git a/themes/coderockr/layouts/partials/disqus.html b/themes/coderockr/layouts/partials/disqus.html new file mode 100644 index 0000000..ed90dd5 --- /dev/null +++ b/themes/coderockr/layouts/partials/disqus.html @@ -0,0 +1,13 @@ +
+ + + diff --git a/themes/coderockr/layouts/partials/footer.html b/themes/coderockr/layouts/partials/footer.html new file mode 100644 index 0000000..b919a31 --- /dev/null +++ b/themes/coderockr/layouts/partials/footer.html @@ -0,0 +1,15 @@ +
+ {{ if .Site.Social }} + {{ partial "social.html" . }} + {{ end }} +

+ {{ with .Site.Params.copyright }} + {{ . | markdownify }} + {{ else }} + © Copyright {{ now.Format "2006"}} + + {{ .Site.Params.siteCoderockr }} + + {{ end }} +

+
diff --git a/themes/coderockr/layouts/partials/head.html b/themes/coderockr/layouts/partials/head.html new file mode 100644 index 0000000..06356c4 --- /dev/null +++ b/themes/coderockr/layouts/partials/head.html @@ -0,0 +1,31 @@ + + + + + + + {{ if .Site.Params.enableTwitterCard }} + {{ partial "twitter-cards.html" . }} + {{ end }} + {{ with .Site.Params.author }}{{ end }} + {{ with .Site.Params.description }}{{ end }} + {{ .Hugo.Generator }} + {{ if .IsHome }}{{ .Title }}{{ else }}{{ .Title }} · {{ .Site.Title }}{{ end }} + + + + + {{ if eq .Site.Params.iconFont "font-awesome" }} + + {{ else }} + + {{ end }} + + {{ if .Site.Params.enableRSS }} + + {{ end }} + + {{ range .Site.Params.customCSS }} + + {{ end }} + diff --git a/themes/coderockr/layouts/partials/js.html b/themes/coderockr/layouts/partials/js.html new file mode 100644 index 0000000..689a0ca --- /dev/null +++ b/themes/coderockr/layouts/partials/js.html @@ -0,0 +1,25 @@ + + + + + +{{ range .Site.Params.customJS }} + +{{ end }} + +{{ if .Site.Params.enableGoogleAnalytics }} + {{ template "_internal/google_analytics.html" . }} +{{ end }} + +{{ if .Site.Params.enableBaiduAnalytics }} + +{{ end }} diff --git a/themes/coderockr/layouts/partials/latest-posts.html b/themes/coderockr/layouts/partials/latest-posts.html new file mode 100644 index 0000000..344518f --- /dev/null +++ b/themes/coderockr/layouts/partials/latest-posts.html @@ -0,0 +1,11 @@ +
    +

    {{ .Site.Params.readMore | default "Read more" }}

    + + {{ $kind := where .Site.RegularPages "Section" "!=" "" }} + {{ $othr := where $kind "URL" "!=" .URL }} + {{ range first 10 $othr }} +
  • + {{ .LinkTitle }} +
  • + {{ end }} +
diff --git a/themes/coderockr/layouts/partials/nav.html b/themes/coderockr/layouts/partials/nav.html new file mode 100644 index 0000000..a5c5c14 --- /dev/null +++ b/themes/coderockr/layouts/partials/nav.html @@ -0,0 +1,17 @@ + diff --git a/themes/coderockr/layouts/partials/pagination.html b/themes/coderockr/layouts/partials/pagination.html new file mode 100644 index 0000000..00c1124 --- /dev/null +++ b/themes/coderockr/layouts/partials/pagination.html @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/themes/coderockr/layouts/partials/post-list.html b/themes/coderockr/layouts/partials/post-list.html new file mode 100644 index 0000000..cc8b24e --- /dev/null +++ b/themes/coderockr/layouts/partials/post-list.html @@ -0,0 +1,22 @@ + diff --git a/themes/coderockr/layouts/partials/profile.html b/themes/coderockr/layouts/partials/profile.html new file mode 100644 index 0000000..94af521 --- /dev/null +++ b/themes/coderockr/layouts/partials/profile.html @@ -0,0 +1,11 @@ +
+
+ +
+
diff --git a/themes/coderockr/layouts/partials/share.html b/themes/coderockr/layouts/partials/share.html new file mode 100644 index 0000000..ae73b21 --- /dev/null +++ b/themes/coderockr/layouts/partials/share.html @@ -0,0 +1,9 @@ + + + diff --git a/themes/coderockr/layouts/partials/social.html b/themes/coderockr/layouts/partials/social.html new file mode 100644 index 0000000..ce96cc8 --- /dev/null +++ b/themes/coderockr/layouts/partials/social.html @@ -0,0 +1,20 @@ +
+{{ if eq .Site.Params.iconFont "font-awesome" }} + + {{ range $key, $val := .Site.Social }} + + + + {{ end }} + +{{ else }} + + {{ $iconStyle := .Site.Params.socialIconStyle }} + {{ range $key, $val := .Site.Social }} + + {{ $iconStyle }}{{ if eq $key "twitter" }}twitterbird{{ else }}{{ $key }}{{ end }} + + {{ end }} + +{{ end }} +
diff --git a/themes/coderockr/layouts/partials/twitter-cards.html b/themes/coderockr/layouts/partials/twitter-cards.html new file mode 100644 index 0000000..1e9c078 --- /dev/null +++ b/themes/coderockr/layouts/partials/twitter-cards.html @@ -0,0 +1,46 @@ +{{ if .IsPage }} + {{ with .Params.images }} + + + + {{ else }} + + {{ if .Site.Params.twitterCardImage }} + + {{ else }} + + {{ end }} + {{ end }} + + + + {{ with .Site.Params.twitter }} + + {{ end }} + {{ range .Site.Authors }} + {{ with .twitter }} + + {{ end }} + {{ end }} + + {{ if eq (len .Site.Authors) 0 }} + + {{ end }} + +{{ else }} + + + {{ with .Site.Params.twitter }} + + {{ end }} + {{ with .Site.Params.author }} + + {{ end }} + + + {{ if .Site.Params.twitterCardImage }} + + {{ else }} + + {{ end }} +{{ end }} diff --git a/themes/coderockr/layouts/section/about.html b/themes/coderockr/layouts/section/about.html new file mode 100644 index 0000000..c01cd42 --- /dev/null +++ b/themes/coderockr/layouts/section/about.html @@ -0,0 +1,19 @@ +{{ partial "head.html" . }} + +{{ partial "nav.html" . }} +{{ partial "profile.html" . }} + +
+ {{ .Content }} + + {{ if .Site.Params.enableDisqus }} + {{ if ne .Params.disabledisqus "true" }} + {{ partial "disqus.html" . }} + {{ end }} + {{ end }} + + {{ partial "footer.html" . }} +
+ +{{ partial "js.html" . }} + diff --git a/themes/coderockr/static/css/font-awesome.min.css b/themes/coderockr/static/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/themes/coderockr/static/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/themes/coderockr/static/css/highlight.css b/themes/coderockr/static/css/highlight.css new file mode 100644 index 0000000..2321f93 --- /dev/null +++ b/themes/coderockr/static/css/highlight.css @@ -0,0 +1,99 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +code { + background: #fff; + font-size: 11px; + /*font-weight: 100;*/ + padding: 4px; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: scroll; + font-family: 'Menlo', 'Monaco', Courier, monospace; +} + +pre code { + font-size: 11px; + word-wrap: break-word; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: auto; + padding: 16px; + padding-bottom: 14px; + display: block; + color: #808080; + background: #fff; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: auto; +} + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +code.hljs { + display: block; + white-space: pre; + overflow-x: auto; + word-wrap: normal; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/themes/coderockr/static/css/monosocialiconsfont.css b/themes/coderockr/static/css/monosocialiconsfont.css new file mode 100755 index 0000000..c2eb817 --- /dev/null +++ b/themes/coderockr/static/css/monosocialiconsfont.css @@ -0,0 +1,25 @@ +@font-face { + font-family: 'Mono Social Icons Font'; + src: url('../fonts/MonoSocialIconsFont-1.10.eot'); + src: url('../fonts/MonoSocialIconsFont-1.10.eot?#iefix') format('embedded-opentype'), + url('../fonts/MonoSocialIconsFont-1.10.woff') format('woff'), + url('../fonts/MonoSocialIconsFont-1.10.ttf') format('truetype'), + url('../fonts/MonoSocialIconsFont-1.10.svg#MonoSocialIconsFont') format('svg'); + src: url('../fonts/MonoSocialIconsFont-1.10.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +.symbol, a.symbol:before { + font-family: 'Mono Social Icons Font'; + -webkit-text-rendering: optimizeLegibility; + -moz-text-rendering: optimizeLegibility; + -ms-text-rendering: optimizeLegibility; + -o-text-rendering: optimizeLegibility; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-font-smoothing: antialiased; + -ms-font-smoothing: antialiased; + -o-font-smoothing: antialiased; + font-smoothing: antialiased; +} \ No newline at end of file diff --git a/themes/coderockr/static/css/style.css b/themes/coderockr/static/css/style.css new file mode 100644 index 0000000..2748d1d --- /dev/null +++ b/themes/coderockr/static/css/style.css @@ -0,0 +1,934 @@ +/* Reset */ + +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + margin: 0; + padding: 0 +} + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block +} + +body { + line-height: 1 +} + +blockquote, q { + quotes: none +} + +blockquote:before, blockquote:after, q:before, q:after { + content: none +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +*, *:before, *:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + + +/* Clearfix */ + +.clearfix:after { + content: ""; + display: table; + clear: both; +} + +.hidden { + display: none; +} + + +/* Icons */ + +@font-face { + font-family: 'icons'; + src: url('../fonts/icons.eot'); + src: url('../fonts/icons.eot#iefix') format('embedded-opentype'), url('../fonts/icons.woff') format('woff'), url('../fonts/icons.ttf') format('truetype'), url('../fonts/icons.svg#icons') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "icons"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + text-align: center; + font-variant: normal; + text-transform: none; + line-height: 1em; +} + +.icon-facebook:before { + content: '\e802'; +} + +.icon-facebook-squared:before { + content: '\e800'; +} + +.icon-twitter:before { + content: '\e801'; +} + +.icon-twitter-1:before { + content: '\e804'; +} + +.icon-facebook-circled:before { + content: '\e805'; +} + +.icon-twitter-circled:before { + content: '\e806'; +} + +.icon-facebook-rect:before { + content: '\e803'; +} + + +/* Spacing */ + +.post h1, h3, h4, h5, p, #post-body ul, #post-list li, #post-body ol, pre { + margin-bottom: 20px; +} + + +/* Base */ + +html, body { + height: 100%; +} + +body { + font: 16px/1 "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #666; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; +} + +h1 { + font-size: 30px; + letter-spacing: -1px; + color: #222; + font-weight: bold; +} + +h2 { + font: italic 19px/1.3em Georgia, serif; + color: #bbb; +} + +.profile #wrapper { + padding: 60px 40px 0px; + max-width: 800px; + margin: 0 auto; +} + +.profile #header { + margin-bottom: 60px; + text-align: center; + position: relative; +} + +.profile #avatar { + display: inline-block; + width: 80px; + height: 80px; + border-radius: 50%; + margin-bottom: 20px; +} + +.profile h1 { + font-weight: 400; + letter-spacing: 0px; + font-size: 20px; + color: #222; +} + +.profile h2 { + font-size: 20px; + font-weight: 300; + color: #aaa; + margin-top: 10px; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-style: normal; +} + +nav.main-nav { + padding: 20px 20px 0; + background: #fff; + background: rgba(255, 255, 255, .90); + margin: 0 auto; + text-align: right; + z-index: 100; +} + +nav.main-nav a { + top: 8px; + right: 6px; + padding: 8px 12px; + color: #f1a10a; + font-size: 13px; + line-height: 1.35; + border-radius: 3px; +} + +nav.main-nav a.cta { + background: #f1a10a; + color: #fff; + margin-left: 12px; +} +@media (max-width: 700px) { + nav.main-nav { + padding: 20px 10px 0 0; + background: #fff; + background: rgba(255, 255, 255, .90); + margin: 0 auto; + text-align: right; + z-index: 100; + } + nav.main-nav a { + top: 8px; + right: 6px; + padding: 8px 8px; + color: #f1a10a; + font-size: 13px; + line-height: 1.35; + border-radius: 3px; + } +} +@media (max-width: 324px) { + nav.main-nav a.cta { + display: none; + } +} + +#wrapper { + max-width: 800px; + margin: 0 auto; + padding: 60px 20px 100px 20px; +} + +#wrapper.home { + max-width: 800px; + margin: 0 auto; + padding: 0px 40px 20px 40px; +} + +.home #avatar { + float: right; + width: 40px; + height: 40px; + border-radius: 50%; +} + + +/* Typography */ + + +/*Accent color*/ + +a, #title, #post-list a:hover, #title:hover { + text-decoration: none; + color: #f1a10a; + color: #5694f1; +} + +p a { + color: #5694f1; +} + + +/*Transitions*/ + +a, #post-nav a, #post-list a { + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + transition: all 0.15s ease; +} + +ul { + margin: 0; + padding: 0; +} + +li { + list-style-position: outside; + /* text-indent: -1.5em; */ + margin-left: 1.5em; +} + +ul>li { + list-style-type: disc; +} + + +/* Line Height */ + +#post-body, p { + line-height: 1.7; +} +#post-body p > a { + word-break: break-word; + white-space: pre-wrap; +} + +b, strong { + font-weight: 500; + color: #1E2025; +} + +em, i { + font-style: italic; +} + +#title { + display: inline-block; + line-height: 100%; + font-weight: 500; + font-size: 19px; + margin: 0; + padding-bottom: 20px; +} + +.description { + float: right; + font: italic 14px/1.4em Georgia, serif; + color: #aaa; +} + +.home h1 { + font-size: 30px; + letter-spacing: -1px; + color: #222; + font-weight: bold; +} + +.home h2 { + font: italic 19px/1.3em Georgia, serif; + color: #bbb; +} + +.post header { + text-align: center; +} + +.post h1 { + margin-top: 40px; + margin-bottom: 20px; + color: #222; + font: 300 32px/1.4em "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.post h2 { + margin-top: 20px; + margin-bottom: 10px; + font: 300 24px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #111; +} + +.post h2.headline { + font: normal 13px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: -5px 0 0 0; + color: #b2b9be; + font-size: 13px; + letter-spacing: 1px; + display: inline-block; +} + +.post h2.headline .tags { + font: normal 13px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: -5px 0 40px 0; + color: #b2b9be; + font-size: 13px; + text-transform: uppercase; + letter-spacing: 2px; + margin-top: 5px; + display: block; +} + +#post-list h2 { + font: normal 17px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #aaa; + margin-top: 2px; +} + +h3, h4, h5 { + color: #333; +} + +h3 { + font-size: 20px; + font-weight: 400; +} + +h4 { + font-size: 16px; + font-weight: bold; +} + +h5 { + font-size: 15px; + font-weight: bold; +} + +h6 { + font-size: 13px; + font-weight: bold; + color: #666; + margin-bottom: 6px; +} + +p.small { + color: #bbb; + font-size: 14px; + line-height: 1.5; + display: block; + text-align: center; + margin-top: 20px; +} + +blockquote { + padding-left: 15px; + border-left: 3px solid #eee; +} + +hr { + display: block; + border: none; + height: 1px; + margin: 40px auto; + background: #eee; +} + +table { + width: 100%; + margin: 40px 0; + border-collapse: collapse; + font-size: 13px; + line-height: 1.5em; +} + +th, td { + text-align: left; + padding-right: 20px; + vertical-align: top; +} + +table td, td { + border-spacing: none; + border-style: solid; + padding: 10px 15px; + border-width: 1px 0 0 0; +} + +tr>td { + border-top: 1px solid #eaeaea; +} + +tr:nth-child(odd)>td { + background: #fcfcfc; +} + +thead th, th { + text-align: left; + padding: 10px 15px; + height: 20px; + font-size: 13px; + font-weight: bold; + color: #444; + border-bottom: 1px solid #dadadc; + cursor: default; + white-space: nowrap; +} + +img { + width: 100%; + max-width: 100%; + border-radius: 3px; +} + + +/* Made with Cactus Badge */ + +#badge { + position: absolute; + bottom: 8px; + right: 8px; + height: 48px; + width: 48px; +} + + +/*========================================= +Post List +=========================================== */ + +#post-list, #archive-list { +} + +#post-list li, #archive-list li { + list-style-type: none; +} + +#post-list li:last-child { + margin-bottom: 0; +} + +#post-list li+li { + padding-top: 20px; +} + +#post-list a { + color: #333; + display: block; + font: bold 19px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; +} + +#post-list .dates { + float: right; + position: relative; + top: 1px; + font: 300 17px/1.8 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #bbb; +} + +#post-list-footer { + border-top: 1px solid #eee; + margin-top: 20px; + padding-top: 100px; +} + +#archive-link { + display: inline-block; + font-size: 13px; + font-weight: bold; + border-radius: 4px; + padding: 3px 10px 6px; + box-shadow: 0 0 0 1px hsla(207, 83%, 80%, 1); +} + +#archive-link:hover { + background: #5694f1; + color: #fff; + box-shadow: 0 0 0 1px #5694f1; +} + +#archive-link span { + position: relative; + top: 0; + font-size: 17px; +} + +#footer { + margin-top: 100px; +} + + +/* Post Page */ + +#header { +} +#wrapper.post { + max-width: 980px; +} +.post { + margin: auto; +} + +#post-meta { + font-size: 13px; + font-weight: bold; + line-height: 1.4; + border-top: 1px solid #eee; + padding-top: 40px; + margin-bottom: 40px; + padding-bottom: 40px; + margin-top: 40px; + color: #444; + border-bottom: 1px solid #eee; +} + +#post-meta div span { + color: #aaa; + font-weight: 500; + display: block; +} + +#post-meta div span.dark { + color: #1E2025; +} + +#post-meta div { + margin: 0 25px 0 0; + float: left; +} + +#sharing { + float: right; + margin: -2px; +} + +#sharing a { + font-size: 20px; + font-size: 23px; + margin-left: 1px; + margin-top: 4px; + color: #d4d4d4; + display: inline-block; + vertical-align: middle; +} + +#sharing a:hover { + opacity: 0.8; +} + + +/* Post Navigation */ + +#post-nav { + text-align: center; + padding-top: 20px; + font-size: 13px; + font-weight: 500; + margin-top: 40px; +} + +#post-nav span { + -webkit-transition: all 0.1s linear; + -moz-transition: all 0.1s linear; + -ms-transition: all 0.1s linear; + -o-transition: all 0.1s linear; + transition: all 0.1s linear; + position: relative; +} + +#post-nav span.prev { + float: left; +} + +#post-nav span.next { + float: right; +} + +#post-nav span .arrow { + position: relative; + padding: 1px; +} + +#post-nav span.prev:hover .arrow { + left: -4px; +} + +#post-nav span.next:hover .arrow { + right: -4px; +} + +#post-nav span.prev:hover { + left: -3px; +} + +#post-nav span.next:hover { + right: -3px; +} + + +/* Archive */ + +h1.archive { + margin-bottom: 0px; +} + +h2.month { + width: 100%; + font: bold 13px/1 "Helvetica Neue", helvetica, Arial, sans-serif; + text-transform: uppercase; + margin-top: 40px; + margin-bottom: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} + +#archive-list li:last-child { + margin-bottom: 0; +} + +#archive-list a { + display: block; + font: bold 17px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #333; +} + +#archive-list .dates { + float: right; + position: relative; + top: 1px; + font: 300 17px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #bbb; +} + +#archive-list li a:hover, #archive-list li:hover .dates { + color: #5694f1; +} + +#post-meta img.avatar { + height: 36px; + width: 36px; + float: left; + border-radius: 50%; + margin-top: 3px; + margin-right: 20px; + box-shadow: 0 0 0 3px #fff, 0 0 0 4px #eee; +} + +#post-list.archive.readmore { + margin-top: 70px; +} +#post-list.archive.readmore li { + margin-bottom: 0px; +} +#post-list.archive.readmore h3 { + font: 400 20px "Helvetica Neue", Helvetica, Arial, sans-serif; + margin-bottom: 30px; +} + +#post-list.archive.readmore a { + font: 400 16px/1.6 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #5694f1; +} + +#post-list.archive.readmore a:hover { + opacity: 0.8; +} + +#post-list.archive.readmore .dates { + font: 300 16px/1.6 "Helvetica Neue", helvetica, Arial, sans-serif; +} + +#disqus_thread, #ds-thread { + margin-top: 100px; +} + +#sharing a.facebook { + background: #4361b3; +} + +#sharing a.twitter { + background: #4fafed; +} + +#sharing a { + font-size: 20px; + font-size: 13px; + font-weight: bold; + color: #fff; + padding: 6px 10px; + border-radius: 4px; + margin-left: 2px; +} + + +/* Media Queries */ + +@media screen and (max-width: 540px) { + #wrapper { + padding: 20px 20px 20px 20px; + } + #header { + margin-bottom: 60px; + } + .post { + margin: 40px 0; + } + #footer { + margin-top: 60px; + } + #post-list, #archive-list { + margin-top: 0; + } + #post-meta { + margin-top: 60px; + } + #title { + font-size: 17px; + } + #post-list .dates { + display: none; + } + #post-list-footer { + margin-top: 20px; + padding-top: 40px; + } + h1 { + font-size: 26px; + } + .post h2.headline { + font-size: 13px; + } + .post h1 { + font-size: 24px; + } + .post h2 { + font-size: 20px; + } +} + +.archive { + margin: 0 0 50px 0; + font-size: 16px; +} + +.archive .post-item { + padding: 10px 0px; + overflow-x: hidden; + white-space:nowrap; +} + +.archive .post-time { + display: inline-block; + width: 60px; + margin: 0; + color: #8a8a8a; +} + +@media screen and (max-width: 768px) { + .archive .post-time { + margin: 5px 0; + width: auto; + font-size: 13px; + display: block; + } +} + +.archive .post-link { + color: #8a8a8a; +} + +.archive .post-item:hover { + color: #5694f1; + transition: 0.3s ease-out; +} +.archive .post-item:hover .post-link { + color: #5694f1; +} + +.fa.fa-heart:hover { + color: #ff3356; + transition: 0.7s ease-out; + cursor: pointer; +} + + +/* CUSTOM ADDITIONS */ + +#social { + text-align: center; +} + +a.symbol { + color: #cdd4da; + font-size: 2rem; + text-decoration: none; + margin-right: 0.3rem; +} + +a.symbol:hover { + color: #BCD4DA; +} + + +/** + * Table of content + */ +#toc { + line-height: 1em; + font-size: .7em; + word-wrap: break-word; + padding: 8px; + padding-left: 16px; + padding-bottom: 14px; + margin: 0 0 25px 0; + display: block; + color: #808080; + background: #fff; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: hidden; + font-family: 'Menlo', 'Monaco', Courier, monospace; +} +#TableOfContents { + margin: 1em 0 0 0; + overflow-x: auto; + word-wrap: normal; + word-break: break-all; + white-space: nowrap; +} +#TableOfContents ul { + list-style-type:none; + margin: 0; + padding: 0 .5em; +} +#TableOfContents ul li { + list-style-type: none; + line-height: 1.7em; +} +#TableOfContents > ul { + padding: 0; +} +#TableOfContents > ul > li > ul { + padding: 0; +} +#TableOfContents a code{ + font-family: Menlo, Monaco, Courier; + background-color: #fff; + font-size: 11px; + padding: 2px 3px; + font-weight: 100; +} + + +/** + * tags page + */ + +#wrapper.tags { + max-width: 768px; + padding-top: 0; +} +.page-tags { + text-align: center; +} +.page-tags ul li { + margin: 10px 15px; + display: inline-block; + font-size: 1.2em; +} +.page-tags ul li a { + color: #8a8a8a; + +} +.page-tags ul li a span { + font-size: .9em; +} +.page-tags ul li a:hover { + color: #5694f1; +} diff --git a/themes/coderockr/static/fonts/FontAwesome.otf b/themes/coderockr/static/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.eot b/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.eot new file mode 100755 index 0000000000000000000000000000000000000000..100b2b34e26fb99200383217fd0474f15cdc44f8 GIT binary patch literal 146870 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%0D=3vjQ$N@C^vKwzpE$vVgjcH<9kBUtd;EkW zL~iMlzO!N00Ke4pI#@P&9r#cDrqv@a>3^6O{+R?+O$;5QmgI@Ck(_~jz!j7=bQxHZ z9lnte;=W_A0~J`r-$Jgtc>O*;9T&3Y4M~3UPvGNAgdY8B2x^t`69mr-T6>s(i@yM) zkQ9ym@bPdMeWW%ulxn=gQ&)u`Q7efSi)CzBsAqgD2@gv3yM%DL$J>K*r%~`^T5Fpe zv?b=ZOF^5U05D7fM4NaVD~foq>*F3cT_wq1NY>vVTE(a9_lZ{Vw z+0)sOJ)Mv}6spq++0zNx(+SzriQD!8m{_Dua5Wba&mpcxcb}lggEYv2Ss68Fgr|dK zR0qi@Z?pz$=z9IIfPPqLaIgaUVFA@BpdS{{4-4pr1yqg<4=lBvgQ`sFBGha`L!E&VkSw>e~zha?#Mp4sXiT|ii!EO-?AE8q z4@I3^st}ir2@F%k*AL8^R$96jl(VG-`|fAB^je2M4mME?}(C%66qt} z=*uidWnfeWMrB}B21aFIlpORx!(}M!Mk3wO0HlMDoj7g;wUqJfGM-(=v&(pP8P6^^ zo?XVX%i`G!@a!eCSe!FP<9k?|?06obbsjmueWnzq17S}W$)IO0LNmd*fW4E|MZ&m; ztP4~h<2k@Mmgz+rM>+%PTqIu?QGs#tQSO8OF^^3M5~cy8lclkFxTmA>#tyu(18?lW z8$0mE4!jZc>uEn7cw>j4u~tnd)|9e29v`09aE(B-_Q#JrXF3}lVZ-ptM=BsHe^77N zhMha_zI*4+yK2|HaNm6|yl~&v^*Rk@sQT7jPu8E}T~9v2yT7uVf2%QUSbyV&yLRrn z>#ki7*A9Q~`R6}(-}CJ>AYy4!FYkKdN#0d|>dE?}9$yh-e|hKvOB!-@j%Kb9-Vh8p zi^wz`NPCEcsR8tnGdbq904xr!AI~G`HrRM|K(hFg+Zuk>h^)baur!%R$bV+3^0va& zuj0<{HI>}2y0p*0)Mw2&vO+hgq1x})@=X1Qcu`ZA*U@3B?Ed{UatQN{dJJ_DMG%z< zT4i28P{85fJ@>S03Y$^D;S_K<1sqNRheONIbCS3tj8Tyk_LG84l0Z2$Zs^x^u5*_1 z=U8OE(k-+ytjsC8FBBErPIT>Q+a^l%a9GGfD#T#g3PvNtVc->nt*d!@Z^ORby_-BF zyZ4YS_3$3(yX|>+NGK{qdhjr*yY)xwj|da&ZKUHm1@ep_5a2<7`~iIav*0%+_MhY- zlL0GVLY&YzeS;!Ggzr#`yGo-2=y^mDA+!_vw8ydI;MnA+7CL7f?Tv$D$HB4V;Mj3+ zZ1QM(_nhpQyoUGCn7ruodGx?MdSD(sFpnOXM-TK(>B~{L4vDzD@JIRzEi{YS(LynX zE4rR^i{l2be)~tCdFG?G}&ru*-|>6(q^?L?X9KJ(GLpV>mjX7IH8-+a^k z%fvVwYzN_MDzbAZI!T6FL#&J<8T48GbdIN_wcCIm;Blv$$UQ~F*Kl8>L>^akC0{!! zIdcl0-(%YMdu-s7LQ#2y-y^m?$UUb={TC#&>OZI4CkPrR^XQ?QBN(j*>PimM9Gwa; z??K(Q$B=N8^hwey!zdHjPu7Z|`+H~mi%G;{wos2hXd(Jb6>uPT7F^tTk<*|f2XurT zkB%HvzyTdOpd$x#9VsvOlbIW#0u`3OH>p0xlk&C7Df;}9FZThz~1SN zG#S7`5fJr8n!J$@Pf;TGv?uc^ii@m)6t+iuHGQL~X+!!WM9l*+!VlsdX4!ii9l%%> z`3z{J)CGP(lR^_pI3+)%#kY8{?`cjoqBPH8D=6;<%B3F)vV4?J(DsPXjQC{z5!%C( zr$Kys(AE&cploB@w!wAg)Z8Z|)T>z=@7=_#H}iiXE%#178kS^AC;xFRj|?a~40BxHPn-+LVE zM29*(D0{Z|QIHn!C00-EBzN0k0wUSje08QJ-7| z)#J3FE(b30r@J&pT039^=WE;*za3(@mf=Zx^ z;A~}cFBhn~hUa{2Jv z>d$(OO<8;qUj)4i4Tr?|iRq?OQr8jDb4ihiA9<_vdRVAluaYuHo`^O06vd5Y+07no zLZaoMG(bU}l`Etk(5NM3%`7bDNCbx(=CpL7rYpy9x<6tjnjRuWMl@ZhG=dHr1Gl2N zytU)hxUk;bNHoa*!)vhBCJRsH_&u&Kd`0!|sx_G`T(lmt>JV9?Rjmn&y z1$DINwl&6)-$NSHoA1A$E6?0bn$+FTNDq>-LN81KH>o;Sy% z+&bza*nF!tKv{F6R@m-ESCs z1nUFYJ_;S;{Au!36`cBWCSnWmg(zPC1+l;uyAksWLTo-)_9KKr7Qu3YhlN46VUG$7 z6w*jtNRvpbkhUNZ6%3>8Lx8~$pi1S1vv8Ob`Y=w-hUbQ~CD`enwxmG8ps;lXXB60X z3hX7$Qh3k;$9tw~^&-1wD367EY zF?SUF=qBOYsCqGv!Wx)0Dro=8ri? z|A~zjaWOO=U-|;xl5D9r#+d*OHS{Du#HXp^HAj<3J#2U@LO@%XA|YG-p?b5mc8p}-QZ{&=B0FlIhyGl-Jq!okXh*?-vshawBH2s zO(5R{^34Xpm_WV>gow|jQpb=OXS+HWK2 zKk26D?D#rfliiZuhLBF7yb%8b^)yBYvJGV#QvqI&HOwqUu0IC{UdH_S&&&))JL=ET zs=JCN?X}R4fhp>W-O$CU`}PbsUvo`C}Dm`GkT_f zORN5=fygM}fTD{Vr2)SLRl(~TXi3An=?yHRl@|A+hO0Gya0z`1*YO9yrx8eZ=bi8k z5?wtM&~XH7AMe>C8{{oCWI`9a%prL-~gvJ}p813^$dtwcI@~yuN#Sj8C z!)Cw?V%D#JV_{dvTw)EoA^r#-qbV6i{r>u1GYpNCEab2o37dQ+Uu9r25ZTJqx2aF1 z+1bqzpnVj!DWbd^?V01N^96ddJx$%3?v`1|qe0JDa~epQB|@2RCGW%`2$Fd4YhTAo zmack8XwUp?eh$fxNc}NBh)vL}|IIA@3BPg{g29LL9PZq+!72Zs?{4Grtwq(hh}6R1v<$h zz5)>O9lIh#x6lC3;Wt{KP~{_LB4OPrXjb~jew#*(e-?@Sj7D5-0dst<^FE9eV_AIs zwT=%bTIfy{<9Z(NpY<_OU8U7xo(shWP?*>pUgArdMy&>TmHZ9C>kZ7n3SMWCWU;Qd zY)t>T9x-}YhwxP$=%Jdo_of{zvFr0q@5D@ZXDWZ=MA15_1fb+9=@bxn_n-;!qN zqlaQ3=%mcc|K0#y*pI?K_Q087t$czc@`hczc5Q%^rjah9rI#4~5_VZb-(M|A|+?|Dh>^F>$6m3+Eh3 z)Le^1^*eNPjI=3YJ@rcrZiw&y5KTarVUSb|x{N=1e>n=*A(0|W>_?dJj3(|B zaGs{PD;jC!H{%59Nq6n!-=_YIdQsm%_B+t>%QNQG1l9k4#+>+LV9;x>Ai!O*1`(=Z zYfQ}FTs>yK4U`-@jY#^mAkFO@B0vx7FQ(x(kA@j|1jY3?C=<>o&o^*_-fSADAv*RV zq=mhUBNQ2(M+i$1y&(o#L0}7xHmQ2f_^>}-&_q>}sy$yQ!tp)saYAzrX}tAh9p_YA zgl-DT<}E?1t&TuH_9p4_7X)3mX!-#7I($*lX-u9K>P@}dV=g!|3xCkH4oAnIH?$hR zrOl@MJsesMDQR4Uxd43P&0hMWc{bL4H$OPau74 z4Xf2Vcl6lk$+0+so7W*I1fWRq`CjYG%{hGyS4l%h86ELLzV5h=xY%_hOauYoYtK~P zlY@iFtzSbY`Fltg&K)M1J(HAH3zZpsycDWnphNfQo= zcrwjCqjF;|XBy>Z1n?Y+^r!kX!*H4;>I-{+xsIltH%xL1Ggrv)qrM1~pOo~Ul}slQ zo)d=0&5OIBSlR)4Bi%g!yh?!|kH3D+XS0om1y5V)_6ywkvNvpP9%*mdDV%iL>A(1D9Vf`29Ol{g!Xcv=n zRW;*IO%3$>eM9&bOY8w}+=$dz8aF!H_Yp%YJ)bp=+tTVAm#I!)=La6T6t#|6i6!ErEH3FSb{#}q8IG1g101K~=x>WVs8esLlh<67&|j8;j6NZK6*^d&O?pui6pY^Bq`p*X zHm@l}h{a&A4HrYL_RLf<>Zti+kKUnAtaYa#`4|xZ2_ln9;Y=qEJBwFW& zXGL8KZ1;W|(S;pE7Ev5HXwC?lqptZrTlA%7oiL>csLVA8HV0tlK(ILwYz_pQ1HtAR z1e*iF<~)LJX@@*lN{#U>n$m_9puOfaCOb)uCLKAuIqFMoJ%5%j(>&D*d(D2xLoXuK zi(kT5H+?eky*N#W0H^NG=Pt(6#D(vJYjTKYC<|F+4l8AftA85|| z@I2m#v+-DX6}+I@-~}{utO{OG1uv+A7gWIu5Cb6$1)TA#?Txn5Vn2h8n0Jq2bH1C; zHy;{u)ziO@-t)&`BkugQTc$#m8J^m_MR;h|O-`&Mi32tNj`ef!Bk;EsB zgY>q>XgzZL(4}c5#`jZTCL@~26c$N%tBtsneapRYxa2*o)5@szf z@+BBx5&k?jTKqGG)QL2Kv=V7E60wLPMleWYBcTk#!VjCD?e-0`gGM%X3wI5i3Dna) z{b{FXaM9GPYp*@x_3>{~%<|5=$ly8})?p9U+2jwA!z@;h(p@*~oIhab z&_GPB((MtZ$5MMX#AS_Q1_JiA>wOPm!{&V&uo=Y{zI`FYJn_aQwZ5RH3H6*ccT6dP)7L36I>IvHNCo<_O%@v3ta( zA3b*87&aAS+08L;z7(JLv1IwXVt6hffBy4wfOrcI;HzY^#=k>r%2)xd{#yQaEdX|; zYxPd8fwLb1XLHB!n|1WZ@S6wxG5qF%rWNh;tW!FMPwOdJx_sShWtHqVd5=UZvSFUj z^*BN$Ro>$bRLZZtUY1h$5UW|ggYQsj+7DXZi_d}MTj2bP`t5${n*u(nTK{u?i8@paA5e3~3SZ3eTE~EoUjOIlB^&$*8Z7&x^9}WH2&3*6z_NaiKeCE& zhYwOmCK%RV>ERl1BmUmO9@$T8xIpF;f2Z*XS|N!-xx&Iyp_pv4Rw~%i+1jjiJ!dT6 z?-9a>LzCBN{S34fk2+aTGbw&zeJ!#0)idU-ht*C9~=Qqvn9 z*T~%S_eFz=P-h@P_J1hRovPL0W|d)0+k0$YLSSCe4iSV%}-ZDhEfK za@AkmsOfR?eK7(D^c4b{@CuhV9wD?Jf@d7?j02u=z%veb#sN=%Ikd}BxDJU77h14L z%nBpJB@YGBU(iNJA%)b5G=a1dX)}^g5EHXt2L@WeK2BcF#{OXedoO~6FhPX5N7{LK zElmKPJ}kflJk)AyJ!DY-sqjvI5C065iyp)jAdUrMg4{wREr%a5WW+SfhzYm4=gU9xERD7956;D&xb6iZg@;VlI3|bX@zr(NsBa))nVJ9C;;ya&eU?lgB z?f6W$77NES_^x-r)bsct8x}#f!ol*LRzk`6Zw={2(871#@#U~o z3ZIV&>-apfq0^$co_^rPFP`ansy*Z#XMW$Y$FL|~2>q-P#MGSC=XE)F)8jqyl|_0-W(ZUOhBQK6HHX&`>tu%x~92+67P;+Y4&64&gz&2YFz#3&hQ z#5*CJ1PvirG$tsnF^hHhFwF(ny_*8JMMTsz%?vp5Zs|dqFEHCEqT2^Sx3^mqJoDjZ6B0=gDIbIQKr^1@kV9tphG2V%t4%d$>gb-|8?Asx=VbD8W_pu@bb|M|N z)pTdkaoS}?H$q7}+-?~3rNw~C|DnTh)8JRxwrp>AHhU+J;lrk((AC%RU^I(0v>tvu z7tu}Ah;}%!@_XKr06nXAsPwwGyTPDtgzdJgmnp@l)7CaTN?+?5HY(AmX|7AzSZS5| zCTCBvtdW3K>cKsn&TACU zyjUKGG{R%S6lqf%Ez{e)HMfT8Ht7wP)qUyUnQs|Z6lLNqXY^gzFKe={cLjRfkQv|s ze6}~7Rb<3^%90vzB7B#gG4PROQ%`5(@ybvs8!kCk!r+P$H88vuko0j$lLBs`BWA@1 zop>OuOME-7ppV2#0V!_j(mPEhlN}!nXmY9Q#3V_QgFQ+>Q#4t@m_6r;j1Qb*9@=zo`oI5`b^;^F*C`n2> z6?eIkv}rj!i9N$El&+RWpn9Fng8Q-LZb10>n&ymZu34$_K*^9sIx-phcvVOJ23Za!3Q5Tfk59!U z*^qgNODYFmbS1DT5Doz-*hkI>F4e1sj!#?$aa}lf;$y4|+8ct}Rl~O^AVcy} zA|941<$h^&WU&;Rw;0=g?1ynYFUcTbtv1X*HFnV%U0r8fG&Z)Cwp+)B&RNpYvE-bg zp-r^i6xcC+)6LV;Q0pahOWnrFq1KD}t@q!2GxZrAbvXxh8HBQzg3PRZbge7Yq+2~#_v`n={>4h2*~ogB{T3g%c>~~S0wYNeeXW~AIB6;Q?BQ4 z2nI(+6RNFhrlF*A8C6Y04K)x=rY)(Mkjtk6)gu~L%qJ`mbe}4srQ%4WnW0QT` zLA5!>lngc4h8IOF$Bt$cRn@gHMmi<-1GXJByaZ$UQ-Bq)G=$!cf8dbtrm0{7l3)nH z?l3UwV(W(G8h}(4$CIkm8&4&;9kom8U=-h_#aFkTpj)-=jHN~*BZZ(FkK!Y@sccwH zq|+9U#O+1FT3mL5p;}C``HF0N(v&*W$qH9=72SaIS~9s{$x?h}5@w60>!36ebSUl6exV^HtKMQ(O z*_YV6r1$ejL2XsQ?tIKSxsv5++L&1P9?R`%@HTnN?U4tmMqwu80Rw1#R~UFIeJsQo zPHME$gIGD96eim9cB>r8ySbR;O`A# z*=*f4gCS@&aU*Ws^p4S;gQl&*w9_J1*Ps)O8HQpTyb=$q;HdmP+%##0?XU_u8s*S? zI^52DKAY{$Oky6v79b)RO`N`C2mb^<-svd1V#K1^EbKxHgvsYi!_!(oPg)UK4&1a> zGjpMkBE75otHHISq?3M$t(V>}QQScf zJ}ht)KdDum;lyJ3#VlofmfaB2`KKDpVep)(D(7pHwT^0{FxHt$b&eGZjqNpdCT>~rj9uuaf!r^# zC8(zh`Aqf$ixFK_MufII>Xp%XBJvXNSd4d&c{2*Z!nlT(f{+D)FP0W? zuqFB@l9-n)NZw!-C|>BnFwoI;U>YPcuaFxRLk{ z2jkW9azd3NofF}7DHa&0hHIB3s%?=-TQ%WtO*0gt#JLsA*tu?*2SY&;imGXZG>Mm| z=5-i~p``me%fV#UR-$~~L?<{wgomQtr-z;RWXsdUQ#XZhYsfG|SCz)AaV`gJO%9kw zIA}uAfiFkT^bOh2JZk+Zg*yZNH61Y|U;IW#jevUYTIx{;&6>nk9P_wo66+`*Ol^N&ByUsZoEmH0=qoDWkJ zBJuR6*!j}y_z_@%TsC+^LZeK2-Q$lx{=^f!7n{c)hk5=KTMgcc`GmMG1Zx?j$44uW ziwSLXSc82xE|kx4?r+{TvSa%Q#Lnnwc69sb4nBW$`^a|w7985MW5*q%KmF-Xx7VLv zyLLOt<3=B`(BcfF@qAdC7c=;5IzYCGez}IPENK;RGPhbA1sM~4H)vrPw9!frqJy=Z zpTh+fLodbSc(>xjlV+|vA5-5H?=?q);|o5YShrw(Xr+^@CEZ%i!PZS;dsSs{uu>Ts zsx&x;uX_yjo;6u2O`g@;d)E9?Y5rL&Vx@FU83}Ee|J!)VHkA=ImhaAe-WsmW-w?We zU1B7(enF=7!Fa)yLly7oe5ysO5sFKFDW2JQw%DGdn06|@V4Pz7_p?u-ul_B31MPs5 zh7KT)*T&spQaD_#HU`a5*wi+M^u@=8_{Y8zk+_klWV5Hc^5*M1deYyS7cJX~RoOyz zMQ5huI*|T9T3qXh;LE_)gw|&#<8Ep3Wza7=FQ+Uy-8_+@UsdF|TKOlG^k z<=>vZ|Nfh&r*ZP}`|-<+j%G%tNBu2*hv;MMmC)nDtPf6|C5Q++o22SWobc8*J`F^@ zM!14jLaKI?R23FdkCcE_B6;&mpaU$H#$h#)enJLI(oK*7r3hUBhTt%)A=0-K!&GZ`Lat-+%pNCJbaFAZGrrlh% z++J{YaakpCdbgs)SB~^8aYA;)jvEVy2HNxp46!)RPK_tm>}*?52vri3Cpl_m9df0ss`wgUyJPg zI0Ppytl<+~*a#xQSGu4 zYGB% z^_|w&w|XR37(27KcWF;r)`MZqb;Ehx3SGhjVLJ&G4^tzd@F^0v^oZ?7bt{beVGg*i zJr9Fg2`HwnzzkHRFfOz^RoEDcss$i8b=j23w3G~u!x>hxtV}p!J27aJ=}97k z548Mh_Se!u_&G!1{tMB8U&*d#A7U%Kd3BSb2h&)q=UwvRz`c3(Ub!(dd=l5JdJGA( z4X(nR8$(2sa1A{c-y4EmHtddT^A_`w(J+W3IX<5k$Q|KUs3(-^66hMPuUS;!_R(5G z|HpA*SjJ_<0Oo;PfSqCDHgN%uB-9$2uEVflU3^T4p6FS&K2NE@Tq2+7uypY3B{8RH zE$(Ly0D6p8Tw?3%m<>$E6U z+NEG-kn7QqWvj6-+Yybg!xA}X1w-L-yk}lk*Ru0^6Qxi%_!h25!l`hce`e2y4YkgA zUP)ed*h_XlZBG;HC)#6FJ9jiw9*%R#s?s$Z%-9Dga(}HFy$!dF4Xm(kDHpr2Qu6)j+wfY*^)plU#Z*So2MQFK3YtsuQ)>|wbCf)m9AUNG2_&8>5Z1$3Ym*whWxzOB(l0;BD5l)sp8Ntr@%~`ZsRn=si7t(1(mohuzDLt%X)+w66)36gJ;p@bQs1UOR(LC$$ zgbZK66Z}~%4wZ84+Gwdavzgx>3T3uG@x=C#cr_Q@A?&1;pu<(5pK(mbgLVlRG&IRE z5)NS2wHFBvH4pb=aYmPlgO(5pdq7?rpv-3AdRL{}jj-?FfPL;~@ zyHm+Zf67uKF)iq(y4tMO!&51zVD(p>l51#1JvaG_a50wXAY-H>5if;LTg8(d!v}+H z)sgn%!ogf&V(n06-Ri|oTdiE|8mnr-;!yq9ynpHP)WA}nsE*`E&s|(59sWz~%g_bi zCwy!0%QTwgNgm}z`_lWJwrUa;jYM+QM6%lE)Sss#N$&`@Z4U2g*&}1A^(^fZJ}kU< zKH#|=kfk*thd^hWFl=@MdnY{2pJp5O;}hTk1QTJ6NLsI`8*?M+i-w44F;GY&(Pz9T zkyasXL86ID7s35MAx2@T1V1STx6S}pKVtwx9$zUUf3`*SX;j2`Xmheh+E=fwP(3mAmR41EY2ycX2bgA-A`#%HQYkXw0#yb7cEwpesD)H<8lGiMH*osz({N|uGhCry5K=RH z2EJEjqIak!@_aI%PuBmCC=?Q-neCZrLR$+OSLc&-K{C&=fIz+X!`yH0se7+3r;VZV%2LhtKs!sTVW~-`nW;s3uY+QA@b6Nw{?5 zm(M-7r>AG>(l3AKsdF~%zjS}O%#Ow31+w7{idV9BK-#pQ+H`=elXmf6kw1~F2yh@6 z3JtadE5jR%X*sh%;*XHCVA(R$S+i!1RIQ%1W(^%!zTAvds}jGFUb-gX^sOO_XH8#Y zm--v|l0G1PkncygS%^>blDC=^R#H=G9Jxu3dSy}iqqav>B|No=UmzPwr;p$ztOrHvz;Zv=X$f(MpZXu{;B*( z&2?)ddD<2;_>M_D6)pCp%eiy9Gz0GBG!%I_)l|hTm0Tp-AG+bD?@9!oxkWAi-Cz(t>??L8GGLsGB%ln=x>2~|xo;UOCt5&I0 zDwXR0|DWY|e&?JjKNFOEpoZ{$qCaonb+C7=@jEYf zd^3xU_{0a>*UbCvykX4z^xFp0yEh&`TzE)%_v~`sf9CV5ny!1=M;?vJ8grobmv5|I zF}!@mT0b#0_2Z1=f=uh*OP$I>4U4gy8F*8FW+#mZ-zJT17b5gcV>TB&POMEGYj>0`rwTO{0t&S z!`Tz-?R`7C)3wEeeO1jiSB?%xH$~AkD}&2cnvIpq`lZ6$5zqD9W?riT=PfN*86#LN zdMB1KkjvTO(UsMHsf6W*u^ScxUUHko z0uVrBFSKDSe*$=7)QT<7pDFTh8N1CwZlJDXNDPxlN zPV))Qg;rATGSU@G&-j+16`i28*l~PaD^9h_>9UtMv~s)S-2AOSMjv=n$ayY1c- zbxJ@jW@>6KJG;DEGQzuWcTp3Xfu?Ybtf>s zGTk(0p~$vN2d%yGK42HFdi~@eU1{|K*8}lYm$yc)tAYd1PODTOSX$fN$nTm>59jBy zl~F_BXO^x4m+~g{G35tfzbU2U>0FT>Pd`Bz&{H@k@3({D`tF_i+}hqfv!R_o+HcNO zK#|<)Ompg}^6}P{$B(Qun=40-U(sHjXYR=KnU{0_RcfDluUbg`JTJsRkU8%WASFo3 z)L&=T%i8cn#EJDy^b!9XuX>TC*NflbP4r1=^Jvyg+|-vfAW~k8l{NnM34A7hiT56_ z*LZ=2$a`74F{UOCJRd<0u<+yK~#PtyBR833se3UF#%ozg*1W%VMFWPB4J|@ak_tn~~olFH#P1Unb z#&h@%)o~5a(Ame7zm82$UAU{OFD#$oU%}ww#gyDV}n8ZMe zb#)G70tp8NLOPb?lJP8}5iSMrnTT5Xw5eTWI4MuM_Itq!G!@TAH!Ow0u(JBqd47eF z^}tyy<8az^w5U2U+RG&kk)a;2i7Rr1rsiR^S{W785sMTM)iToWwcXgZYPWaWAGZ;g zMh-HAa}sov8v&)r6S-&_yG;MXiaT2gI%Ur*cY^YCR{4;xt7{qRUJ;OHd~nFzlLa6T zPNH%$53#1^jJ;oG-!xpVC z!M2hwz?b>8_m3d;3yS}l{|8#?A6;XPle}G0!u@&Te{sfUBgW4pJ6SZF&(2qFu?S~eENR0 zd1gQIMS7qY3K>tmU&(0u>@2XOTVNr*$|{(z(5$`Cze3ZzH8cqs80%OFXjI(~{MVX_ z;TXFui7ljyA=*(X0RUv_aR=}KX7C;*qx%g+Z5k$s>Acxa`&R8L)i`csF;H}+Qf;?T zwwhU{Od3DCsJA^YqdSIeG@6+LOU6jG(1T!I|AD4n&^ zWv$-v<+^BOnkhJyyoPjh%$;1Djr6qxD}x@hw5w|;4f9GP15R!SdfG8^whGpENIMOd z9^sXyKba$xZ`-qJ$Sq<1jlSW6SYy1{zGylL20Xg!?GntsOj zFi*Tp`1ZgzOLbk}Q^Hr%jn@Z`2S?CK+q=`6W!pd*I=<><_^J+`>I?$(N|B{fV^%W9 zp2h9TrbaBAi~Y)>CFNhYItP(8Dvc6fN8E?R_mL?#z=&kZw-n`Vt&wmtMy+o3uDZ)c zr`WH7%Jhr!Y(-auzaksWa#U>X zqA&1jiqnM_5sa{@FRY5CQ)-Whex2OaCd8(xl|uc7mD!V{Htxp-J8KA2cU>xI=&1wT z!8k+wf2x!D#drA9jKYyYKw#N3FYuHuDMWGl}f?PpHH^= z*Yuy>Zo_S7AO2ieSJiT%&=O_-VDkwrejO&SztsQU`2KzhpZyskVB7SZd}fKB!o~ zyFT5Y{g2M8Yh3}f=k_)$v*mheunKK?P+FK(!{$^_swxW9-CWx1wA;fOCneE z+_`hDQyafIh8~qKZ~U@y&_6cy+rOO-5hcZMDc9va^(TQwfh|iwlYr6pq<%*IE9Fbz z*RM+5hyMO->bFwgO#Pj*gU-*2&T5tzgy!GYO-^Pid&!Z8aM?3y){>w_-1WKWh71W<(&l1WRwmZrY-Ga3RrqrYOWo+&e zbdF7Kc{##VX2=rV$BGLH-Qave@QR&XMiPY=u_6bfQUqusFJwrEQbigSR*Fo%f!#$u zb3hESiD8Zl-Qp~k@E`fcQY08UU*##ooqUqR#R`W6VGQQf<+O zMYD@g{D%x7WLA?%W*lO?VHL`t7}ScEO=CkU@D2#j*+i7cAH?*=NR%Tpu)Sd_v)B4q zuBj<~Uue=;-B_L^jG$wX{%OU=jlyV_;1nAtZOhN7YQe)vh5d|)ZKy)yk7Mhu{a$zn6@3ea*ZIJi$Y!Qz-t-RYsKZ7}OQZ2B! z6bqJQ22YX978LT`@p+-W@%#Cu`u|l~E|cft zmSg63S|>UPIRFB@5iQk={N8lvp!lMlKIix6BfpoIi?{OL!KRwYj()}WaIzGCLlvA+HECVS&NK>40wlr4& zJkIxmY-DpijIInj{}l?2n9!yoKdwW5%&|HjEoa0OD770JBscSZ$S4Kk61O)Jok zI(4je?D}f$`eW7es%z0uCb;gkm#G*cgf}c#eXtVxop-I>u=DN0dt_TsPA=xcHW#GDhA#`L z!191k3-h$Ka7Exc_)_93EoWu)E_1@yN7qx?p&j#(X=T{nTMxSfuYmRedwzAj>Rb|;~ zwsO5@!LLsRg<6nSjPA1MPAwJMb3}7R&g=M}`_&JrMLedrAvb?fG~O-jzI&qa?ndL? zJ&6|HjmEnhjdwSa_--`b-DteK6OGpdo=^t>3YhJ^x=>#gB6PDN*$~kB-nV@O7HBHI58JX9bIo;}pedqydu2nDM z{A(E9J0r0YB*qet>Wu+-fr>0Qyh0}Dn?}V~)I!m6mGaCx6`Y7#IjF7vy3bLWaxv(n zts?kExbNFMapGr{*ydV3E$s*#eOIlKl3(KeuKvq}R*W#I)D2pQca`SDD;H@M)#&C)d zkdYrv^a@@oyO}b41sM#R$A*1&FKVbAf+muh6RTe>&WI8q5Lr@+eM31@NP3KqI5eDL zgLq(XgwQ#FsREu8DR??jhrnBk6j1HeVows^R<)!JS$b7H=yxS@m zI$=p$XK4{|%h|e3bRuhMjqc2h$m@*To1PAeY(r6T(yh6b>W*oAn#EmvBjRzzd_Mml z2#VlHYFRRH%xtDrp*%^>1aMX!awDhin@D%PQz_2RkXdOJKG0b9EeB14a-s75Y`ecd zpEh=)JVMPTo2u=FPEhuc^7a0}&XyKwbF2E(VAmNt(A3YUK@`pxOLL>kXMI(3{F39< zL-lm)U_D<8ouaO`4zCaKp7Q>|jo)_a)j(CkT0N7m2AYw#{W9_?mJ5HCdIdQqP1ps( zeHK|71OG@Mfd&6N+d>c*6H)$8q*Xi-4k$|Gmr4C9m(PkL!{ffj?5spph`iMD-@fy7 zv*_3KVy`l=vOVSV@u3`^jgRGcKR&q8n62fiz3@xtPF)l7iE1m#=HR1L!H0K|M|3WZ zX^S5u)@X96#c1t+yki9p!-bFFMp^&k9m;R59;7CFv6#;lm4%Bo4^g0fymxh8;q6i} zZ>JAzZf5phwAp|C5_n*)R1zL~_eC%6Tx9;l?`Uf0+D~+tlkzH8G8SIbLCeHnf~-qlO*&UtC8v%IHsbMtM+UCmqCdzU(dOWt2z?or*Lv$VH;bL(xl{h?Kj z4%GIR=al#V_$xCW82d`EvwNoeaOL4>c2}p`e{-R~d(c@Q6dzEYc%;&QKrnRS4&Sf- zs`3}WXggDHO}!79gHIc0t^F_(G=C+6ExQN1IL?w3 zBwRFsc+8=S!Lq~6;6QMzzpTATJh-Y%+aEtQP^j(%#*iyUtY=EGqdsA zNFVt`qjK3`aI|uMeqS{tQ8pf%&!(o-UqSx6L{^8)BPkAZrKZFW@m$Z$IsV2D=03`4@fH1^zPzlWyXopvzPU~ zs91Ep)!F&WmvBTXgB{iK%FfxG4Hm}F!WjFi*5`7 z2xQL%ffjEkEHs3-^5pV$2M6i|QBem6uUl@ektigls$>i)YI%CK8P;l{B-k~koq}+4 z3XleWr@3}wKC^IoU$?vO^g?F-#9H%o&{`moH325-hE`i>1#cqz9tK2E`PavGRBG@K zv$e{OWAaMiO5c`Ia}j)dB{60IbPer&2QNjhCY3_D_73>U&kqIusZVuy!0 zb4zc}Y}8!d-x}=o>7;Y-aG$Mf_TItzVZSxkRo>IvQ#-64ukScEyL#1*a;v85Use8W z$B>HGzB^dF=2&}eSVZo8CG|P(>953${p+xPe%*WU<2d8BHISDs^U4`V$qcFu%5-%H8VPneWc97SaY#oi0bGeEVZ=X55NH& zV_~$8rh{d)41kPrrsD_W!xxI-TQxW9;~Tm8oPJoftwOrG7GbBEVTKK^d8+G^+}{qe zK`En&^R4JJt+3(d3-|N+0&*7%*a(Ut@+FyTe+=*C$I*jr@)3H(QT8(blA0va^nO1h zxStU`#J;@=ILw{Jek_e3jtfL7h65vaK#K#gB)BEnwG!SHkVu4xwT7!AbY;Nj^?9Q7 zfD3uA&;gvxjIzn=~jV=XnjD1I$UNm%QxkHuj~0mWwh(1 z4FaUP+PAnxKD93{N<5kdHm+1=cME)60ae%2IOJ-dwA(ysxAJ>!bm=RIlS|XKDn8_a z)V0t*-hxK`Z0ZZC+n!^$kvhrjmL6hy>cJRGJI)?2p5Diagi*L&%E`W#H{Zfz%n^MM zukS&;z6bI89>nW=5U=mSm?QcixAB*_jlU#8rq$69RHz7Jb7d#AjEm$Cz8-ouUdIEF zFuBLE7DpH*+sJ2Q0)%pBQPiTB*P~76H%X$=;!uAQT^Er6tt9a*7^@^ZBo-GEy^^rg zMJyjsxJ{!_%^Eksbq>g{R&#HQ^XhxOYOYw!@n{CkjHu{>>sJaMNKmOU+&JwBw3;nu z>TrO|q54NlXAVqF9XPYJbY}n5)c!L|vnNLF_UOdy?3MC-WuJfv5zNRbvg9CEhpt=C zbxRdb*E8?-T{j3^*Z=HfL-}XdF0#0O)K%@*UNfjtHGs#fOL+#C$HP96e=wNH&y}e7 zWEoTC`ru9@%+i1-=jI0WQYY!6#Ed#cxV#8=m`<6xViOrW6ZdD z`!Buy#4GmR@sn5YJ$Gv1w&v>P!zWwRC2W<7E#>tm-u}zCU;W4(d#_(Ob#CAE<*NcA zv%bHRT4gEDrmj!jE?CA1X8NK?bm{4Of{Gg_SQ#hit$6~JSu(XwFp-(^cd+qB9#YJy zA4UiQF+K;waf?8l9*YSqDcAa_K9!+1LlMmPeJ7` zaY?o5eY@uuN?1YQ-}%;ZH!8WNm&s2LL&pbAz$}{{?wXp0`XEQ>c|4zDA(&r?vIXLP zG-mopuTo{|R(d~Ms{qZ-w7UnDv>AI?d7@FU6f=2~1mCPhAux!-p|f*p%FovFWuYo& z>7$mb6#aZi?6P1NOGxvXN>XPc;kU$ghZ=DMrI(W2U6WhM4Z1LZql=s?Qa(1_F7crR zd^3yDx_UTHtz1@~jGD5Qt2s|9WOB0EjGk23{ntBs-5oo+x^jIe`<={ns+N2vydFE6 z|F5Hh6zsX<>TAh6Ilzo0zfy=_mWlJ<^#nsq3^;i$sM2U%PzJ#eWQP>=P#!pRwo`Cq zHC8(_wc1>+(Cr@GyTsIAxUApbHQ%F`uo>pOGWR3hote$~R&&1CIJmQ^X_fwx+A!-4 zzf&tHYE&;Pl}X8yfezzgQy?_SF8g>viOIZ!4cDdc&(J65E{w{S^ zy$#;9h5$|}8g%OmH*#I|pT6_yH`WJ(dTlUJ{(0l&%4as7AJllkL*}-g`b_FotjRwh z!*h`c$&X;=A|MkQeC)}|G>oei2(B;I)bJu9EJg?mS0=7Rr?5q0e2u%fSBbfV^IM3RN$vjH6Ji_lIKJ^Z z9r11y?fy-tR?i$-YIstG@1OJiskQ)h*^F|Zmah$04&z@Jft!l_mrJ(Z2k2;L=Fh$C zz+mt3!#j!Q>H5ZB8`&rbmzL)PcYbxWPzQs1BK2G9FDswqmw4F!Rcx7|c=Y646a`U@ zx$cOm^^v5*#ZThslLj8|DRGF5^QOA(Jy9&qamg`Vd|C5K%3L~IoI~1_cIhS*!Q7xY zcfcS%QSCK5zyB}Q;B5X{MWI>LYfAo4-L=~^KL17K*M8nIzxV}>q|n_ns@AWTr^MjW zu|HO^KMGvu96s3X%ui%`6i3j+_eLfhkP0m0Yr?EGxw#@M2T3*13qHEc+wox~t5g(W zoOtlEwS=h={~+a;=1yI<7BtA;ziMIOWce_V>iV&lyjxFegEI^B*Y=6VSbq29^fkxz ztnv{b=ucg~V}1ROWj5S=cI}>hd+%Az4=vpURaIwi-f`>os&1RQwfM^Q^;do`n%UE< zb*HDhet-Xb1tN*+hmW~dr2x8%coVLy$(<(K0B2!S4aqsxpEgP}tCi*BkUzp&_hj8M{iPC7<7zaY(O|zo zq;i6MvFGKoimr<(DqPi>_FOF+xImf&h}QFA1|ud@ac5?`%a-C*gJ7xywRN(!l=Vx# zA8DDuO#k)N!KHe4$se?e;ya9VfjD&P#1-)MoB~LEu33w$jDut>_?=9;lvlIhA89Y2 zZRc`jtK4X3rxu7`m1bX77<9@I(Sl|njJJ%Sag!e9#JMCgh_%n{WsN-k!~d*)UcD9b zRr*InWMX&X7z!DUJ-_4kBq1L*$F_eYBb5>h{>IlZ<=j$#d8@%s+cjI}b{oq$iUo9;^(SD-6|KaKLGne18bj#A!ODjt&)OkQZ zJwsmPW5l0oQdvrDZ0u=iZZZJ70+?#aQp_<-rcj-zXSAgJ+rX>6apZKIUH8|sfpX(Q zCMrMrXr+`{xJgmYh0XgbmHV5aa`*Xa!M*%)w@^KQw<5n;VnyfC1%I2ut?rALf*KfN zu*^~NMfiY8;3Q5)k>m*^J|Kvs#;_tAyc?r5{)&&1P_O6)y@oG=SLgj{0->41)t*;w z2cP>KzKCk452uSkHd}5NKG2;mno8d27`}QcXilB?8&koX5$8mA;rUf_yQ}#|ls$!m z=$jS83oCxE(Q*)XS zdMA}1=KA;ejkZ7-O`3Z|RHJB;P#Te!@b~R?vBTHf?n~ZTI~FG$Y(!dMaIk(eRzS$1Fov%5wRxT+@IfS7{h-=hW;I7YC>(SzF&2=OR z($A3s+7DS-3iiq&^)~FkHghbl(g1~J(jtUw;g-eOs{+ibw{^l#GlFM(KMeZ~|1oL?!uI#V$#cBkq&CV&l&^EOMJWMlkRK7_ zL?$m3oQ6V->BL4S%UoU{+z)6m+#VaLi^gz(vu_Q5Jt~JgqjD_=3xFbmz0g+j&CnPu zud%x9Jx33dZ&VE-#pe8+OH7$ST|v3E3KDAQ&E-9%xuyAj&65^pDQlVtfIenxZH zxkIa`@$Ez9?gIxG?i#^hBpEYX9kz;*-7_-Os0!RHxt5XNyz)x@M&r<7{WS{*W<%u< z|NPIRH(-+IdSPYOr}$S-P*JxSw){3dUo-b@eDg2J7KYV2@PaaR*j7X^i`mCFczL)_GzPPgM)gp!&7HajTqh33|k z_lt5>vmUm#27g8(huOk^Q+@yy8&p4Lz&MasjBNT%<&~vruip<2xBIgnQ#cq6N)PTI zD5K@#97UBN;8WUw7_;zmvQG2VwWpiD8U}|r{xt-RElts#1doQ>0nQ$Qey)?|R2NiWi8F#?k<9LCtplRG4L3;UFL;%Nf!$dqBiOf13pCh~3z`qTKG9xCTH zf2Q7>nZajvx&_T_bYXv!3Xpx1TP+v#ncPxmFq~d`eSW&uo1ZBS1Dv>qb#^B%+)}$g zGo#ErLZ|Wf<3|EFDn3xAJ(!<83|m+GDaX&gJN!r6&%ci}T3yTOzf=DJ_4XcBVjU&e z`(fl%nFW88YDml~ zmomBbYYr@4)7JdR%UIbnRN))?-Td)?+c>m#g^i80uyb+a>y3M_Z7rOBf$0!1==_J9 zs=VssKOFBMwAZNQa|D)J9HYSJ`o=p~_aC{d^{wiRZwVPdg-5@GnpkP>1F!qNVPQox zAoWC6Prdfea}+q;c>dJtxz$tWc08@LH=bWTf9IX&S%m1>8T4$5nlKk>c+n#(QtmI2 zi0&U*iSlG9J7 zu1S@jV=79IU&)@38YFp;$-E$wvbIAJO?%V`_-YoP!&ADwI1!C9BrI@ah$TohB$o83 zH(as0Yj`VWgi-?ZBH?U_`2Ll~?D8}iGen7ExdhFtHZ{zp8|`LV*TJ7Lm3Ygqv>IjW z*!QkQ86{?j^aY*%JT21MzN{j^<=;o1nJN8QfOLsRhp<9IUTw{0&@$at@ zte`!R1S8^7kbomai7c3dVHB6eWDT+pdc8S_Km)`&P2vn94wq!UBG}_iDZ&}QCCB2l z#GYBC^r60`-AuJwMhhqe6!ON6z>7OAm~~l~dNsOxqg^0opzDEs+O~BSQe1|*mLD(+ z76~FsC37TWTFbTz*CKOEM%XQ+&M1G0oOCl5p;5&w{i2H(itUZpL240Nw1}!)WLA_dW!@dqvGWYUQTEYVB}xL?)w?; zTPBV`UCx?*HDLDpQ@=_A2i^6ixr2x}A~;;}BqZryy70$IIiAda@R#$js{EzMcs+9#@; zN;>hE!ZAcDkFMIh4GGv;1DF|l~RV<4? z8fLPNDyz> z+noL)97~hBU>|-L$z|B(k37@*%2z&QGKF;Gfk!-xc$OV}1{6fiT>kG}p?^_x;pXrh zMSxJqcStabIbeQyH7b=40_#qt;a4@$K2hWtR|hmUAi zslSiQ+rmD6NF@Cj3`Zr3Dcr+xfk})wLFa)H7sl59#K<3)z?7J;C1#tTMHg>LsR4^r zUZm1RXYPp=Cbsta=*3&=4KJ!F|Jlvj@(%l>vya_(J7eoZhd?JiiE<`wp0ZEdT9JVQ3hGT&Thbb*||ooR$Je z57}hsc-}bQ&j)>2Z+0fv`1aimN^gT10n_-&);g2;E` zHERCw-OSf-p(?jpB{gW@+gep;%$ zOT7ytCFeiMddQPGaT_UrACySc+ZnVy6G^a#`0AcXe02};)jdEUdr;(i7|cDySNFuM zTBwwaf*6P~bE!Mnx^N1Tl0g(C{)=O*VnK_1m*<$qkC2xoMMZe5AY43IML@)b^+EEf z7>ShRhQw=Sd~sa)!jh!Uvup)hjL)V#T=D%1l=Ko5qI@v5d22o@x8|d7Hx;|+_-(J& zS?-krPg*Z{X)|3VfmTgtb-2@^8}!>$hqts5G{Z8y)u*Unf?u)tvW4Rh??Q;KJbZHL zj#gx8~>6iIoQ3b3KYBC zTUemJUCzOgrp_^}d3rI0w=`D5e3q*PTr{XaYEzSb;};Fer2!2DgAO`qdA(ZItyuwZ zh`r)4aK5-8Jw$gczeM;(a9tC*cT)XEJda)__9yg@arUkd3=X5=4~zY|McNSp-wcP- zq=@xI8YCc-vB@PTT-U!{J@ zJ^Jd)F)R5&g6H{mxKK~mGj=N|<;5#ZXA6eWX~PXuoJO&h(9JSOcx|;S9EgjVw9*Mv% zreZo1E5skZhx;b$PpZrwiKB}(bf=i^+iw@;c3F^-zvV6#Vmg1q$&j)T%I7BKF~=a` zmrjAkZMi>ZC*|wMxCP))&~%k`onkeJHE;9 zs9}Y#g6CaJ)Z_K6_%qMp{U$ZHo`p0to07ur&$70YEvb$8Wx@fHcf7{lGx58-HjjJ5 zc;7hcdgUeWi$*5TsMjUHDk!G5r9d|`L6IKn^~!?fP*_~ek(y6EBke3cK_S#g?az5m(=yJjtpaC!bL))T zSaZ*1{!~k=f#EDs*KnP$`#xVA81_Hg)~R#nsLw&Zxns=l-W~XJ{W3x0#YNBCw|~cF z4)xI;13nrg58Jq_8c>u%%Zs6Be&5i~S=jU{cFVi8tJQBae!_45@64}piJ_Q%x>>3g z6)5a9+(T5vMM?=J^$2xp8bZE!nM4U+<~K=t9s)0h9jeq1)o*XrV=w$jZCsq01mr!B%Epo+3?MUh|uMZ`UMoI?89UBFb zv%qHAvCY&f2!%ncviMm_*~bRddR$a@c^`sEw8e{bJYSHIX2JM)OWj$(lT&U6@pu1? znX{K?oV=BDVHh~U@($a(Zgb5gI`c%^NMTldB_3T%4J_c>1k^ESiW7V%++hn z#>{dRa@v|${JBh?Y+*&Y95RH|na{d<`m{kBQ|U_l%BF3eQk1W3)xIzMO{rcD3mMDt z8}+cW@ihdQ>;9+JZ__b+Qe z;g$I-O>L`kmokV#a}w5BEa5I#BZ=vHb|ScngZ{8|T2TfEuU{UQ%%7CbZ%NsF3Z@mu z&+6}QyLb0h7lb^tSk>Jy_v;(K*WEi`QHs9AN+$L6XPW*~Zb42|pax#@EIJV9X496E zWY|m8XDJMe7RYl#@ew;cuFaazeJ--El3$cQUtO#I9aZ-C&z>4r*?;MY^RL*w-QIfP z(etMvUGKZ=B}>=8xKw{~T^84MLj5|rr3Q2PZ0c|_t~P@a`(idL$evhWHWrwT1!kjy zY-F#E1!gm_jO8&#a7QwNvFkFH13mIRCsb7kw$DJXBanzCGC(L0nej0FatXH=DY zr2zjK>2Y)oVT>a=*~U*$0Tf=jZiZf#*0@H#Ud*a-i-2ZwGT2i_O72;r z&-R0--JW_KUaSDRyHnaF^sfMQQxgnWka%+xke4p}xN?|bSfQ}EBmf#YX7fFoC z?O3Q~Xz^&moQ3>NHt5D1r83~fUvh<#t9A?1yNbSdWHxxoq{{$zD$PB75A#lJ!ibsI zf_FMZvMi17PnH)?Q{SeTJlFRcfM>CZ>?=prRg;q7p$H; z%@hBwu0A8r+b>|_c{%Q9&;8B0bKhHAJALll>C!Fl9+vZ|l zbZjEZV|p9C48}bRCjAA{dw033_Cjcr0%NSYyY}va-cpk82ht6J=ir@-W<$iJVt8fG8LiM}S zJE2KEKihb0-!<-vvofu`Yr6)ClL^Mv=|w5Y{ijLu4}X$*_D$fdDpm{lw1vXxAxxhI znd+r1tX^V6abjq+O@fLULbW)HK#@g(n4$QhgjLuXDOHTgAZj1q{N3XjdbTpx|FIkO z=(1X^M>{e#|0jE=kJsAO6UAIN*!kCF%QSOGlt0>v#cW*PA!#tTnBL_y+MRrVc;L;B znQ{DZ8dAg^lev`G`WoxH2?K9H0C*2f#3K?7SzFmU;M#Z~LxwTX0S>mg!pM+C;{*$yTIKMGdttw`%_K&BPN48nYKREp~wKvVR z>eE#kIMAa(+BmQb%y(_Eq; zm-W)?G_!tiy*rrdv^4Ya>QxJlr#CtW-&v3Po%HgQHD6tC_(SLj!^?m4>T4~^{jJX~ zZTH1qxNobY{8#>=h1DyRmgP;=7kBI~Mm7SBi;w1G*f9d5#lyvMINvK`$`trWEY8*$+L$B2pp5}-(iupL=L8Z&6If5Y zH=M7FY~aLSx@q?0?oMN>Ytqldsk>ya2i2T8HE8zsUS)*6M#ZL=WjXD;U}qF<3c^C# zZuJH}{o0DkeAla0tK_YNAV*Pwe5`yXOCB3heL6!B`8W=O1*Rq85E#1PTPo<5phSTA zdjZ4+F`CKc>&kCjWESef%q>ty5j(nreaO%eaTHl*`EcLUgCsUsg#)_W$ z2=nSWsl0~bPa=CCN%`?Cv3c)J@zze>ldWe`?_k>PWkv5LPWL7z+X3P)&ypE1`ONK` zTX$@3-8=sDv#AF*x8A&!j%Wxj)OfKMN{I&rd>rf&@yd3lhIJP2p{-uxAZ> zEKrvNjaF*b*vPSc-!& z!U{*`&p`_s5f_BE5a(k6gWsccls5&rf_6BsQ{2lkrZ33vByjS9Lpv6axiklDd4*-e zBN98vI<#R`mSLMzXXba-taNSX93}Ph_M+l8a)C4xO*iqs;dh1y&$sh8n=b9_blQ@b zf9K`X%EQ%$cdVLKAEGk4G}6fbV>vgx!D|&7Mik8HttwqG+SQiwGh0oNjpy&Uqoe?2 z+Ii2(YEY(bJk6|zD^$w`jUp5n&Flpww-C8XHG;sqFg$bSoklAhmZ{vRSk!g*_d~)4 zlJMs*cc!A_UIZx5 z$hihXj4-jo*rJ}sE44ycKDuM~b)oQ;kTv}Cq6Qsil=BVmLiddY>AsPF(a>cbrXAJ5+q|?2V&0Z%z zHM>|VE%qzOJyqL(ybsR_q8s*W;?Ix+`kYJzsH(y)F<8ep|5@xCBOVYgM>u+wx3;UB z3&mKaq?70Z!uD~xP()BO9)uXE!?-1Nde|u@ibLAAC&~hfr8t3)z2V4_H*7jy%8WK(U;iFc(|9#U*Hln%l&LCGMqZu)uH7H^jC~ukgP#4bm z!ha2CTr>soM{)~G{)fn8%nY9id+7CNjI@{QpCcXJs8lxoJS>@TvUL^TkzYNr@e42J z@FsRol)xTh@*o+ zZb;yZ1+=IYVtYYWfLH-iF#s4N&cg*xUjbg1G^A~deX+baRVvTz>2?n8Ag6FZt;hOI zIikW;-dGi5tzO9tSN6B}-5l1Mm{!B??uOMiGf~GMEIBQ|d}uO8<6Ffo`;33!5Yo;eG6@`zS1w9IO26eq4OT>9z46+TpbjZ!^`E% z595)?ajQw(Vo11ZyDS@9NE4mX+46du^*Og$zcA@tqSUr@!MKDy`S)}^DM@uhsdjj& zE+;~RK(`AXmGq;$3@XDlBH8a&PfeH@$daqRcUnGTP~_WR>}>Ipve#1fNZnaT0N_+(OcJ^yEt=@tX(805kL z-5xqmns(w9p~knlfOvidrhYu}SE3ki7ZpB94HRn4gllurzFzDLaKeOqGXfHlune&r zzDAs`l@0+KW6On!NSTmy>U;Ja zeXZx^BFF}&WtmwoTl$GyE?eGw?MCmbx;{X#>*X_)@GZNo(rWcwbyY~jblPrhe21#$ zl;^Z9{(DEVO+Y4X{sch+GB+GMPxiO+@}y77WD3;%Pfn@&9~b5VfU`s64F`?H?QQ;{pL{G2pIk>)5|+LM{If1#U-^w!E` z>^ue1MJQZ|XX&LfM`IPb1YWcjB?m&V1kODau9eVaR$>$?r))I{4Y;SM<;nUKYV~Nps{Fz? zzxmR%=XREsI{8L1YpT1pjIVN8@Ytc6GwQ|7FUdxK=)?It{@wF8{rW33b0?iOvlQCN z=S=0ZTk(b8D}45{dUp<%J-~CT@UEZDzohsRP=DgR^xvTvS4$E55L_)}4OL=X zEur>L$UcUE2=My_5KlBi0v?Rj13Ixm85a5Z+wXDtSZ%>OCW4K&Ei`K3U*A6V1T3w= zfVzOhHeSpI_+B$w3)(Z~Ngo$-5Cdmn!KZT-g5$!Nce(nPZy)zUQm|2iFp^lqE4*_t zu`#YNxlKZ^l5!(jTmq~pcm73TCpw&3HQKhH@IeaS8s?NmC1I^_3$!sPL^_mEN*$)H zV8bxQ6^dx+?A8{#eJbOkwn3z1sHUzv2Qh2*cZ81qw(4j zhils}I5FuK1N{(?QJ2J!j5T{hqg$D42W6=mS#3)r44c6%#JESd}2#W0RgSzcy(jlkkWp{E`}o;~L$Dwn-)_rx1ZU zivlS{BlOW|C}Dl#D{&QuCh(G^vRd1I>DdE!wcq)>jbr~(=(MgoyYQ0s2cJ;PLe}t| zb9b=uMjk39T|+)$$Nu@z@fKQo zfmyMW6Uo~*~4p9y(1!n|0xkv{w$btWJGlrgyUJl?r=i+yFVz94$}L4xzK>+U4bI z_jOjb3#Pv|>a>p;9Eu9Z=UcmG${XK^ZW>94oA%oAVRzqh*D9_Cq{b{PNpVX(-*mDr zHPibgJ9PSoma3J71A~?8UL?Z=o+J-utL`dD$W2yC0uZ#6twfrOZJ2Gdk}nzY85-ab=a_@UXFUyobl#BFod=V_axd~s{DoPR@S9qFz! zBXU5vbIF`{m?5*Ne^AuaPd^8$qBEt$%F|FPDeSdW5|Mv^qaI)$J-|GAfO+%)^XP%e zJbHk6^guk196tR(JdbYO+D+^xS@r7MO-RHAwcJI**DX2MlmSYu9hcZ$+3;0Tu%vD>Q7SYS1Fu- zlSV@v+X;2Q>)2(|=>oOT=;hpYy9~o4M{}LlRH*B|(^)J94pqvi>Z@B7s@m8!mr9GF z+YmRODv4?8*oL(3qxodUE%qBlolG%Rt9H9~KJQO83Rc*X8ipYaC8$I&q#KCik!?V& zd&sozk39$tNy`tzBN3mgKv~JH27QmD1L?F<^=6_)O6XYGji1PaL&1l$((f@VX_BZM zAPY)=IYfY$wwe_$JVdKcIP4~Q&F1ZQhem02c{ZC>TaA)e`+icT@R;a!Yxd;836mtdm$1MVZoWtJT0t?hQkhe?He~S1iYN z+ufFv0gj>wj9%zU^OM@pv7?aW3DfQ)C7P=L%3C;xVJ%hnRf?l>2im;dn4+JUo0%IZ zG=qM?FUq$B;HF~lPV}wx@Y^CjQLnnpTV#ec8%+|C0OFp*D~#34y0 zi}|++b#L2ESIW{>M%QzK&(rS@)vJ>T*a-(dJUkMS06G%2w2?Yb5DQmJ?xv zoZ%^I-3=E#)4Rk-|BAH!VWw+pHT|1~g$#KX)FH#!(jn$qdY(2t)I}|)!*0on*ycYi zLwRn5hu)a4X9AEY$`#R5hk|2lIbH^wmd|LFOlP%S+gHs%B!+})r{N>Bp{KLd|KMlH zr8#{ZSKzAn2o-ae{@ha442F1Bp}e$eplgJ`o2&uh2fQP7`!lJB!2C5H4>5brFni9x z(jzAmD3O!m6t=MvANi`IBv;}i0p@O|Z3=AZ`Tbbk`2dOfr6US^+Iu@^x8tqcQb zn0ON7fd{6IRROFlnIaeTH~ei9S*d`5*iUo<)$*7wbU+cEAv%Ex7r%lC8o%JRyrq0D zwp6M6v(+g)vZcq5=In<7?P$ev+~cQH$<^pNnKqAHqQwuS=(xuZT);;&SugV__g$I? zNe(jg$^P4G zU*ar}#AlSx{YLz`XHx(AThFF`bA0w^Q(xcQ`m4>Y|GK&LgUvHMLazcv(9362?@Ikf zBEC@MDk3DA1Pn94a$E(wMI9oU0qE}r;)p{;N-U1<;it`;kWHW6ZdaB+yt zhMH_~4k~627U|1imaY6AkkDu{r;tLoosRxGwSVcH|W#{;vE!1jB%Y_JWNZ)HSK_G0L8QSedH(&X#ys! zS+Pl-Rp-q@AuIxv>*jvj4zoEBrEJy<3U2mcG8iB}2Zg{&>&FfC>e|n5T}KBq)b68& zD@|-lm=Yxf=NpZ>>v*IixCPzz=yyPsMca%jM6Pmd zx>G@n@rBMZ*yO8&P#iAy)HF&1j|Wec?8?;G~C78o`cM*OD+3^?|BP&@GTQO_!jWs zTL9c{0S~?fr|A|1!7VW!d<)C9$Z{mNBJX|&+S6Fbi8BzZTD`(h080)CWu#alf$n2E&XB`HGmFJ%u$7r&;;!`8%`t%)V;6GG0IqTN(* z1S+ZmyMlc0^YIIzT9mg#1CnZzfD4n96XkEW^6TF4C9!>4gke>+7Cg~>P+m5}Lj3Z3 zFUGT9F4<>Q%pD0(0^Ia!=+xgOR{7s2d8gl*lu^cbdGXu)QK+z zQ_Z3}J3pz7S&wEb&18+$^WEC3opvvgC6jqAweNRrpW7Pb+>4t`8z5|pN=)NN*$T0T zOv!COm5xYjNw=e>^5yAvv61C`f`9Uof0>+d$~u8N_U~13y4Z|ey4ar^?WEiq;70s5 zvKSZy;ma-tFWKUIyVQb`E0xg&$^r0+KWj-@dJtFaEc`W|id=&<5WoiGQaE@{r2&d6 zmp<-x64wQZP4c9I8`ukU3Mz-h9%3X+N>CZTSa}#51xF2^hG%7$QS^)~ttKpG<9@s! z6h13mdEFLuaKuPcb)No5q|4(ZxlmVdw;*|W4gdj_o;)dBK~-g5(1(e_Y*;|>s^}F6 zOkk|oA!(Ro@nK1kBuRfhanf+Xs4}eOXf=}Y_4LgJn`+Ei%7&6GPXk2G$F+FgP*a=t zSX3&)6zB6?q1w`fposHG{TpkV;=lO?k=@0Iju8DBOlOtsPL(Vp$W&`pJbg9O@Z1u& z-W${mayBmbu#&&DCQJy4h_A5fpCx3l5|=K27U@3OS{iRjy!^|+=W&IQt>_O6ftgEX zc3DmFI@=32)iEfIV)d|HqHUt>?WU_5UB6gV1c#vjFbUuV$!Xh9{HnLwZy%@yGf`u8 z5d9}pf4PyRou;PmrcJP=dvDu)N565?+TiG}VWx8X$QD_^;5=ER|$d3VRr zYqzWVje8p_UY6p{E~xnTz3gA+=(L;n{|oJ)jEz^P>+Px8i2jnx$L^m$dB^Tn8{cB@ zYpz--&+VIzC)+g{7(La@SDOL9Gx_h%Fw&3C=i#lliac=(i1R zWVMq@6a!=Npjj}%7Nzd$n8U_&Twh%iN-ddF?1c%5B@Koq2%D5vN)R=v0Nx$Y2|=*5 zJ)}q{qLtE?3H-*OWUn zUcHRKw_QG5F1;%#*I>NUVWXyOAE=F{leR!hyr4+?SVXc$cii_i=`c@oJ0Zw7;Efv&5N-Li(yA-RV*U>B; z0Xn<&A4QGnmW2mN0{|s66sqdCyD2wkjP3fF6B$sDZ(I89kB)Y3`R8*4-;Ukb8$ny zozqM&*K~vFl0P%-L8?~#nTG)m3WNnTn}+3RPSdH}iQ-}6qWuDG6ZM%PVTWoz%bYZu(@W*WkJ%xGNW5Vceq>`v0ZYH!rmyc= zm4;*`!;bduUO*Ko(>tm==h_xkakpn~Usmck#rZG_R4t?^a!mCOW-p&DE|#*k`u|dQ zCh&0-SN@;sx$pbFHPVdkdnEaiEg!;{WLuVvF&HCTvL!4_Mv}pHfDmj57%&6~OGrq9 zIRZI25`rBYa*yWm@p6=@E zs#jI7-g{rQ%LFrwnv`Ha1Bh7!TQ=4do0E67XtHR{2Ft6ond2u68N-^apJI9i@_mG6T zdO$*7eON+au@zXsV=L9FPY0b*lO~LS;p>K9EUnEG*d67xECPb}${Ue4+dj&q%Azz0) z8PK&L-=Z{{W=UZ|mB810eu^VSql)+uU$y&7KZ65TbOKhR#B&;Q@jpANRH+6#cfK7;yivzr1mj9+P?G;S%ipU~g5T-+&`dKT1+pmnD zpP1i}MD(*%W8f7w1>0S$4GhT!@Vnv{Yp;xNP2y|zNl&z?>GFh6!$PxX$!DIr+?#Go zg4X4JA=T`1q=N{_=RXp>#$P=T51jWYvm^G_>Eg z1(363i9x~>11tW=a7;2Vg+Gv-jWob=jRFZvjI;I;Qh!#_g7WQkvnPW zB>qRsA`IHsgd0;{NV>F-9iRP9r(Z)19QZ%d&F$vtw?vLu!Mk+Bub~M>HcR2^LT#4h zhzHG=OsfT0_R)f3KK@N{xogF~*z}hW#u4M!iiM>e z{BEZZ0zxbzJYu#?zm-Y~iTVO^*eZ!B=C1%h?4wTY3C<5IpXNTyg|buBA-3b`*W>9+ zpA?2Qr13)Vb&L=gwrRT1Nz4f>{IR+~9u1q?JvRMt2onkJLJZrC80w+q(SPm=Ixs5> zRky|JH+5CU(uh!G!$8-$zS8Y8YTXH+EviGjSggOJ5kEHB;MxwyE)7dM1F*Z$+N-NG zrFAi_u~#>@1VT;ekXq|&=&r49wOPDgzpY|fHORnKE$#JXh}x*Lr)%rIF1-x_ppy<) zRZSIiZFUyzEk{UN3udsh#?BOcyH{Z^eG?f?i*atS48!cqj};}?F;+vzSS{-qtFdsa z#wxTLI>u`Juo^nXYOZf5Lu+x+;ocNm6?f;|H1f#0b02tfxuM8UV@&QFuSja*f&wd? zD9m2?l&YkzHz(>4U(9Yt6ofiZIz%1YPZ{E1l%*EdV~aRkw;-9EUmM=RRj{!05~|PH zmd$SKt`SPd=Q9%>9g!FUsoP?aj*dTiqEX^RG+_OoSlEEf!UVFh`nbapulKf`w=|Pk zdR~jEX>Ch5+_JWbui@qKx&i&_oocS3J0o9ouM^`c!a-pyk#?6Uv@sD9N*?>N_@c&` zzj}UZYc;erZ4A49I_6v$Ztd!7OD_P#%cRho&ipdaw6?W+MN{M)p({K;HNF4q@coFh z%^Q}i*ifIgIG0)+8Q73;St8D@oT>`!yl#Py(p{?TX>7o15fc-7Nb<WB{2E?`*rbcS*cF1UL#K|ZyCCn#cc0~3tfh6uQ+uRy; z=uV=rk+GB(pjnXFu)mFYdJHH&TG2s$jSV%TqGKD+K+?qGz|6RZ3^Ry)Mhhvo*QM36 zt4rj54A8W)a*(+lmZ&FQ1+5>HNNS@G7`5b1>;)n)mp>aa!h8x#(d-tD6YD*#-C@!9 zXrT_lHa)qKx@YF_NXwCu)UP2v$+CmQ4F<&ad>d)w%p;SUyI9LQGEwEqH{oY!32j!J7^ zQ-h!iC*jHbsH*lf zmbVm2nfD4EK2WsAqv#d)qgQZelo1R(7l;E-fx$9%Mn%tn*)vBpRB^UVHHO)EfsoYG zW;@05CDUlWV}nHYbmH_^S?@&_uuzQT#VhnBG-)F>IpwfPPxGlZOw@8y`*spLdgz#h zCO&ocdZ!;v*#S(merHw}VHu|{gN<-wWJSi>RURUCl_#d}fi;mMvm)XSMKUg%TI8yA zmb2ehuFS^c*_D-5=g`0BEOP=7=(Jj#&l~AK$k-?VSM;APM02{JAb#zP(j z_H<_uf`P)J;4L6FgBXwv(eFwc{QbQM3~_j!!^DpFI?QjZ>+QW-p#^`dcjWM4u-OiO z)@)gafZT=qq~iLwqy&ZgTFKm$JD)2l$wd+^0I|j;5*zc&aJJG3$(aelw-H`op#*iS z9QY!~yj|BL>a%5=_uZg!CTSO6i|u@=pKRp)WB~nSJNn6XrIjiK3iXh7Xl&?zk{?n4 z)7(m)zTg`;6kZu^T9hql+mZ)Wu5tVIVuLSe?j?_Z8#Xy?uv&0}s#fQZnOt6PS-_mmX|mCT;RL8t+18Fo`S^<7Xz3LAWSb#G3eOhvP3Pq z8$v^d%0>NvT*sZI+7EX-S51li8_wcu5Auvu^6EJXOr$=*gxx9U}mklohgzZL)pnc8x*w>to zea-pU*PM@i&G{I0D0nI+p+m^*$6pF|Tw>uWPTpy5K~uzb38G4ya$NZfX^ECo4^vM- zRk0f|`$;D%mem28*syR}S()2j6Ao7;Ll%oiZ+0ioT@q|a2i59$^WvztHl}yltE*Co zj^Pg2>~I5hIa0M9r4?~zQh=XjBA)i+9hN17!3ea)?r;+E>~w-V*_22?*l5&NU(Dk& z0WYWZxG|i$qh(Hn2S&W;;=V)s!6iN0pHfr6mYn1+d8ls;pBR2RoXHS$uC##)^srhhMYfG7t2D3)Xf8$yO#b%+s*7=)Ox z*|Y{XWb=ilfXC`HZN*MtAMD=EzGz5uE-V<;<`BeMzFkutE`_aP={uXF7Rf>zFA|b0 z$!EYc@kRAP_<>YMlcbWD`%4L0_m3jOE*t}}uAT$yjMIBzY-B=}k zvMa5L7i5T?{O@#S9%2Vggao#`xPW8_upPBg((}uGIe-nyYAhe;VP|hc>65F`eEf)S zs?%eG9g$8+%bG!~Fic~Ra;XIGLHd}^a4bA;*Eos)q~!7M1ow_2)6<_?E1+b|SEDm) zeYLb_t`U4S*cnH>lAk5wsW5_-cGmbR?4?gWz1bBCI|dmWW9$|Oc6r$7BiKv1@5{)2 z<#D`Mo%&Is91u-y)jYfP>qYOl0h*QVSnZU&WA3|!mM$y3#Q7KR3_wso3q}VPg8(2t z8<3iO5=I?~jzCml1S2y|3|3_NK>H0)I6(O&YSBvS;uc#Th1Y;33L+4;j4xQY?~9G+ zV*>}<@YuiR1iX4ZEjolv3^6!$6@9hm^ z39hNDTN@~?wO<(Rc~YKB2Q1zd9v3uN7NZt}%@tDyyWnq*Y&OJAZk+s#BKw~^0+oq$?I~gwW7<#Cptp^*9D~CDz&ERG|!2PUoT7$%m-_;b_*2SO9G?jx2AF zVc;O`5Oy{3MyR9mvq&PAyp2=A)+(=7TUJ$N2^zfMA9x&Xz>2|3+5*?Xa805bn>vmZ zJVju`YPH)^UI#Xuu_+4+54Ewz50+oZSMStWqN`J3k5=zKr`Hui`ShVgxeGagauqrl zSlM7=?=q@=rEloWM5JMHd3m)DW({@a)&(#ahubva07<{25e5Wns!>+dgEzlL)pLRg2}Yo9dl`QxLR!Iq{;`aQWRRHld7bGGqD@K&v1Yg|02RfMM{MJxuv5e zwcU1a^4<%8_M7*8%lDlKjyOL%{dZY*Z^czrSMA->u%)zWre8TydE{>{Xt>}(fc_rK z-VH+5uh~st0CocgNNuukexhIpiFnNL-X~LN2&OnxgFZ5cf>ks{h$)^vu`F8laSBEuvKdE=A;c?)5pIWZm#RImoP!~3nA)0T2c@B)qqA6Dy zZ1`NIweiOETRQlGIkX2&iI^AjBD*u_v1x-kIIF39t^TMZG|wI)Y8Dpn(AaAay2_(Y zceKJq?~vAI^0<^i6_m*6+3p&}2BZi~h@foWnZ+X1%zC|-$l-d)HZ&P^j#sdkWg?;c z@1JHbQO~>}0}T^xtEwwkgs)i#i`T+7rx3xzEv?uwd7`K*DH3FOeb}Carkcwwtm5&O zO5Vx8rz^Y;3e`P4ycWh#UUS^mt8*Is;2Z)<2kmfa#h>{JRAN?LzuW$S9XM^~jwm(J5C zeR1f-Oi`!7sW&6~BvfY;%q$It0UA=Q(u-+;FOc21ySeziw3a@no7m~1 zb_HgI;^wGR>>+$wUh+N`$}q(Q$cf?Fjwq0dNsq!y_;~?c(KG!Pkc$8>dJnq{(?+p%ySsM zfjXG^M&Ofh`0zJ6u9s+x?0#St3AN~9m9yLa^m11mq{ixmOJ*~|bv_sb$g`p1Gga*; zZkK;r)E~Nu&`2aK&V5JE#s?xamNq(U&meqpOtR$1Y>IpK>GXb@1o&fGEc`Hlm%J3V zSnsWBZA@!DF$XhwQf8AA(M{~(fWOHb^t;W7%Y?ZN=#4hSTMosXj;`hNOJCXaiByeC z7pjX})b6CKqPD))H?JwC(I#D9a1x-?)oK!TxQoH;w_&p<+j9}#Wucr3L5i33B!3FA z;@pTweU@e3Plwm_4ILhNk#Bp%O1r?49#Pb(l-6o>z-%}WL5cKMFRmNbEa}pmr&+Zs=Jdnr z(+Y&J#cD{I{9b5lOZXILo=rA;pm_A?CjGzq)v7ywHGThYe#4q43{JB#;f(mfhw|7{ zZi*?9m-Tn6I!_}6rB({1MxhGs;6_AuVAfI1XC0L5(lJpVy9xW5o zOfdt)Vp7T~jj?PLQVNbcdf4|~q=vy8hCuj>YS|V#&b>&rnKBq`Vas6~W+(JN?GXr2 zpu-w1s}6XKPNz+yCKhGuQbfu_TpifSCoN=RWOq6ZdW7MjxMDho%VTQPnM`2gmAsud z5r7hFE)W*Aj=!+$Y2SL6jFgnVA{J$TuNw}g8km=X{i23zkU+D`UKk=9byG5@(gZ(O znNz9pb4;Z}?J*_O8J8=QPMDp7+g91o5;%ZRLjt0O6};~!H~Aua zK{ehU>K84V6ooiIp7U)L7*^96J=uS?(-4b1t;Be&?Bbc+w(5#dm7_)<1Lnw;@w+2c zPL0(9=Cwgn2F9N!3DamzRW+N+RFu`*tF`Vx$dYNgs4AVnr>f?vj8IyI(>H^i^fA0K zI6E4rzv(nvt83FH%#C31tfvL-&5mBH(|ilK8hQ^~3*g1aB5qa~Q^5^;jdIlp)}V;E z3U3gEy(OcdRyl=Z3>!;oF`e`@TPrI>x+Ku(oZmgenWBs%nlf_fm;M=WgQt&O$% z8>at)w)@QA8!uQ_AM?e*EwVX6ESj9(h`S>*N~3y2|&V8?^ku}DbKl%?dxm&lOLY*s>aVkb z4_slV+MmjJ;|wwT1fV=i%KayZn6%FGqM_qLy+0JTtYqws6{ecHGDs_dgFQ9+7$Bea zOnDe~h`xY_`!}dFjnyk%9*471@c6xIrZ9|7e;ZmxclbPWB3eL}q`@$BjHkORQ z+E)Pb6P{q2cq*zkR#hi|rp6ZH%TUI!Ppief^!$2+pkNomA{G(Udr(bqJVvkWL9e|8 zy|%Q!L0E|hc#JvO3}`RVO~!b%5bT)42Nx2aA`L)&R0dyPQn&ir;I>3xq34nI67?WHURrcv56wS)sAp+zwl?%4BCo!x}>vAW(yioS}G#grx17-@!v6sp!<+*256enHmbKJ!}*$cMgR2l4s}t|On$e~ZDWh}OyArB=WbC9{w=VF&z5VruOe0MX>90!JYPNnJckjKnXk zOjokz+K@U@(^4~D1|=u$mkVV&of*VVbD279L!7-}$nLP)?u7p^;)Lo_DePA1&Dg*| z6cm#sorcyBVF1)=z4l{POTZ5@XAa;AE8wm_>T!FG5$1_n&GVR6IGr$Lf;&$?VK)WM z5P9Ovlq?E1CZ2rqx?=+aw_eowA)JSnqZbjL8nf$F+~xu-NGulbHmDN@JZ2Lxq366R zB0Wuxr(i+h`O0;OMS(}Z{tko<91ajS)Vnf(IEP?*>g_ZN*kY_ktWUN_l(3SV)3MLu5Ih<9s|&8mE1V9O4f9>M zlbJ(7ug(?@c=WdFK)luA(3xQ}oc3FsPC)M6PM0NEhFGJsaE3p(R(b@l-JbC>&-8&{ z6_9b}im)%~gNL?}0+1NIEFKPbEm`REX0U+L(XI((}^zUzmHByid#;#IXr8W)fSoaihYanzi$i$$4vQrnkvCc5Q7%MXkTg zf?z>bbBbd>q3kw%N@`^UM2>*0DO@;8!TWOCX=61yZ|1?SPPjbf3 z!9TB^3o?o}ny-HY>^Xag^#I30AIE-ji;-C`;sZl}_KN6FmvgyX!TG9w1N6_zpbpXk z);DI*KQ%Us1C|@*His8mXIgdno1lNzh9gA(^aqR;0QPu8E~0;a$ZHRT9ZuG#REyKs zlwrew2%rW>^u@gqJHp6Y%z^6;C2ckxUY0}vjb>XS5vMDm^~0giMb@nH`Y*prI;&bl z;)N*06&ugJ5(ZT9?Gg%fn4>@o)*gO%8eEM2aHn#QaF>ESxj(Cq){R8yn*-zNdj}j( zx&mg<&~=cT6>G16bp$5WWR|UiPXi>3(lfrLV<2gAo@Z0a>xu+LoM#wObpSq=Xr6Hd z;nAtv4T2gpPowkEQk-YwV71Q7ah_I+{tlNG24E1aehcvnx4)w$;7!wFAaXHl!YhSg!(S9A!q6lIo zu|?6H3g+U}Rz`^NN!AB>_d}8WA|5@S0V9puz_xX#pXLAeg?vk zLgHtkTq5RYGe*bKxjiS)_!XrTX?k;JzO?p`Fei;tl!dPV^?CTkQpxj@g!ycfu%Ci& zb|8i6zYy+ovC`w0#$gbdQsO+(kCj;!{D&4mn=pup_(A1tJMXJPPHe;=(GUQX_=#Iwwi{GKhx_tq*D;u^k&ZJ#C-wjTsJ%nU1$NM zGmW`;4$^7T&JF1_4pTs7!YL@H3GTtz>(W;}w&Zm;xU zGIcOmDVTiaVPBcg3`aea8VUidL3D|5cuCg+pV{X$<>ym{W7RU{rx$&E`JNo@mSD3D zlOY>z(UBQA))lm@z>HDpX)!gIVWsYH*bP{zJy_;$NE5C!5p7-$DOp#8^{d9m#PAl15lm3)7MLj4K~z ziBQ_U0`vh(B24VWe-U~^TAh-eUz(gS^X7a|$I;kU#4By*UPK&|%FdU0r3MfLjc$vx zvB_v>6{V7cB}PWhhsF-zQcOlfa4GETjAtMO4Fo0))rP|{1o*80=9*->gg^*WI2l=% zLv?G@*t{mpUSf%Pi^5?S*cUb%{C(g{>+|$-OsYk1EtvcHv5US;+~+~qn^{#V>vXt{ z$l1W7)O2X$N2%ewBn#jo@@QLSAW+$sBaeE@!;bk?)$`%zI9EFg)f0KNP9~2g7u1HB zkK!i#K^&C{q)(VVA$z>KI&Kenz~#u#as4n1sK#nbagA{{?x@lu9VYbXzXCnFkkF&? zH@goVKcAyVmAk-ASNDdpVU8b7M58^`=N~`Vy=mUS;nfA@vqDYU13dy(ifuTIn3kfA z$~$6@Vot&BzQqo$6XT@JdY5m985M&|ktm>$J!}G^%F;*46ACT~8WAO=sRNR~vcu!FEhD5U-3H)Pngi!;_GBv^k!ad7N56yGYA%?mQr%>; z*+Q5pFrU-Q*i*`nc;-LuX1eLOUV4d*VS^GmcJK5y_OFO#l^btpUZyAyWUi@F8Q8rq zzVybXa&(UJ&6-NfPGi!P396+cUl3@XplXt^r|Pp~Pknx+ z2h5EWazHdP4|m0&ob$(AH9hm;X4gahI`pq`K|2VewSb>`T-p{Qk4D>pJ@v~>Qo>dM zf0~H^f9ehbe`?*ZV7*tlwn~A8Y%%Q2IpYG6#;hMHA)#9P=4V>W(^|yY@PK*h*5z5K zB7Rk3p$6?>p)S~9ZS}4%nx9g9e#>bLy&5>(=Nv|7OKehi&4D#VC@R#oVlA>?h-6b= zj%@nMg39i2JiN+FWYZG}uLK^da!pKc&CyLGBHi==r<=MV8`Qf54n^%kKhL)%H7q8G za9WK`LL!`EwMLv!9yos1^8j!|YU&mwZ_7D76bh9NJL_846_HNi)iPZb4g((%`p;f= zonl8&q@DKm;u**{U7U9sRW6Jd^%#BkkoI2Yox(Pa%n`gW6wJa(qI7z6R@iAF>ohZq znkperYb9tY>+kJdSNgc@<=zwFJoI$L76J6saD$VWr@nt^#hjwm*O3jMcuZuTKF_hG zz3Z4(u_6kor=JWnvy)R#9UOWZzWeS`iI-X^!)Z=353|E{@Xy?(+6O6tHiwlF&Gz*5 zVnBk~?|7EXAX8(kxo~znPsKV_<2pW$F2z9+Zb}-gOdeYL|HkjIs(NxoG+i7mS^Zd6i-FpskH8q zC+QFt^anLce>kA5T_?(kLc}P}!Rzz4d3|&qIiHJRdt+p5_I6a$P96fwMmHjx61+xw zleAw&*CMAVoswYxAuy$7(TXxH277bZif~3UrgZ+=9rYRfoVv*TeYexavXGV-)9T9@@?(vF+&a zf!Yqkfq8r~yEc~_%;ko2xz9;COmMSgS42B4BGt2k6wAtjjtsTZWz_F=UKuNj&0%Uw zGFO!HQm8P#=q6E*H8z?I(n7Fk1&PuW_I9-R+aAF(A8KWB`GE{pA5b-W3V5e%ZO9^g zL`Hrxb;7ZvR2~TCB~5iJ%%n5+8(g4@+H~GD0vVen#;7&vEr5*LEcMJBwY#BaR&&T` zJ!07}nI4c)qOiOGY*Y=idff(xMsI~7s7pw&18#>K8(PHttd#(uPibSGO7?Lj!7=^X zu3dhHXv89D6n023xZkoKDlS27@kH#T3PHQpmKCx_YcqX)4SK|{*H}%4IN~9rt+-tl zS6L!RJkwxeMF8Dzvo-FCYJ9F*w3WQgk{|k$B&>FTM^O?KrQA`az8V60^yNE^sq4I9K(`gWyub7rE5Il7uNN2|abtxE@?$`Le+R*K9~dH&*uiDC6g)rAPm6yy{F zEj%DD#IPX-r2iVs6zB-?2DSrKsMI#*M2}*)hhB}OJJ-cwe~^yM!5&p=PwZYe&YQ8* z0Q_hlTth_sD1wF|hL@9>O!msDV`;0)2%{>ScKV|te-sso=mieMzdJZb^ZO4^Wu8Im zb=^*O<$lizPs(6F0S2kT?-`aLq_1%ZDQ*`ov|;i?rYiOlc*Nytb7T=u#4yDN8`~19 zO}Klpp8ytVuW~t0xS|q|G-S0E>!aFv>~Y01yaT={AL&Wu)~>6EMJL5WfKL%&dz8xh zV4$wt7pw+iv=fNYXxaX-8 zCZFOc0~gq$ogSsetIAJ;&J4UOZhJ#{{@jo z`Y@#C!?IQ7!?3D+7y|ua4Dt`dwCiDPY&;A_mU1svze|iLIRVn({LVO{dRPa@mf5m# zQ{iVQ&x^hnO`UXdRBzF_4O0m0JSe@ZP&T{gqUikj%PzJf;F`m1MSKLE75eaNbA(Zi z8i-Mg|K>19iXyxNAw`4cxHlUb4vR=poj3lNOcBLS$sVZ0^#-F^kN^IJkSy3g5izGl z4Fmr7JhG2+dzjAiL}h-c%?{cFc%l?pPvnc5>w*!h6z(o?O|yqyekG3|RUU#A5u^qEl;)(gGfM_$Tw~1DK>&&X zN~$!4oP$HUh9IQ%^%8`%{rTsASUM83r<|YY%ArVs0>1hV`yg#F7jQ^7f=nvZDLu+r zd8Be5?!YQnQRZMYI4gh@8)hPZRI#3KEk=;42|;RHalcN@38advkWvb%%OgTa3->ar zpuZbZHJpaf(Zc+d0S z3QsQMcziPcgj*u5@o3kX)|j)vrHapP#TEgax?t7_e5v3$A5p+__)~pATV--Xp{m{V6}@kPZtoX_&dBl;%byJX4lFaf0OrkbKC1@mSzO#d37Z6Q6BXsCt>NFjz)sdLFH0K6@@UGfS2x8-wP)|Q7eVnI>Z|VcT6y}_m*b?A0;Wp~3Hrrxu zBAf<277$M3IO9|al9UZ7J$M1<6w~lR(5cBJkxm2QJn6J}Z4<{hOMa+|{ZwX~Y7qwj zarv8z$)?z|Auj^GQbT=dvB)-^{@1RJA925V-tyb;!-~raj}@>@wPi2Pt4x1bd0de2 zrl(eCdk&?3)mQ*GH59TdQPF71}`mHiV*;mBb1Cm(nKvCqk5l2vJG~38}_t1^d5q zLPnK4uOh0H`fz?7PCQb04>29_NN+^vR^*Z1h_h~l<{WVe@V6U(H{-A5U40`alQ;4` zN(uyZBUkGnUZRv6&*iSn<*v!)K9$Q6k5v5a6H;zY9x1H;^9WBRUHAWLK4~eFbZ?H~ z$u^g^6ZXRYYC>rVmXtL)J&@txc{01AVEzCgr5%3gO8z?`rRa0{F`V`^Woa^7Wi)G{ z$fXJlTE)4H&L_=mFm84#8?el>3~ZwXv(4&C#e@3vnsz+3%VP{hA{M;?OJ`;2S!y6C zf|{c30ZUD7#!%hih|bG4xC~G@Genss_kTQJ;haCKJbGa4SKzNIjdZU#L;tZWaM|Lt)e6v71<+Q>9}{XxL_HE=tBznGVAqf(C87#(+$u3ii+HQpY#`bV zv0#V>!Q3XD$zYC0y$IZI5P_>$2@!F%JdF60c&Qw?swpsx)$tC*2WK5s3}oX12Bi1x`4aWp?US8NGS!3SO4 z3qlKQc;GIrHgyUH;-m)cutji}6>w6qyI{lCkJ{0zhRq-XsG_Nepj5T_Mx)JYywR-I zLyrxT5g60IrJ(+pvMayU>FqW^umvDHH1NX4W|aad)xz?mR1Mw$K(|KAnj9+COr%s` zbVX9Ci@9VhYk}XJ1G@}atSrxk8!z!vKcRYzc~vV}>UV(p?@zv-R&`2NS zKJhP0$4;qU%jMpZbIc&+uuMf=OQ=tBrEWl{g<^@`CB2@-#J@m@cbQq5hCAY7*y~E) zbKEBa=AirHBK&uDBH&`f5>}yHeN9YL>^c`fPzw>M96Q!d{to0hCxwIbDa}OR8^#o6 zLIK3>Qff@a7*m*h7h+7=>njW{7yLn)KBzV8H!?Qq#9pD!3CgDS91YN-KajwsPLJ1s z(~Mt%_mRZ@1n)WG0%1z98C@PPVsmj+=_K4Kfi*U`tPna@)51+o1N`yau>U6x>Mp3q zJUY%v6|_FRQQM{&N4$z0+|>4v!er?boIDh0rY5IgizhhE6xNs?uLfvQ7_1V_REKy~ zaG)X(8G@`CK{K^zOb*UCje};&JT3`mYKcc8Yz>h|1$cDA0$N~rkScU42ZxKQ4V*37 zTm&#RS?vb1c^3Ke&taVjv}c3HWwMIA(sLxhsU{!-PN#^8>eWk3)Vd;ODz=YJ*09kD zrkO-IWw$BG)oE)25T8P%smThNuXV;_rAX6AL`IsLz(fP3)oOq$5Md7pX&Q~8ZU|{= zOK80Cq?D1S6kfeRUqE&%8=(uj_%yns21`uIZge}w-0kw1yB%Zhc8s~(G3IW^n7bWg z?skm1*bjmnl^Le>%WK&n@a_0Zq9K zCBI{3qNz1mOffB9wtPP}Lq!v{wc!(LJ`9GnA*A+5ovUV5~(rh7zi2 z8M{*H{pG=?9+wO@EsIPdD$*Qe)8aXr>=!?4G|KB|#Arq6{iJqRRD%~8wq$G7F@$hy zj8`ZN{4;Z4P78H~HDDyop?N4SS4#?`Aq;4 z^Z;g}2Y@HIGI#V!?CafzZ*IajHz7|nvR`sl{9Sw>P&DW|1#_M&Rlg*e%W9oZKP zNXM+iJ0;{Pim;IIe3*SW|cWQ(`4<`M{=Xs|9QIaE)phj5CYjj#OoXrS$N(;(j z;HgINmV4l4OE_2?ykP5r_kS5d-P){w&(9`wSph1GY&XY;6`T`Pck^ZOw z0v}A&8b||p;9y5Bjel$Se5fv$YnE~+RW<0*fK|+~t%m3fJR(#H7gffhW|Z3LTOda1 zl1@+X3YwuCv3D(_QD5F13T<8yTCpOe{MODW;Zb|nuW#Ml*0#A&H|>X-rUh%aIc5a3 z&8L%brx|>JK80p$idl04dZ2LKC7pVQN$xJleZz1T_&&MfK;eIJTf6QRs$iFL!>G`(-|3)3e@6UoK$%X zt^s8Gr0N;vQCLmtvNV5(v^a(;q=1#m6v@3v^b_OO4s0#7l(% zrp6QSA9V(0Ug{kEZ>E@*Y9fN_KmjsUAYy7IM1L_a_1w8>sph0-E?%msA@XjBsf9NE zw7a|%u$U=qFWsklO1b5@5lB^RAT-%fLnFpLqIp~=tXpK+hR;AFz_0eKz*8OZP9vl^ zqd5rwBk@i#b-=ah8oZH`74X~OPL-rfc@i7cHhbLctP+8z^!oF}Q;ks~o|=NYY1A$t zo|<4X2;!-_!c%6Dh^Gi3jJ6~4PBB1LrA6K;-kyXz_1YA1r-*n0ka;q*AbVkgYu+t0f=}XGh`X1P)vK%FEbA?S$cQJ(&N=U@i z!dw#%3;E9<9H5i8KQN1CO4lKy`22OeO11LlB0`#a0VWb^v$c#eKD$Z3Sk8iODrXI* z&g>#Wnu=#HGMc2Ua!pO=v8I>_64w-a3?jdjz@}(Z9M9y_&P6tbpv|LA@qu(w`SzoQ zuXQby!M&>3X{e30v@?YHR3rX1^EHzhE2H&fiA)~;?MkX6H==^WIe_o>s4FlS&4!z1 zL@p|p6HMfsnx8Gz5)H+-CKfa#^_*||@&uKek8v;n?}~{h!Ojo!%f= z24Irj1=cBRQB)1(QK!@A|9Cd+v<7@sL7;lb`<1PMN^Tq$p~vCxqk@WBjG_a!Da0LC zHz{3Nsv0Xfk#3qMZWh-gkbD*CrZf)2r;@zTcwhnqw-iTK(yDR1sZ!m&Bg84Ho~(fg zyDB6LaI9=50mP}!LhBHtmYES<81R!E;}nMtCOQL^MZ>6(&caf|j0Fj1?(`GHHK5-% z67`DgY)4Ap3wxPBrwyS{BS5Eib5;hOW?Mzj>GX#P(gosbHpKdo0{WmP2CJDpED}!< zZIiaeh)~CQr`TT774c3{1nEB%ZWixU>E$XjPvKd(Oa!gU;MJn{>xZvJ7Jd%hXz7ab z<6Qwxl|;Y~-UH)QamXp*oW>j84d+yrlXI;aL_!iGs8E}Fw|G;f2WOi<2*jykReXS$ z(*l|2hc>JQ76?0)TY{T}y==Ag9O$Hml|iE% zjxcL^l~+U0=9IE;6!1o0D-|UFrc5anSP^ja`$|224pwQQ{B}YOyb^QeVb!O}UvmVn zdl%^miA}l-*0m>9yD*S#fQoMelz)eCY=o-|ZkBQw;1EoWd@>;MA=^ouD^4@$3o<^S zfkBMBh9flP{_o+FvWrV=_G8#L`EO>Fu2o=^D!sYs|9(!XEdM%SWUVOanGWw4`hoWX zC{^m)?9%rSDOK*`_rRC-y@N_I{^foD&7gi)!tZ}A{KE$j)$DO%FfKqZ$+1co@LsY2 zy<{_b$!0Rvkh}#*EaU*CvxzD1nJcO|9U_$k&DZsKL$kSrY522JuaoBUWFieuDp9dj z0x5m$eNsm2O1l|5{;oKuC7e>z`(li;y^8(oU6W3W^r*CURPG~l@Jbcie?oy-s@$NJ zxTSJ`71yzfrQsv8^xE^p(tJ*-RAG5K#n44)|8xgP&JXYGv?8IJX zC$=#J7u0KJ@r4oU+k$;rMyq{X`xLa?O!Xt z?J!HJlLg8drH4CwV)z8B&GAnai+U3~UVuTxi^=aplU%x7`R)iHmeZ)oN+wbieIP7U zrAJ}O51xmrR3CpmCaS2f?8Yoa@qHG?)-9}2EIZE5MOCb=^WHlfRjF1!2tKMG4*qG_ zfwjUrY6YTuDAvOJW27oo1rWIJ0h6j!3GWt_TD0zNf%au5R$q!wP527Zw8~mEQR|Ai zIvN6WX{1hjU%XVMdh!01k*P{G_yJ*43uV-(>MGSOG^QNEGzAvCVm!)YsOe*}t<*8t zN*%)@`53m&k71f}47O6o&SER|-^EQ;dMhmZKfq2^dR70k{M3A0Mxv*-6F)VCp-GHV z9)e8+(VZ~8l=-Q%RW&j{mHtI^jM)rTrJ8^2-nYT1D%H~2QL2T0F>}~l&dpL)DkFRJ zY&ccL0?vU{Et->Ur~cE0`dul{$+|En>w>iI!knxNbFwbX$-3k@Sr_JHU31RK-al7W z@yTC)KWJ5@nt301)%^U-4MQA68l3GNdUo}psDD=CtNyrj>HX$AL98l0pE72(=)Esi z9*u}chFu==W}?V4*aPA!zY^A};(Hopq&Zd=t1E=A!u7i$WwT-zsT8`Z^la0A>q!8- z>MeKc5}djU^6$KQP*-bhpxjlo!*V2^VIJ5SbLeVI(L3r;e$Kb!t}4Bo6LX+fmCAf( zF8pfY*t=LodxwfM8aakLy#yuZYNlOQxnuPYx=k*KfKtKPnzv)GZj+#`Kb07)b8INT zQ~GL-!dh&1wVF7raZKxI9D;sbhYvXp>#QM&wY@VItK##XdM`LurPuhLkgP@eo)}`L zD!yTDiX%}A6;z7P(m$Kcs#MOi@mc+<)ygH1p^NW=(W+R&``;a=RjK^%7}Z+Tx9=fV z>s@G1187gDprjs9-NhAXcVUK8&u2K41CQ&Er!WYM-=0$4B;}NKBLB0zR>cZ_`F{x6 zs`RG*2eGY1>p{|Yt;Iq_v2VHC$e2QewLg7(;q8L(#^jydftFu^KF~$JFMIIq9(g^t2kW^#SkLXjdTtNab9+#Y zdoVdY#gBFH9@GKFb1fLIWB7)SDEF1WKF3w*U4;H>C|AWd^ugj>^K)NfRix%Fn{)9o_=XsH-V>l(oKZ+@SEWL{sf>43 zs>3sLB3_I1rCY!>MNA~6&2#LkzhBO)(lfA2J}}m+(sO?xyjO~O0e}VQxBH3rx&c+T zh4=6c=;8b4^i9A7{jbG*RjSD?e?9E0Qq8^>^sC+c&d{#~KJb2s#3pQZ_d^UGhK1jk zRNqj&sN6!`62cWBEVy$McAOCcpTZ-*1L$kJ^qUU`@tWa?SHv_`Lel~|M;Is`vK=w- zL9JDKowwR;p&ZY(?d{O7A9|0t*JdT~>`G35MN~(SVCPte904pM&viX^7X0gn-ZSrY zkurYv5()n*!C)a*GeVo{_iC%kj@8UI_-UwCY&oeiH-x{2c4X;1PdX5$17Y!i868)x z5@={1LFOQR*ap8u12O^pt;F9B{9TE^Tkw}$xZP0IxjAk-o57L~0y@h4vp(-}0zGE( zI~@K|C&Fg(oX~G|I<3bv4!_@_IaZLzn2;Zf+}I^sDYff@C|!AzEm8%@p2M?a>RIT)8)9An&47Jj3X%jSaP0-9WK{MBcML`oZb4{{lt_kwA3Gd>hstNNS6*k^g z@al{rZ$RDv^REe9sY#p;HJH;iT?F@K%&gV1*%8MprqR~nriIm+PiF-ldbs)%inbBm9z&6(vO}VNo zT)tGum2_$iYNJ*on9!4eAJbX#?}&qfFR6=_$KrOg-D>gI)Z7q_)y87UvIcl1lBcAn zu_;t(vP5c|{hL_zhN=zt!|qC?gB3NdXuyYH4>i-%YCu4}5vRdzO8R1D@S0?L80>;1 zEigS`ezDmY;WHn~G$(7~0lO>gG?xd0k&rE@Go@0sjj=crj0n2#4-ao{o+Q|>eIk1iu7}u`D#@_o=G#`B{cITPhT+7@i&dXZTQ=b zznk$_iobRV-uESvCYD~FsHr15mSm+Zzguh{;dR0#mG3FRln8H?yT}xMp8a}hft{hh ze9=KxC=`$+#os92s?;c2e9e-l4BbPhs0sx92ss<7i!O-Nhe8g530E1CAq#M}5lcAv zU58c&r%#&&2x6_*Zu=(({38oKe|XkQW`o`aqq96_OStP=BiT?o5=*&^4L--Ra)@{U z3<5Ss6f8PtDiEq?^P;h;c&!Z)W`Nz++dzn{ibWB_9RH~`pLExH>;X$jDl95_%`eof z>~D+2G8Hzx*9QJw%xWvIj7Qr0R@S7d0Qe>k9ERvMCUb_bWj?H4BRq|$nCrl28O0L) z2dB}2HR#Bin$r-9qR!|v{?*b9NYow$xZTVlsFMPG(Q*iOGe^1I%mwJK7vK{nN`L$s z_DX59BZOlibm!~Po#V*Ik>A1>Nu(aAmacLNJ`ESBw(#pY@og*IxlcibAm3vPe!UUD zJ{SM?%Y^-$7iJoW&=QpFm!V{LOQOV=wOh)aI!FQzLw*0zg|VgnW=e zkPXlJ=X}*ZcY^H*APP{-kSM2@m8?_4My`z_;tYQAD>fnaX_86wr%09Ymel zpf#ZRT&Kzk&k9jKHg805ZmcaJrBT0BKX85{)oIb^3P=I66qNsv>jo6yRGB2&~JZ;e!B+bAlgYzh`cKo@3%*A z%6VKSA3;~Tan7|$fuNLVBa)ot(QK6kB~5bQx5QSO`m$d^UZTEZDSuFW_YNK~ITYR1@dMVc87j~Dc)@ut`N>cQVdsJn@V*zu zO|m6ZW%8#ZUY{pwu(P1gpc9M&i^m&kQ{`Yn1s#D<#9v`{hE3^2Wwj@SNb#=Pis1C` z4bF&HZ`GosBJ37|Dj-H1g)=auV!ouw&F<%Oq79^9(Wp+V77BL=0Ss1^K!TIbJ%t8J zqL^1_icD0<;LO>Ipcb6LOK9GrvkEL-W< zR+|lMl>vDBb}2cL&f3ISb2eMB>^Xlt?q_2ZJ&yIdT(LG_Q}I)m>sdM-zeK#OHcH&t zG{V!-Pu%Wg&^CPnKj1%`zSW=L{aUoGbz(GJg1y3v5UE;<+{;x%Hh@qtT9J+@NmSt$ z@-q{kVfG|Q3#;rTtlgZ_<3kyXRi}<7Sy+aGL3$sRfF6QB%7+D^%4C>+!eFWr1V7-L zv9^r=Sbj=#$HPEi6RgJRd5)UPa~>zvJ>J2hf+oh>3nI+Q^<;We zNq!a7DRmC~_X2xe_&4>>Gy%<+=DXT{?Ps;G>jYiD?udSg{w~96<7VU6P5aE{=0VGt zwaogkt=zW7cFgv){XxecoU5I`cHQXuNB1dDqvs;e&%DdMSNd$e%l(!9y8@$u{|dem ziiD1ZUJVb2pNT{wyCRQAUXQj#$D%hzACC>jL-A)4*Cs8=V`X=x(y7tZE9I-pud7&J z@oM_IOlRiLmDg6SuX??DwEF8ct84D7`E%`(+Mm?v>h7$2wf=Ja|9nG7!{-~m*?48+ zbkp*tUpFslzPu&fa;W8tt(MkXTAyqEW!92?Ap5(v%C-mEYdb6*|1~c$@8tZ%{3Y|h zIR76POfO6<9A5a@MV>_+i=J5Y=g#5ICzfnka^I4dx}I4&y8Pnhzg}TkaZ9(Wd+o~R zm7^=aze=~-v&OY%c+DTycK3LCMtffA?d-jJ-PF1_H@G%*Y#8hF^j*;RWZ$bBFWvZ) z{@VVNn}#=iano-$FW-Fi=5LUUlK4+wZ$*$wl`K92t0J$F)1tJ0}J$gAWg>hH8hVcD3%hYuBH4Upd@4vg_hI zFMegu?W5_@i}tGa_KzJMduBX6eq^6%-|Brox}^D%-%a#R2~(^0AGvhwz{Lm44_g~l@~S_4GhjoXK9f=(I?lra7)?fShN5B5j>Fav0 zS6#p5`Ztf39ew(S&KsV%@xq&y-}K;3e>isZ*l%v0fAhmP|M`}SZ~5iNLLa;8)&sZx z`L-8s*WJGM_Ln|>^o~#cP5s~e%bi!<`NSvgxNH7hpZ?_LPyXan&7XSn?u+hz^wX<9 z6Zp)48os*Y#J&@+pPV@P+}B<| z^{3NgPx_v`>#3t(7ruVWHv-={^v$ckW%{<~+grc==yxW*^TN}^Pe1Uty?^`sGi#su z^WVMx-L>Dn>)DQH?|Al)&kaBK#P{mI_u%(_|NYH>-~abNd;W>%|Lq5zKX~qi>t6iy zi~se~;1BzLwB*O5KZ*S0t(T9#VtD1opEja*z_r@)q>2eq3who=jD>7`=4PbHnHP|z zc$%KM6Zx8%Um~sJX~WEG$S<0?2kGLO+mJ5d`7WL=op}jImhpV|%;m_hn)x}>HT=k0 zp7!vxcjnhPzHa8rNZ0dgZk%})`Tm(-A>G8&%}DL4Zk!Y6rHb=X#d&$+ygYGLCA7CcF#P3bUn}a;hJT*!XrpG%{-0$nx!+pMcR#$ zr*O`1;TueKQlYAt`FEtT{QC#NIQ8-C8b`CHX$mW`3jvZ>>hvindyV zl2F=)mQaIV9l;12N4{2-#uaMutN(+vb>??Svpj9%N4jUOSJmO$Cy~-M>+oE!BBiT= zRWtJ_HvZFS`Sm#GIi$^~fqHyP`9)|~^{DypBc+QyOr! zhmcbHZ$#O4AWhEPi!_Bd-iW(gfwTr~sS$7X5u^>Mw?^FMAkxJ%7b9JQT57~y_9I=& zf4dCjZ^V@^N4jd}Q%G0Od=BXve&$;KZO_crIMR!?PQKOx;P^IfEUc-M`n zdCK?mZ>jzpRh!XPq0vMyYv$6U8Kr#zd6FK@DD9m{NqRJ+w3L$cXy($RnM;pml=dDR zA?eYK(!PY0q(?I^Z8Mi1%_t`wA?eYqBI(hLa{d}ANsnff^EIR-J({`nXy&!ojI#X- zcBpZbyalED0n!vt)2Ndclv&3SrUj+?2GYfNn=L36<-2%FeWV4Yq9fEYTTrUs zBVEIftmSDBPkZ?t*P(^9pj7m$jWcf`?Z>mXpj4D@M%s$<+=DcQ7S)Q9Jc_iAr;Blg zR^BUHaj$P6PuFQh{nI%cXFiQ|)6DbGG{`jqPCACPZB1Jt5Mnjd6LC* zeF^E}na7YW;b|97mqONM@m!A}?Z%a%y`Fg(>1zJlHT-I8`H>#9mMrR=&Zno#qEvL{ z4gAbLo|3%E;z_AIn|QhzX&Xv-9BGQD^rUV4NkLmdJ+z@zFCbmQ^Ibe8x!s0R(YM`b zZ*8b&%J=Y;-gO&l<1wTp$=h(R<1i^8dALBeVCJ9Ur_ealkFW57MPG zuOsb7J70wI{|IRxo?;QM@Eh!P#vxZb@!JDPoAE@Q{I{Ku22UfOow)>Q8_&~q;PZsL zck=6W^6PZs*?)*5;?*`IzZh4$3~4idwHQ}8iL`s>i&)#xy_O*VRoJ1%ab_3J+=Z0N z+{N$P#qZmNUtNbIbl)yse%SRwqIU87cJcdm@%wi1`@-TES6hl}eg|n9l4L2)KZo3EVkKhPB%QBpEHBzdRW&E1U_|=xl)Z%0aH zUd_wA8fV^%Je7Gh&i@WlD)VYy=GDB+Yxo;kgWn#8PKn;a8eU6l_*+VPGu{FHL*6_EmhS%E~{ub8qYp%sL$6+%>*Idi5xt3pZEw1@79HDEj<=0$` zYd(lPU2`qJ=30JD5O>i&*Ya!j;A&T4SH5}XZ;?{l?!k3Fij>}C53X=EQo2G9zd{fH zZ7)jl06baJsFPk?;WnhrsIgv@QNz6`$)}Naqrb1iImeJTqrb1iU4Dr)i<()7 zZ|}#tyb)Jhk8htq+JZV?k8eMRbP>wA9&h$XNSE+@7f+Y*v>WYbJ>D#x(}Q#auJci( z%@`Rs;5z?^G>bB9z+JuyN5eS!cpu9A2vRz;kDuAc&+J3VZ^jWizYit90qG))R(-hp z&yX(R`7WL=<7qdZv=4WubJp^-2kA!KPDa zBkjjIcOj+r+>dV`KuYbopSS0J-k$q0YS0mC&;9&a`gwcq$5X$CT>z_4n{dZxkWzctjC012(j7PB+t-lN9XInkZsvD{l|Mg1cib%fih9sy ze#b31@@4E1$MKG~K^lJ>Da}Qa?9crc_RQ77@>xg-V`Sp*ayny?@ zCFRwsHb(pBbiPJa#yX|ERuy0uNqLP^7#f%w8cggsm{@h`z*u7W#K_pr;h{_G z6YILyCPqhg4vkF?^^A{=Zyet_GBCPo=lIxU_xRXU-_Y*;qXQH4O+x%C!M{t;mx<=a zrk0YgHV;iqj*O2bn(CVx6|M*gKY^I;1BlW$1kF+c7Cr}&u7WOh0ETx7Nbw062#mq+ zZ5U@91=4oM8M31pE2XitPb2AU~G9UA^0OD7NSQudyquiD&!IG?ur4ZA) zf~8r8RkA8pjnHVdtPbRh21L3B^_jJ>R+eRLtethRd2Bw^^$Xb|*v~CyOIR0M%9gR^ zYz6CP=dhJ*6X7qJ1h zL#1Im*&rKYyV!0v%tqM7Y!4e{d)XKpXZzSCY=TX)DYl?pf|-N?HddJH<}3C)rc%>+Boso9tWc+w42+Y4*458TNPVyX;x^9Qz*oKKpz2Jo^EA zfxXCHVn1X*Vn1d-VK1{+*iYHd*w5Lk>=*2p>{sm9>^1fq_FMKk`#>t=avVUT~ zXK%1K**~*?VgHx?f&DA{H}>!BkL*9#pV)u0KePYG-eP}Y|HaO*X*MIM5Qq<3rC@Ss z5u=(IE=Iv5m<5Yq6>NfCa0pJpCAbBT;1zs=UkC_6AtZ!_h!7QGLR?4)Nuf+g3FQI; zNC;^mBUB1iLbXsM)CzS%z0hFYHFD|D@cyyEiJ`%L2lN9w#`jO{9nuaA4(=V&4eT8_ zG(M&t7#}qc?AtdvH4afYI%SaanjJ$s#`Qafh6l!W4rz9bjP2I!7#-QC-!VGAd-u?U zVdwb7_^#3MDc#_}!KwXwje|pwmLuc)CryJxlOwywcI@A~&n#wf+Q1YJUpg`{HZ?FY zr5_yGy&Lz^(7*b@iIE*UMu&8R6Z`iKjB18<3>?%B?Hw2yH4N?DF*JelXojXH4;pq2 z>_myi_n3AK4Gr$tKQT5mq1%Of?wPRc8Xq5=+&4Zog;MHvjZaKWPMLO%@1K~wWdFd# zka^d{$k5o}B>m1LLUvhxzd$l%b})X2^O!^qyD z$;pA;L%NZv{bNIuy3v8jsa<;wqa$N`h6YE*bbE(}ruOeM>>ZjK*g3FkNV9k3zyZVF z@f{-!L|G+2o}oV?(-q0|!xC=6%ECQ{y}K@7yyq zrQ3%)P7WAR+Nq(5p~)%zzVSgEnKJGhpTrTo8ucY3d$gDAADt_L#lO{0?%lr|e@v6(Xk0r- z$M+BFss2ZH9n_=FM+V2ot&@19J*cV)y#32G_%vajL_5Ko-oI~r%rrH$b9f8|nHtgY zqZ8(-%SNV9%pD^WgL)~izjS19aCB%wdnqb%TyyEj#18dkmtAJOY-G>KK2+d<{<0C& z`el>G%f=@L_u-)@H3!fJj0XpX$5AbZ4rzH#b8u*MpZ*|P|Nb3A?wunOJ4c6#x`tIe zCUp?A^ohEOMauKeVw66Nk2zZG=vMMMV&{^sC3i8Y z3}Q#Kixnb6-gkI`>%;(Q?s687+Sjg|vLGET!ddMKLXZE6ZuQ zLP${OzLO+%?w4Ft%f*ANmY-S@*7EOUX)XUw6xVW{6v*q`30z>yEjlN$<;zPVJNLaT zv*nUNXv-DKrM7%oQEbask>s}gBM5H!JW+DXm(PiA`I=mI%g-hYZ@CHNrMG+^Nqpx{ z$jR^A38DbceH10QEUAh_xcpW~hRgL=AjIW+ySW~zsyN=`HuX6d?v|s`Kppomqw(54wah> z(F$qb=>AD*un@a3mT_|Jh&`FkFy_9K%aJ=EEwA`lBV(xV-4g?Qr7Pw>%fHGU5Y;|x zW(FQM3?E<^0j&-BF>0V$IUoOShcA|(`W8EkMfEid(TboG5}*f);e3H~E=YCI5iy1+ z1H%8W?fj#xs;)bJ&-?vj9D!JCEei;tNtz$l5^9uo;0?pbFf+WF0ftVAL8TE5nvoJs z(4h5KP;o+yqM;L;u%MENCJF*kYSci|Vq%ae5^HoKqCltC+BCJ++N7WFx$nJu&w0I@RI&+c9rG+%Q5 zWrOy|av*Sb(Np||*GRtjf|Y|ovwc5_V$s8Q1D~Q-$)G7WlD{u7`CYc=S^Ngv^TA6* zbfytaxqNv%umOYKh`Oue0+ zmOeY(n_ipVkbX4%N_sT?M&{(q_{{Xod70tN!OYv)@!6@_bFwS5JF$tqTH@ByUOb-tE-%@vV6+t3Jao4 zxH7rM#<4?ON>#S7A3}Zz_aW4Wa)&lYL1bHK4`m32^vDuVeh|(*a6Sd+gK*u7^p~K% zL`+Y(4xu`P=@6nrcn+aCgyj&DLpY9tjhZW3uH34y8$xafx1rd!FdK?!3$Kxcas)V3}u@Y`4#VJ(ET5W*sqcnpchkT{CO^+-I1#A8VO5fXzo(m~h>VI72<5NaX|*KN%5R=8e;dKBtWsINl383dz{64kn@Cxk=+ey{~# zB7}|*HbR()u-8w+@g3UtEbaRl`Ya5D=KWOevy}dBr|wnsc@KTQpVp01cR6*3=-=h^ zZ!;QoGqt2qcUf$MkPX5$2-P4=gAfhEGYHKfEQ62?!Z8TNAPj?M zH=F6ri}dD2JJ!M+2yr01f#zRW1I?Il20|GKV<3cq@CC}h3lkt@fp7&v6$n!x{d@$e z4i1O?u373qK(AfUpA^)mti~x``U0Mhhz-jDQdV!UrhZBW!>&ox%ku%OgyH z5COsi2n`Ung9V@=mK(P%62N(sZ6JG_{xwr)2kzJu7dM>mQ$H~U}B};ioNqq+TvfBMasW-)>-r7)VlA3#&>3fi~*7o7@ znhfRM8}&gwT@Kee+P|CDTnpE0)K|M-pr@m>dDQCaw<_7YZXuXFF}C|?g}I3MA7+!h;; zuQeQxYRyZ%nqQ99{ARZ)`YrImUYnwl%E~8ePtiyYR^%M^v_(5kq%GU6mG}nhcMlSIBq183 zeNP!;Wrmd(R#rH)65Eh2YxQWwN^GNV+vwXiti)cd#2)5VR^lFXcvHnn+3YbckOuxXgn9SuM->kZt?^@j%Yz(#r z4+Oh|@1y5JpXvPt`@V<0SV$|OABAz$r~CPIj8Df{<-+C(hnJvyGoP-oS5I+;w`OaK z0)hxEi|TITYJ?giw(eoB4%@4jxq6uz!XQX$M5$gW@2>c^3^IdXAE15m zB2VBIkW)O7@`+>w6XXNWVirI(kx^_R$2XoF-vAWl_dX8SSooA*`~W^G$irGLaSpk` z`Q!x`!HMsP+^M|Fi_OFTUdrCb%aDuwFz+AbMay|5$U3(2-o`6Irm>6ndAvej`2Xau zUh?S+&&R9Pd%eG^{u_F1CM_awdO8oP{ly816Ly^NM)RH%uRC$$nC3Cl#%vk$$k;Q+ z_D+~J@r;Q>6L(KaO&W)u=*b`YmdgP1zk-Z$5nbrExzH|hqOJ6ygT8+X*>3r{)SW?p z`k>B*?|gjpxpqvukaiv`yTnVB3%FL@4z8CnKV4i2Aut~81E)qNI}2qtbvx~7E$4Fw zTpF`h+Q36R_^*3i#8o?7ZRDi&BaQ7yT^8&Q-XyC!n;hm4dBcO|EwXH-#8SNREs1@J z(PUHdv}A8`WpaITSMs^!TYPij%+x??Rcb@(q11D!x6&u$o6k?LNUuxZm;Pb;cqWsX zl9`2HzB;oZvmkC^8j~5OVUMnVwrxZ^s&Mq!4 zt|+c44i~>&+*3SM94-DT_#T<>cKSTij@B%$=i9OAqt_)nA0_&{&@?-IJxwVI;Gq25Xhq}94EnXwLsW@IL_EG$Nu z`$#XJ!fLzoqWjF`PZD~}jSjty@?IqLG3wT0nJ+nX>3O(Hq;W0G>;E`(+cP9+uGEv> z;MX3#%a)2B-aq5etGbJ3(u#K4_d5<!?+#TpLz@Q%nd|@X zs2Znsv`u|$4gSlaYDF&Ku3E)hgWrjdr1ZH3>TKJm-e3=VeSDnbd)^ZcZ3c3qUF=DZ z7T?jHacI&9?RDW!`>aQk9hkvOeL3#XWC5bJ`IbWixl13qk*T@+l|z&5*IHCBdri`z zN&93cWvhEl!J+jqmVLC-z8m4SqH(G2DDBKfzmeY+r^(96Mxa6FB!}kMWb<1NP4gok zLOm~=QyrStQ>b;!q?zQ<`niw164`=QJlLjKTeR}!_ep2>JCqXT{kGQJ;E+ctBTHl1 z5xnS7w4S8db67h+_b6I%A*SpVhZ46`|LRa=!DJ`3Cf;x;p+@#HwsV7DI238OW=!pS z)1#D`NA7f8OyZ;W}kSnuJ4dqyO{>Bkc+@NJ4?PNFoO0=*-C<1DDeqwh zH6pF%WT#vjs1fcm6P)tM8t>z*8}&>2Cj0P1uT;9)7W~L7mF{$dfsIS3+Jc`trIM;S zd)_PUMN|5NBTi`>W6Sprf?qnNbGg?-{KgZV(r`yCo8NXy)oc7CGu|m(NGZKA6P?n2 zdfY)Te!w{>8iy9fpd)zADU)W+3;xq7n@jsU3B1Sa&O^=|lXA+mj(Rw=#`zYY-3ve& z=j@C|dt08<(MMP*10ZKt^HUYWoP{oB_Oz;ee|3<)MCDa~Z-p(@D8zld&v1A3RsE>= zApGP|*2=8f?$7c$Zm%!lOcYs_%lH&ol9l!>BfFpCe&acXO$8^NL*JxD)xG$0oRq4% ze>t3?9<1UjoO|_FIgh2Be%JAY@LkxuPgrZ%@Z7+NG%;R{&H#VO7^&@^zs~QCYK*k{ zH9l2;_G(IHWnCZk8cO3bLcjG2dgb~MUtlC6%Xt-_B5N7V-yn~&*ud=V3U0J*Q@h=B z!u7TlIw@+8sCvP-IHgt3_Xel5>g|5fmPWg%^#je#R?{4RGFZdh#`oLnXm#XsUdxPx z>rT0rs7$(TIB( zUq)iI6Wzh5X!p6Dv9Z>NxKdIpo=8QCnblolei(I{L3B^2<`UNKFmvAE+!x$s=SDuI zR*A--m*;)vX`ilCX8rTvZ|r>4{G8ygZJ(?A-dFil+w1H&jU(ozpQN(;L-2K4Dv$jl zPJi!!(Jq689tL%M6ol{8#6V(oVk4Qp7UEuS^f8cc-6EznwXieBa{Cm1O*OXP(QvnLUY|UvG9WJCxm;-IqN|RAF+i zlv|Qpog2>W$~~QXotVP=^Rx0x@>k~X%x}-{&yNyOm|U1q7$~eP3>CHzPk6rY%VKl! zgT+#DfM~)^#f`;>iU*3vn}ViOnoe)(Xj;;AS<~94jZM3no@{!dY1B-{VrYcqJ!w_H zdyL^PJkD^pXb@#EC880o%!W3`e1Me^=krf3;mPe|9#?p_^lZ0j^SByE8@fEMhVcfo z#N%olarmsqrSYhbIegCJay(pYly=FInM!0LJ`(XhR`ww?tpSg>EAj0ZS5AZ2gPB#w zqdPm6+sv-xsk7r|j>pp|0&&xC;Hg+*)A1X4Dt6h-ZNTGO=}SDGMv;iYI-csNN3n>@ zJe~&82=j;7$ZAck8qJsE3z)SYN8Ha3^?IGhA)6eosY*=3oab@a-6(G9%+fjz&+eH| zdmQzViPauQeQe_DIu2RIcy!_#k0bJktGnk3}xbhdrtjyD+EKQDe~y^G6=FdS(f={Nr`hm`7|nJ*pGK zFrVuJ@=;T*LexUcNiOwaA7!-J``~8|KV9TJ20?W_q+(e8aTX(P}=sIoqSf zY@eC$(PB{!v%sUp;vA;mqiOwAA|2+>>S#4@(|ppS#iAYN+&Ws#2Q(LWw0OkhB9GRC zEeW-{WG?q;kxx)IQ|xIg^0lJ4$M4rsDv=K}-J{fEAEw)*)S@3|ULB~;E4}h?UoM*~y>g9(Vk0^&$NO82j$G%JSK=e){q~$0 z*90OYrpGIlHqJAPz0xpB^5>VD-9zhU+_x9Sji?%L|Q?W=q|q-sWY3bk=Ep9 zdp7G~hEF9cTPEYHCr54s1@JgIvXNkv-^}M%rR+(*KF@eR{f;!h75`Eew3E|&!TL#| zf2-)Y*45Tn`)Ynza5ty8Dn})Y5`2SGq8pFDhhD_u(80ZYj#=yAK0e3nGcl1&v|58L zobf8LKECO$D2iI72+U+~5FNpG`XMXqX9QLk`AbN1QH=~1d?!xLb$;J0Riz| zFBE#>0bc9sin{8$Dqd?;Ty+sy#rpz!!UX33{l2Q6OaKvBRt8T ztLmC=MMd3Ib5)~4s{5&DoKaBu-4_Qbl{G{~+Ff$S8Aa!pzVP`=Dss`aN~v~do_6{f z)}-7kRHWnUcx&ZZat1T^5U=Y zN?BczT-kR}$&mS%zVw7r;jmKnIsMB@N;lqeQFFZe2>%_^9|hSkmk>2A2#fTjM_RJ3QZo{z`^aR8^-Ys-y6Vl?s%_ zs(amX&yx+OT+!mhwW=A0#ow~$)=vojO)XEg3hxuT6wi*bS&Bcj3tgIOuX=~i!29Ll zeWWM-PNyZ9zOrWGAr#88W~m6qzr`k2X6k>fuhmgj4oX!dgi>3DYf!f(viOsKx?gpA zsp_f<{-Z)irH)d)0mEl_N0^npU#Ph%!2gJceDzRz`~%c^CU2=d)U76Ot8DeG$%j;1 zwbA6mYB%d7laHu8>uQtFQhQi`0>!N`AXMkzKb^PKfvVEvZ5daWhtx6ZWm6tj9j(1h zKBC%K-Az7A9cYbEr=oqCDpA!)O96i$H45q3YBTr~GQ)ggS z1!^GP^hN1lRfSZYT3J?7T~=DqXH>!2!%GGioK{&rxNrZm;fEJ=JL9~9f#rS623Mil z`KkgfDpU{r*B3pMpr5mmV`&w7=D*dbRx!AuM@8TAl7VOUtr%Q&M#W$hUW9S_sbOeQ z0=U#gW&MT?EI}sdv!F?@oJY`aLAvJxb)@Q~I+N=-Mu8rrKt?IxFa<|;>dcn{Nd@Ma z32A1Zo3~f07!X!s9_7-y0OK5v|2pACS!Gpu#o&U@hj+$P(0OLpjlgal37|gdum5YO zIm9}RR7F`k6}Aq>zh{6`BPvUcS&_41uN8-^IBvz+D=uD9zGBphX)A8|RISWex!1}= zRvx$V?3EXeGTN3oa=rD!8EFtb$VtPAoX4pi@ENJ}-87sl(C^Pjz^-!-E|j z=x}$3+d9naFtfuU?F-xQ-@ZfpHtlzBpVvOCy=u3<-I{hc7>NK#|LvcZWrTMt9a(lL z9LdUda&nvHHP3I+a<|?0*fZLyb(_8RZriSXhkXk6?YQ6m2ON0N!G{zcdf4v{KcZ9T zBab@z_s1OjhvSYv;lwT{o!s@0r<@8MeCAnapL6bc=U>pR`-Kd&+5&krS{;REtQ&*p_Y z!c^N9(_jw1-B0tp!s2i*%3GyD`6adlkNG^zPPC>@;6R)!vZ3 z{UATbs1wx5;OKMI1n6OB_bb)&jT-J$MP52#x8nEJDNPQ9w$!rHV_eWQE; z9kH5Ods-c=gRLX26RlIN3#=YiFY8LHuQkA`vPM~Bttr+FYo2wBb+`3^v#c ztJYiAa%+Y4rS*;Vqvcy0ZOhKKTiQ{(y?u~q1tjd8k$BpwRC_T|?)DdWK3u141K1lS4O# z?hY*uy%2gQ^zYD@p><(9oEL5#J|KKVxJ&r_@WtT);Su2};hVz?!%M=?hL?pu4u2co z5NRISJ922`n8+U^-6FjrS4FBLHIeC&TO;>J9*aC1c|Gz$1IPIN7onxKToC};QoeF2PGufHz{K@g0KRbVS z-gQdqlobz&e=Jd^}%(*USdd?j=Ud~^0Ud{Pe&bK)mb8~WA(=bDW&@jz zY8GpDbF+obo@n-Rv$vXk)a=Vj$bMkuSmFJDfo0NA;-hFvbmD%_lUU-Tdz63!1;${9nz#yQ+M6S^r^! zODoGthm0)gQ!%W15GsTf>RF|cIFkgDnmENla-)7c?I2A1_H>r>IEtbfVi zzGZ#N2lwkUuzX0LfffDwl~wkwsI0hZU`2Il$*AgKgG$S=?v+;zt12z4D(^SA&#*y5 zbPiQYs!Pj;mzNB#E~%_8E$`P4WALBS%JM#a29}jp4jWQ}fl5Y|4Js)gST?9nStURy ztF9V#RS8C|s2FfnSy^eHVU>f+DzCyQ11hhos3@%(Qc+zEh_0%rtgNcOs$y7W)zD!j zm1S2|mX{4Ktzr|C#jyQK`&IWVukJsrk4^zWzlw@}702}d1(d4DCs)@NB|KkM&JQxA2tXC95w{DL|Nbd zgE4S5=8dw->JjDD0I5%TWvR&yFE1?}SXMb42&x!fUfE{^{>lfG4*_CIMwA1MBdSJJ zRF)3Gw5mn|?W0QiS76fDTqBuLWdnzd0^1JjQ&v70WB02p8PvDDvhTpMCakTC41=2o zvbo6$vzvUyK$B@?{H6uzr-7z9ML`!DfiMpM*5n`@K~9T^Ko|&$ex=35!;3IZ`Q&svxoA52aQR`5Xa(s>G*$x+mTtQI))1hLb(K={m4S_I9r2%^bnh+|Mf zp$zhYXqx9n0c}zMhSJXzR+AHv&CEk^&0|`8GoLBMna>pE;5iWJCeP-fQMh%1h`7m8 z&~-Kt_uy%$$r#Z$PeuWlCs6}Bua$wx8p!Z7)&!6u`X zhkgiDh*i761J66B3)F^^io1P?~d=tn3UlcCDdS*>`2yr>`Z039UKpjDB{ z2MWnNQZ1P*kVWMbJOwJsJZnW|9@6T{JY!*i(lQTPb(x1u1(q%{T$iED^s7ddW}Zc{ znS7&qYf_*ejH(MBpzwlhWgne`?lYM{1qP3z2+c#F4)r6IqRypNW5%P&LQR^SR+jo9 ztunDj3@*jOm}w4}GNUwuCu+?gFKRP*s2CXJ8WrazC5?|z_8$8a^Asph^Qbjw@DQlb^mCv?n-qu=O_u~(G$_z&G~+4AYDJoUq9!#DRHZ?dx-^~F z$~1U{HZ|Emod%C-eHs*qLJb}=G-|qtDmDEO=+vN~QK>d9fmSsIRI5Q&^lFm_DAwRP zty!BCP_;HGpl(eU1j@B(LGaY5UQLPU*C0;?Yx04HO+O9|az@7nk4DJ`kD_JGgI2S_ zgVD3*Q7hW?gVwacBUEjWHM%x<6lEJcR1FStTHTtbK;N22t#E^fMvWVkh{{br7@ZqD zYo(ihGFsO>L+u7RG4-^78H+D?(1xFRstVAnb+2iiwg!V|YTqDl)NlGR(7!=}R=~j% z#}R`uD9|c6c+xsJc*<15jb#CsW~gEFvQZBQ1)_+9hel1@w8T6aU7UV`GEV0!`^=qO^M=_RvbTR&CT?h(WYPOs&1@p!PvDVqet} z5sCfP0f@UEqz+bxs6ut9I!yfzQHmoZs(2)#C`YT`BW7`|`hz-79go<>iK>e_2@#C0 z>RNRQBCe;Y(-F-$Q=NtQhG#8S^kWTP7b)E6Sc*+Uf}%2BL(s$S}1b&0xE^+wF& za&-k_6;rKg*7a7*nvST&4c1I+mNnbD(VAn;MGWI6Yrb_eA{n<@w^_GacUX5?f3ogE zT;m?=Uh6(Qh;qcOTI)gUA?so55kx$eSdUtdS&v&!SWjAiM*QP1*3;HA z)?ck>5ea$Ddfs}$`kVEl^^*0n^>^zP>mP`Yyk@;_EwkRR-b9?_ZR;KDpVqrpo%Npe zzV!j(CLdb=vOcmtwmz}`jTp+O)=KL$YnAmM>vQW1Yc*mjUs+!xuJWz*o%Ox-1L7+` zSwCBAthLrUL|PJ7y|vy-S`F3)YonF26(TRT9kRoA#Lhwt#<6qkT)UZ_XE(R=?G}j1 z>}Kz7?_uwW*i0+CwcWEtXI7ir>?9TR)_EGlH_V4Xu>|+txInF-bKEXcG?qZ*WC{I`WkM=3{srG61>4^B8 zX`f}EZJ%SGYoBMIZ(m?{v%A|D+7}@bRAjq$G2%hJ?2GM7>`U$5_GR|v_7(P(b_rrc zeeF`a%)ZL*XZN?u?W^qph#C#D2iq0)5PK-%M^$#UJIJ@&o!ef9$Tenh4g+KX(@j@z~NgZ4xA!-!NZwwKtCB3|{lH4}kA zM3AxLlC9K>%JNirwaRf+vx8Lgzo_PaQ!OH@<#}q4%T=_!Y86tgR;pHCtJWW>y&`Jw z!&Ez0?Ng)*K3Dr)p$@1~2QE?v->(WERfW&1LmyU$Em4OLR!59fM;@k*{#+e%k~;Qd zb=S+XsLs7vo!?w_J4{`;hbnTE zTday-R6W?g8E5@lSu_N$T)#p*wca|zWPnA_;n?UuyOHTyAj<6Jejt(rGn-MUiUF<#wqhgz_QT6B=A9jF#hQjafIf8JL;^No7$ zKJ@~2UUJpzW7X?x)v{J<+2!ip$JBdgsQ2cp<%g?J2C3CYsqZV)_nun&no7K=>Mv0n zAF=G#R?Y!dPEV^@+{*jR+HIM&dyduWPOIJBR)->M|Glh(AFvL4#5(Rc>xAp9E;Fq& z*IDPiXZ5_)x^$j(*$As7YL%UCUA52}KExU^-5Pz6b=@Ru${Op&-qyUK)~$P3xBu0; z?|AEhQC4jy>ycNjN1IzuUt}$vWc}kN>(vg{>jzkGeQo`-h4uam)(5k!Pv%-H_q0}> zWPSNh>&G(d$A4Ns{o7hM)v9k}tzT?yc;8A5w81i2g?3iG?JTwP=h(Z4>{cyJyP2 z>`J@zW&5h(cE5A&ezWX~EPH6BJ@f;+YJolSDtp|!_S9bX)I01O7T7ns_Kp9sZ*Fbh zHp9N>ZTsGAdqErf{vNhhZF^7H54W`+KhS>i0Q(uwe!h$SQV;v>8Ft-u_WQH#Pv5dX z|JnXA*IwJ&UiXomyg#HmhpbydEf<7#do$FkL#R#P(0(U|ez#lbh-a|57dmEqsLMB@ zlgEWl8x}gFYv_!k(0Px9F8DIkZU0cWKZLqn80v9Ws7G=LT^nCy}dB>UUulcvqB%P39WcGv~qZ8_4lD~uMYhD}SWPYIVj8t!*~cwpD?;JonQj^XOj;o*;lhkqR&p~55f3Xg6c9^EcH`q1#` zGsC0%gh!7HkA5UP`knCTZ^PG~7QXhP@U>TluN@w~c4Bz!BjK@2!(%@PkNrG6c73?U z3D>j=*Bl$Jxj0-iCR{TkT;qku#ljP;@RU!JEAsLGhEx1bFGmY<3+qpgHawXfOQqJj zZc2r``1q8{MmCl3;&UdXRE}FbC8csbFQ(JEGx@%F&K#*WbFLJ}odo+pwc1pwp)ihS zg$vOIyUb=;!Ywwrb#+A;1_=f%mSLH)6b(&HRL3J*rxL|)=^j~y)q8y8XfqU2q8LD z5ig!ftuJ~p$e|OJ#kU&@Yv%wu$BQG)F7(*Q)JLOQU0>(e8>%dn>a|XO%)e+!^dY~e zpA+k!>=~J6NMxfEAOrZ!0#XG_89Ap0JBC7mMv{RVtRAX!=MocfonmOz1);ndBwXCV zP|IVHfYw`W5|<`y*o-i2;FNMO=TtqX1op_x`5Y$X0qV7GQOxNQyWj6@2C9wCBU}KE ztpOYGlhdOmbDaPm%K%?WSv_wDT=4^)8?$3`rrkJYHu`s0aU_iCvs#E;wzlXM_Wz*Y zGa>+@XoGZ4W~^uD!i&=qx0r8Z)=oD}#C3E>9LAcZ;wL$b7ixFw%B%VR^5on;V>h;@Pj zx0sXnJW1CCgLocLu*U1-Ow5i!LD&@2dL$|=Lg2+`qttO-Q5$jg4P0$2`;Ntaw_#sO z4EPdh4khE)*!TU!DN%?@MY1#K63H*{$FwTddX4OX9)JW27=cWy6IW>^ZGuewo${$Fn7OuPC?v(267C)X+ZQY{h$jQa8;XHun zL2JSqld;hddKT%iB*nKZ?M!z5kR2b&vQOROhp$ShHq5`v(mc;|{F>~P+QTiLlu|8G z213-{l1hC~Si^i?@72y^x)30;A)X;W%x$=&*9@erX|v{r?nRp`_)`Foh#d8#%8u_z zSSiySUvgSpMNL87JApi|_g>a0(}Lzu9uwZIIfGJaKThjk06|4rimA+TGL{Rz(91qovldOmsFlj@&Pc1}O=GaR?W=Or4$3{6mgs^&XEoS7xVDE4=umRB9!s{Uc#m zMK1V~aJ|nCK4$Jq=KjgINw?UY0$u?nQ>nKIUq{w|&+`_sE}r-2^H*pEN}-PL7CXr| zFwQ^mr1AbQ)KI&-ZbeG%%PQ+RkqC3>9XT&PW%h*mHM6fHl$n!4$7WKfYjXY5lLEt_ z`l(1UCJ8Ck0f%&54>(K~uPKLFQo-{cPo>@ z(^*dadEsOwX7vqAv%JCNGrVf%dDoHqRs#im(}p+`LbW5?u{%|OGUkwN&e8TJuG;X; zo_y2HJ!>BLnY~emtLAQB@^7uPyy3g3|Da}ZGsoTBqA{ceSok}3)t0$`yT$X%fE5&o zY#{d$bC}b&Ec=MbC*Cze>Tv{baShPv#i3xdwXZyA$tX&ySRbWzs~amqD5fJvZiHGyw&(0w_8inM%D~N0Ps)EGOA3 zF)P|JH_^7CZ8Q!D+Hyg{ns5(Uw^&ki){LdAs91ob3t|IMMM`Q^HU98QTGgllu>q*U zCpM|Rry3owCcBNr9rRy7YOy=jmV>BPUR+X=K$^M5(C!W8$=9P=QG=pkQZ$DNEFLHE z=lWt86ta$IX@(G0VoV&2VGKr;8iNtMpbf_2X95jShceLsYkT|<8w;ReMrgeTs)Fvy<2v&=R zT7|v_L9jfpLb!UUbK&I?|BuPV(X&p$jQ+zJN%C*D`3am6E5nrj4agxi@)B@iAXWqY z_vVy-;@kaLhUul$VJrhqQtAM-fEMOkLVu`xG1XJC^TOkie>@$1`OlH3Q|b`6_+GFn zb&@&?7F$Yn;{3lO>JGt7QXivZ)saMK%)Q4c?pBC;Z;CQ|Q#g>NXec!S!pH3AV*(?& z@9Ln7P$kAjMX^h7r;4q85N|=z=iQ!tF#i`=8(nfWMD14zPwFKMarRyA<0X%mq|}jK ze0WNoAoxB(fIiam?t1)j=goimEt4(5f7CGKin%}mi3p~{q;yKQ18bnvEOS6jV~%V` z){yFPow5^@I>c@Q6QYWBlDqqRezqE837d<(5Hhu5^UzMrWG-039bh^1pxLl^qRC;w zGEBO*=wM6|Y#kdvMaG!m9DPJ2zoA@vJ#c^gBkQMtIUgYmS1Ko!`hXa^0^EiaQlC6J zr4HiDD>&b7e0jMCqn-NxhRLuGlCC>PZ~}mcSA!QbMF4DU0KrR~5H?8!VQIWjS-_Nm z(aF(d#c6;Qm`Xi{^-|5_n-BSB9y`Ih;uoU9Jfh$L*YyucsdM;ZE^&#aXZDO6Q47u| zDjD^Fx10HsTXyPz3iz?W!a8(GLQN0^0*y(xXzFAbuCRybK>FFh;55-qQ)f+)wFj%E zaEdlL$f|l>Zn8R~bTgAlZyApq}cT29GAA_la%nkagV zm97@B#aJOSX;-5*co*qf_XN$VO$=GV1LkV97;;97X{Kcg7ak3PQB5YXPiU;)FpEnx zWEr*t%m%WFx|@U|>!`ahs1H6uWRnk=_y>G<7p4KmyU#xwXq@VwR&PbS6h(kw8kSs- zr!tF4HL!^&WZ%U)Ca>2K2V#t_bGz2qF`fizSM7#6zDwd=$jdA`(IR86dHkIfP2HsMt>!aWdHqXoJTz zpUC2%f)$bC2tplffI^zrBK88e@MdF9=7+`$^_)=;vlp-d-Begsv{cYa0yLYRw;ESdywP-uu`aK~stY<6ts_3Q%fDCaBv&%@YM!IBQ4D2#h4(oCBj4r->&zL@}_I*6u6PbG;W5ORw1z!4|Ch&4gb3RD6PO?ixjnamhR zRv3uMrQ9NyB z3F@FiHxew;ki!u>aHI3Pz^wcvn(UP9lpUxKGjDLQQ5tu_3S^4O<2|wAPbmkD`2? zWM{t<<|e`hYNNj9Iz13L;J@$`Cu%+puwQhrgQ)1=ZjZvp`;;SL;xNfzTBlN<6Ev)y zlgNDT#MlH0e2_@>mbNILT!j z?q*a9WW8Q!5St`I1X(uX*Eq^nqeWVju*lA2P@F**S!%S_h5;~RrsKa}e-Biu=yB>~ zy>7rSf*uc;yHLae>xafC)mvlE7>B@i6PrZl6&N|tK1&j9qnJcr*9Ak)^5U0K*>yVX5_6d5^%6;fxUON~Qk6vNn8sFH~x>6=1o}?UhP>!I$@v%5U)HKinQh zuvYVN6}e~)tH7(*ZYioV%)q_@YiquHlfKF^l(a8c)|;^yP&K8-)0XmEF;Iq9y$M1m z);NY>wPsmsmbGPBGq0B39qhj`OQQ8Xer3;M%QmL43}yx!T68}aP^<+`GN%-46AHmo zNiRNi%9IHc@Cq&}>e85J3Wzq-?Od@rEpZBrhDJTjRwO}-HG@ALl_dFm;cR>uMy zhK^XJD_QhQc6cnDsMI?klKLIX8gsAE9BEYt@;)mvy_C&Uuhao?UlvMDt>Y~ySx7Y!kub zXh_J30w>WH>b=P-P4>{MH0o@o-VM<)A8-mg0KmDK=U-B z0`oKTCsSxlFxSE@z6x`~{3S)7zye~!7);h&pblkReUT%2egN?rtD_OC0{N_usvw9| zm0WjL$0R`?%;He@Qu?LaJsCZvV4dPXjmDbE4bylA7U-OxT z&d42Gh%$1w$PYN=k0MORY8jELm>XLnksOj%Kmg<`j;VAdKd@0X<**2h`8&=YAt8wb zUB`tPlJp}X!D@s^&Y`K5h~yv~f_BHb)lFlaF#i!}q{81k*oj$j6tTmE)?}AdqUaA~ z9C&7%sj9^o!K{Ovpu|lmov2P(2(ns^!BW`~{K48pWv=2;gmj0Y)Yf zp#(@eyos36fY<;jmKbJrwNqV<9LXi&PA(+dKuPqx6AbYDSfZ`JAetN>^T+$&M3T!I zj*t4wk~CZcO^t!pk&+sZB2y?!6wC65vJ7c2IuRSJiSkC19BpL8 zKsjv1YB4(QY`0~I%bZzy!Yp6?!ubges7&xjJI5rFr{r*kOF z0oMsBg$teh(nNXv-O=Ql46_rW!D$MhNbpE~7923p)8t^-+f6Re8;2m+rXoP$G9o}R z)58J>x!&TKgOQe8a=l%l4DOyz}y zOy3mdmL@Pgq$9>&O+`dzVR5kua?&gC18_iVm_=GA_9rfca%g1K`giFZ$}&j4qmpzw z3^I@_^&$uAOq#wy2N&S?Nq0W|I8btbM(RW5q2)9ll@!$5}iYAXp&WlW$1jW{LA7mRiiwd(aPM(U3=4FbV zE*+vNS`~z7T=xbBWBx88==c*8P@QTo!f^l-9JooTLJ;F=G~ZSJZU(_Q{O`Q@WzaGF zM?8UQ?LUY!1*q~_$8w7iQABvjN%rS`Zr!2mrQ8Z#(-Ypl<mswYfgl@K*p>w=V?LN$ zlYjtAHx1k0N2QGy(9KePaSW%+WJ^xs$Kq`AXh(9Tf0@71?+tO`DFoT?(%WQkLSwf` zTUsfF+rEBr6=7U}qXFikNt^>WYjc+KXdi5OfS=(S3Hag~VGLu%!6`7{i)$2br{|mo z1ZqK>yO?)i_@b<-xeJ$M(}h&pfdtxRATcCI6~o4WTCclE)2m*3A!V6a^^h~G9$?lB z>6&Ecrj80aC)zMVFw9os4%_b=ZH`DT%D?Jk3L-Jv&HM(G84qG}L?VJX%U=^E4}rD} zzoJeMpl}-6_}4`yQT4(Z6CSf@v}!K+RXb+0?HlZjfCB-}8fvQM#2$_YJO0XK@8rtl zWiVBEECywGAsd3&3=t{XZlVESB2BU_Yn&Y>8Rhxr(d3@b)zaZ4F0nk!mP;>qYP z)y%;4CPBvIyGAa%ENx$4p^1@k2c}uJ(LCG9+lIixq3#8;e$c2UFLdyhI3KULhs-g)S;~nkE z^e$g!t~uYL(QWiqT0+OdR$vQ(L0SYks4T!i?cI`^H&LE=GEpAI5k@iU76%bS#0~G1 zxFOF)j=YR#Brh8&=OypN5y{0Pc?>f4Ja(H7FGPT`@sQ+Ga@G+CDE*!dtsx5!yTwaz z0@w4F%PtO0(4wFH(heAZIyHef_aor>r*8LZ5uecMRB`!hRI(tJN>#a+Ae~wW1ie8g z^Y&E3!3U>Ockob@6yTLq!=b1GL<(4EYK{8t;O`DjDe0QEI9$wmAE5=FFL^Dc+5^Qf zO@R*{3EK`7LEKixMOplKM6#RIk z^*l4eC0fVD;MY5DRrj&y;?*<}&|Aqahtw4xn^HYIPtrKfy_FSm*x_6<)d)FjURI<2 zEp;RXBxU4{Lx4Y1ZMXy@$}oY{dxf?CPNiz0ALSn$RZrb2C-J7zi0p*JK3;8?RBEwX zG<3|(3p)5cvt#e`gdzIsN=|*1I`;R3+T_sZQp|*BBYBpIGkZ*y^QA;N8{+VusUGCe z&wofcDx#Bh19VV_T1$aV?2yYqO>$jzZ@~V!Xas&f7v{$6JdBAV+3~{`A&+nNLqyhp zF!oJy2EGO1wj9pjU|VkH6iq=O|Gz&EIQx1LBsoUrI?4O$FNjPFEH5%o;L+$sO$Ht> zY!jFZzZ~A7FNEgkLjpYrnNFL85jJ21GD`eTp$JzoIOTp0Y_S62ytbs)uSVyqt2YhKW4kn~OBjbc zeoNmTjGR>pcms5APgKO&z};c2j@yY`=r+s=zBI)0zuVdw!L#z-u-mFcQE$n;hK|eJ z!g2Dyt#9l9F3RwW#0Vvljzder|BNbt5#OPndX`~h`QG7iQ89}oeFCzmI@G8OUcpLz zB2AS~sTvo^mhbg>6R#F$SD(b8LY(@=+#ckc_MF?j z?$HSOBGR3@m*TLz4sRdjd>`f8N2yLEx13CSUm+KUxuT=yD#Vx$#Pp@1I*-ElsP{lB z$N?|C`4$a*bgwRv$z13ygu*+^t9?mMRu-F&Aw5nJwtadz000@=Duh-fQ=gF`pfFgm ziMqregWdL=`iO`Z5vmbPD!d{zA*NGLKu!N1kb`ELKq=7e0{r0>VI6O=kYMISEna}as1lR912_@VN?lqfc*o20fF&WA&fSX_Yz5llyU69( z+S#SE!iHDCi@*8q8cr|WZ+0wx#n;_QC+wDC@BWlc=O;W0I+%^aAZK$5Jw(p<)}ZHF?jG)X@{x2Ir$J<4gcCv;L;^mQTxQq+7KFddUzW|5|8EjuUHz$k zR@5J_4?uZS=E~uBNFUaXIpcAF+UwNRA5v$(2-4uQNT|nWL`UzOHEQ!E3ab`O z`dzw4{lXH3<$TwzQTeeY_18pq(8$?AkxH~pF3T{g$Q@MdhC4(ssXAzKi8^6;t*Cs}bq8Li+M{`OndPGZ)7 zNx3wq{QA@yIM#2!MX8BKnhPfyy)8?faIqFT!-?P=k_!5#2`fq?=wGAfB{wY1if{^0 z{TQ6J+0}|9=Fj`=GymR(5Q41;#7dCtCh> z0Nf%R2gX-N6P)D6WJ_sIbxK`LKZ)9o0Ll zH(@h@Od~P=JX(bD#0#;8hd?y2JzfZb&HB|u|LwB%3%l5x@>`Er0NxMuPT^F-AQ$If zVgWz#XwcgmS|s1DZ-K3l1gtCUkw9_r;5}wp%eZqB@!vKS?n(_IYP2UXL=6L#4U@l{ME0V26S>BjvwgY^Pt9Pv7 z(}v2#`Un^fss&${A-=3XY}YF#xRn+Qn3sI34Ub>o;9ZG+xibObv`---2mwi`VH*Pz zrnZS&0AIfrYjS=y*p%2C7Y_iEt%MJtcO;N-AAC~@Iw0JG&r*K#01;e@0q$vl?NTa4 z#+3j^e-r#5M0kYIWrRVT{6iWetDQs%nG>X_Y)+73HjTL^CrI(_d~kY{ij;>IOM}bJAI0P4)LR#;_HgTOU%VA0!5A~!@ zPi^4766kpm&o-;ey@!zgPjWBV)I>UguioHN6W{z2a9u<|Wf$xW0)IRfz#e}Czx=~3 zx+0Z&jsaeTV5zQlj$htXr#Os2H;HyWL7v8iJLk&5Bf?Sa{NWQ>$N-*Lf$Ol~@uN*0 zPX%ii_Xl`JF{3n5bQ-lOM4-`^6E$lTvvF4N896__nKJ>Ft(M8mO$u<8IoL_G=r3EC zYr%eZ{9qI}DiVADFObItey8l&F&ucnHC9ZqTj-ygd8slQ7rP4{QJ;*8xP_BWaZAZBi_t3Wo=V6BD0HDi#H7pRL@v#71qr_+3HTj{WBpf?W$RBb?VQVp@z~=-wRu zC(1mwoN&IrM+1}tO!Z3KDb)@s*5G#EG zfS+%s{x0JA7Wdjybp-4OmP({>1#7-f@_fuP+1J{_Jzm5{M=#zdNDpI+FAKfr>HlHC zLpeq6wyOPV)F^&1ic$UzJ;Ur-lEsP8LSD_(5YML`!h6=&-u$<9X#P=+x>~qIQWVHm z)6aDPi`C`pU`&th14sLajJ5l=ToSgaZw|s4>kyMLx&8pB5HApb0g|?UOIZGr<=n^} zuz}uI;Lre~%>r_`ThKT(oGrQs$=3_vX=wAT13V$jCp&J_K*sxDjH%Zj<`0mVI#*bu z62Nhr>@mor@g%otqhX@%LNq;K0jha{j?*wJBX|uYZKFj^Y;5;wcpXe_D95D_^7j~N zy*H3y4l_I}+T)yn(LsI`!s~~-D5Ql@Njv~7Pm0F_(h=a zmm@g8=;M6{qi`(nOGP6t^^g2;ZCpblIX;nq5h8~d^WntFNU+7J8+X8)Mk9^^n87*; zv1c$nmO1`?8_qK)S!BLg9z})VLK6;JtbIw8Vv&?dda>ZDUf8*>C(f6f5Q1YRQzy&! zHFD<2NgmbkM)JtS8#r3R=-AG`4++!40hZ|u(G|^@2+5zpzdh~}BIBAaXcvf{&`u|Ea>pFssSU23N*=i*c!pMB@A@Ju zo@`o^xHOua?7s@WgSle(8T)lI34ZQHf!h8^4jN&t2bv7W$?+c$Yi{!6 z8G05=2caVHps^|E_#gRm{f{vcA}?SBn-kYM0v9)Jl@WeXNBrzwD|iRw90XQj!#bc;>!lo8VcKBea<_GZ zA%8iIltjN+!{iNn?nDN}ZRMLDcmTl04vA;xLUmva%tTlsu2XGF==qry7jlu%jDa~D z4FTM&MS#$0=od>&sc*FtdCh46_&X-yJ7C%*m+kO*n~hz#*R|dE)a|0q__20{ZE9`MLjz@K%hk{%hgBCe6 z-ezX$mJA*lPZkUrk7g;yS5 zMI?t`A-l^q+!N8a;883&H!&Ze$v3|Q`iw?I0Kn{c%QOyt0r5EWim!FKmIBo>D|pkG zD$W*Rmm0kpn`=Apw1X$t$Zy+izWX^FzDGoK6PXgOq4mWT#3UzE`0*leu?BLy?Y)-IwE9aPhOns`qlp%d(brUl{mYt)LYz2;*#AED06_yHM1vabTh8zxw(^`=- z)kG*od{L&)0dbiMX5$vkB6!8~IO{H9a|G{KE}e@vouWuIJqv z?TrbJpPOvP%`KpEE^%8sPh=>L)F{MF6ci?I{ALUbJ3^}C*A=G9mwA)$mKH)YzZtEA zoupxC*u0LW|RVvyypt?W8|F*^J=$4lhyaGtj;cNQUK%^^al(RKvUJH$Y;KqY-z++ifKn;)96Z zf?|bO0(p`5!zNY;?Zs{ZphJd~brG>s)Xep6M`}b_w9sEDz^G}GlgRU0Td+C~NY3X5 zH!g#v&j-!0%q@Nrds%ML-Ko^mR9e40=bg*sDRr86Cty0k^X_JN{LfFq#YXHOehse9 zmATV(sl9#Wn~};_7fL=}nt~WlJLN|3m6x z%P~K26XDr%(C_LD+1?(9aR*K`f*R9tYlp(cPuAYS>Eb0r%&=s3LZboPWgN#!k6%l7vW>{9`drn^GX=p zN48N2*&h}bj+^?<#Vv{=vb;XrNu0EOu3TJr)7u_>vb~}OS(Lx+jskBkTU@Mp0kyt_ z*XRx{W!o)Y$ua&K`EsH!b>3nx-X+;-pTVV2;lJixkQm0+p=qb9uOVHvtwW#w*G)TT zNyGlXve^Lg8XE!JVQd6VFs4Rd8pBFP%t#0ds|bDZ+Y|fyxw6?XzOkif+IQ1RHc+=( z)5;B5LGTozn@x3B{J^yC0{>-%0jYhHxeH-4f}?*bf1n}D(2-s)v>kfawm9o#N=I>4eK#a|ZzkFO?6$`yNWar5QQ zjD;8Ve@mkpNBjNb>knhpM9ya>NfNpCQhtF(jyg8x4L~TDcXD_be*lxf zW#qzC$*7{I;vALi6y;vxR_Tvr%`5@&^b)XxUo14)lO%L{j}$PGWdep1Z7S>tB0g4~+1DIz?BYNQ=k)Rd+g zkZGuv&fydGEm4i{HP!fDQ_Vfgj1NYCdI6Hzph+s z7~G+YN8Flal2(8#eUYyB>z{lKGh71LsBwfhfICcTs7wm8Y=Ag`EnvPH-awh*jX39> z<_&x`?|&Fg9KGw5$gVsV9P^7mTIx?uF2ELt;~ftx0cryq(Ye9xOQ21L>9*}xP`kx* zfl#oQ%Ek(xyw<v>=^t%XnY(TBT9L)1qle#m@D90m~)F`)Yh!VwMbV(Y)x8WI+8;*gh(K?Wlj=( zi>CM`djQtorY^w_-;x~61HhPh7yvO3EL@lo=0)J(Sr(ajh>n(OU@bF`ASdhd7UqFA zW-DA2gb+2z$s%Nw*N%oii8I`N0E?cNd*fHo9;Z291atmHiMqce5%^_1E|_{x*)acU zvNLjoh?is$@fs(xHIL#-a>!8v#Bp?A#nKnAbV$AC^3K?IKwiYQFpK4GcgDAhoO!>M zI+NA4i3V+AH2{!pK4`E5Uw-3zHvG=wt{n0I+u(%|uwS#meaHBWq}YGir#C(=5RWkx4kvffzaM zl%oE!b&sqB)?nUygj`PGW)S3l;J6^gr@kEF|?!1(!KIX8N(Bg(- z2{Qst1S+P8vn$3(d_eh?*93P50s$T_2@KKLK-^;%;{4w2oFv4yp4~{!mosFnW8#l+ zoY5~%BWhzBxI>OsW01R?m=(K$9_d>5e57LV=);aKTms(h$6bY&i5cQztjRCxZaF-tid6xMaeg?WkD}S-mJLD0)cS=8!)C?X$Pe<$<&CHF%M!5PLqZVje*n)fcwQBLMcu2tw5n=sMQi|g zowx;t2p50*OaH#tmr~{y19yA!4ZcfWBy0j*fFB=Q9_>=PWcfb+{U1tHAHM~kIRpKB z@r^U+w8;#3)@3Vakcb4r-PAdBPQ+bqjSb@*QM}4VgML7|A<9gYperW0*6oLs`W)^Z zI!?Ia$AHp0Hom1RM0#$^R*Vik#RXK36I?LB(S^auGMfEmQm83j@FuqoFG=2?m2CC; zIex1SAcXMU_MFTVq@Zi#YJ*zF)eeT!uB$%l3Bjj;@<&;oToP>(lw-6|qg22qqV&Z8 zO=%HK5)&qc0+doqQg{qXHxJ6`VDql~Z50^ujqCzuG;<5M%iyT#+(dN;0mnvmL2m0o zCC&}vwyi(05^OCVPw8z920`%t&na~T0xJUmG#FMG7$`NqmC#feeJ4ib@kM3bP0<-M zaQqoMKKNo|P+}ks^izXPp9TCuEjD6t2RMYvBYj|AFVU$DJ^O3T#W%P?Guh)bCwW#w zyX0AkcKqx?mRQkjArB%h%R0UnfO^g*hnXEOP_Ai!c-!d(6yqew^vQA@6TfIOsDX3F zhiAY76nK1weDp|;CT;NH1LpwrYuPjsic;Bk(~AOwV);IP<1$ejWlv}E^`F=9z;fwuR$co?@I_jA=oxn zdt z33KyS@hboRX!5jVKNuA|@B0j#D{cIG$UhNR{hx>n)HgpUoN*kJB-obFuK6B=XP6)m zV$nIt({NqyseUPbwt%b+;=^W%&1=*GJD^K5ZreEl7r-CSpDHkCr?5!^zT9C+9tYNj z@d%oMQY69XN28sSgV25Y5bPv#G4D3GlvGxQ5P5`xwkF~XB76`T*xr;xcM>HtF5JP> zdi({_S7QF>iGz0nci?)VO;3440JWz;ouYF)$;R^k9!q}SP`DEXbJzZ;C#`Or7uv69 z&;9mEj=?d3*WBWvh@5y{&klk3XbTsVGpHjI8OLjlW^AsVpze6j%$7c5wCb4nc~R>{%4?_f;!(gh2aZVHW9u+-ep z=}3Z{2>=BrvbW6*(S|b^QX9^oL?;{)-;U2|wy0GK0TaChaS%35S#0tk(tlR%p3`Cykf)0BNH;0wJ!%F7HfzcKZZ=+8Zu?zahN zY2RrRV|cS3IP7+R^bv3t8iTQK=8gB>f}ul)jwy}x#1EEd_Z&KOQ$B~DHry@dj81lV z6C0fw%@2P69{2A3pvACdfA}vhn2`KQB&+k?QUqkoyxn7WSyH0H`Mb-C+Ysg+)Q zD1I3bGvJmK(8$;ruZl&Duegk+zD22EN(WldhgkB(Vp4hIP-Csz6RBZS^b{Z#QRr7+0^{Nu4L#bSz}KUg8t$5a-e~W-3-C)CKl-?11V4RK z6vG4>>d-kZ{l=oFNg=t7=#`65eW8cQSi-}vc;d&yb)X98Wf#hZ9iC<0vRVqk0r@-= z&5}qDP?$;VtU9U@!ktAdHRgUQM7>aXdju{dzX1p{5VXV_3ij z(*U15!%0F_2|i)q$uQ^yDB&}-n2mcGB2Z+sm1gO*21`3jct{C|Ugv!S8YBw6>(SJ^ z8g5y=7w69#)F`@W@=NMs)6yN|>G!D|4kW>t&iogCj>Vo%?h_lFJaB0Y1`&-08ty`% znQ$Y-LL#wrE?fv3iq-h*UPytELbPCD60!l_VayU~E+JfB7a&Zcmx4OU0bxL5U2$w| zZ0zKkapRnEzya7|ve1PrB@CFT!?0GJi=Y`i8=YbbEDf^r|pVBn$PyY;lNAgrqy-c;&bi2oKsGNX}rYU{g+NBg$u!B~b>G6BZh^5a~2;^1R7V zof~S@ZL!-hbaUcOD8c9+?Nu3=IegL}gUhXoWD-CCNq4-%2?cA5BbXIGm|7tYK(dRv z6SwF>zMl|~a*BIT0H+Bka;Qqe!iT*?5j+7~^BbWiXy^b;nL=i?h31IZJ4V=)x~-%Xe_QABc*JZb!3P86j=53g`vqE69-r5ozNglLSrxKC-t z959DBz=2(enkwwNlD0LN;psk%1FS{Jp!im8_9Q@w5)hQ0tgsj^UZ9sNVCqtFT7d0Y zcm;XYDW{8C@@uFFxiCzvNhbsaBGX6(YU#ac5u7q^0{$p_wQyOeUJ(*G*6$g8*tZzE z#R>+uDIbA|d4?~s%+SjOj>vDw=D2^*_|*I-njy!nLSsbYk@7Ip>6~kD&EUioj*gasZ+JEQHz7uDR<J-+0gI31a^X=*G=TH^s^! zrvLHc5Lws;I;CV|2^Cec54nZHz9(UcP`Tk(uZUadg%)lR#FkqID2#(mqCA3j#6P0E z^GphX`z$sDbInIp*{mU1RCB%uS#FEn5xaHb{OkCkE@%y`qvdEPzdqlukH(Un{mvbe zos*qA`kj-V)*z18IXl0;rN1vmU^J3u#&lUdsL2?xU^->G2-q~Nk6b8H8|sR#M~eE` zLIS}ua(ENe`jiBcpMn0gkh8DDPri}2bc)lPT=KB~58|r)mf-Il&IHTe734ZkQVhpS zws2Y>1AXYl@0P_2;Y(Nn9q1{1=%-UyS119`VlfArfj5K5Vg%`w z=Sg}E+7blBTXgqW=stpW3FAvQs7Sn_Eb6;Nvb-hf9LxANtFCy)jm`|{JBw4pIyha} zPN(Qxa8&0`lZY@HgfN4YEJCm(AQ#H5Wm^0wam9DUteA+Y9to&F;Q-lgVplNDS%+Mb zk>d;f7E@shP#iOc#BAj7LM$^&G)(7|g>4!IFfbRny+m}n{yj8rA&f0tn_`I3qUg`W z2`HZrAT_q~-8IIt$tO@^<2VEb%bWBltmGua%Ro6jfDFjxKm$Rw9OUpJPKw}2*+vd* z$2$orMa@E~X0vZzzoQM6#vI8?3lB^N?e2U|O$$YX4q18kLJWcqZx2$rf~f^d<%m4D zX2~U5F{FNy0csRHBFMK+spr6(B)B$nYY=e4l{|Wc)X!qtigw0V-PF_2=#mqwetjLV zv(~#7>oTm(iQ{2q!wRnnQhEK8;EjG5K;=1GB?SOdR!{jUxs05}E;l04TkzOuc3zkW zb6HklwdgHU4KHQGS#04fnydDr&-EgsBJ7y<7s9(kOfy+Mr30r9lSK#fqUN_dBfgIm%EcAfR4U1Yb#b7if02;gF z@(89W9)%U}#~L-ZW^@e|1Ydn4E9+`3{4tuW9N|lp(@nlMNcSM36D-AIruj=!VxH1K z=ApW}1B;31uRIsh)Dna8E=i49%n~^;6XhOnfh}z!Amw5s^QNIO0rnA0Ea)X!E0mb; zu)EQB#BEP8z_4Ozi(qE+XRb}I4HS^P5fd%q&T$U%o!ggB@%m zh7Z^b+9}9_UKqVmcw@Ig?c^20+NL?JQ?OyAjte&s2UKW&u2Iu5WoU7o0y*r5OhyA0 z24iAG;+3erv<)^F6|R<8nERPIdK#%8<+rc3Me`jBfJ%TXGLLl3dRPBLH^xR z{QM9a1kmKU?*cM797tjQ2Ie6u^7zkgMepjdMQzg6VBHU>A|wZ(egI@_ISP))jSX$1 z3s0DPLj)$MNaF55o5~{lwIEm`qK&!cd?8*3Oq97I+DQ3%53ODx51;So)HD@WO}sR` zcW#^ujR6c|wF6G4&xkoQr$z3d+ew`G0eiy|1k;L^^xXj%g^VO+90|Fu90*92vTW|O zN?TmPhQ4&lWuGP}X^1(4*_>J9-&j0(4&vya5EZAet2e!c&)^zjKJP;UkVgsN^_sBc zzL<0U^y{Z{$AWCY8q=jpV*>tBb!dlGM!yOwScSlgFbJB0HfrI!OgS()8i!%P@Z@7t zhTTH*hV`A9SCZ%V$)+cPneD-_?R2k3N!%h(>31lvz^H|Or91QX2j-u z((-#~+~GCDjduQwa~3th=w52$g9F*gF&Ka^M8r}Le8nmSD0{F!a`7k3ThZ4WANUT< z7TrY+gx=+c(dA=uEUnbx=yWak5xGQ=W6$I`ytsTKCd8!`8cZ}hG#o4^d{2iI>IayE z3Z4d?&?WIwv|p?oFcsDg0KVKJo#Mz6`}>yAug*yNm`Au8`cxB|oQ4f|vcywaSk)0PQGK#wSE?LCyvq2BINg>B)$;8~|&w+CYnJF$la z5qbn7Lyv%5g1P$yDvm%%iymXYu<=*Bw=>5nv4u=-h1*j4)(GJ!f)HWsez<#QQdo|M z#o(2&jmXGnoI6}>Y1^26xCf$bp{X zF-j~6W5t}}MEhv++%DOE>tt)cmEXEcEasmZ$xr+~acp$p9ncdJ@POu+3YAHSMFWUp zX{e>36BirkXF;@&k=IUgKm2qr3K%LiE=!#|ed=^{K|e&hlrVXwIo>r`og@sFbeo&y z5F5!*@7eC1j=#ST<)&=`dJF{M20bLrgvK0J3Oj&})t%&V$wxH!3~r#ZJB0ue9w-TC zGEWp}pG&%>{@G9m#(=qZeUM53mKHjj&v2ILUlu|on8aWTYIty7uNj5`Ro6`qHY5D|M!ti2TX+OIb^0HCzAsW45(M8TNJkUk7!D~ZhiG$jV zrel7GGOcp~U&yVAIf*H2q8($;bwmVx4)Dc~`hhfepB34&r`#~1!?8z1QD3l>1bZoN z?r^K*)*$r@Yi}QS=eRqmRBM^KMUocZ2~U*~Xig5{o5)PTpc2WV_?Z-3&#EQy`2kc0q1o?W8%A5D&zT0D(hgS?J)nkv`(xLTQ7>YlPBB zfoQ@4*9j{#ejZ0scsR6|7|%o4@&|7S(|9W|5KF=4Sku;dT^;!cBQ;uji0F-=J>3bZ zpyX?kJ%=|$d`+0d#`)TN19do21UUfh_uf=VfniuWm^2X~(1W7@kPuAHp^=1 zx=6qP?`8lPuqJd9=YzKhyu$n|l@yJ@XpAv32y(~4(fP2MWCS$9O9?`NAK9%J*QrLA z3ehcPcg}SWfal;Z&zXdE9Y)0zXViG%LO={SfnSIzSrPNnk{RS+3!x4KTf!G{=gz?* zb*3J7A~*!=P-aZ7h^M_d6?iZN0F<)apPbnfq9m#WVhY)->tbcbUXV^viFg%fiGc`l z-J~`BHy}s1K~RXCp;MHy4WXyc1XxU3xKP8DPARg&Q2<4tXO!K#1dblvHkmpjyQtH> z)BI`kfG%{bvOzT1FAx$&5;Jn^s7S@SVGMyl!@775-vdMZ*$pvsGYAO7T&L)P9dZvB zlthPOh6g!%ctn_ZZ{oG<+@d_Vcw#z|4lq&A5&8kVMBzd(o-bS}QUG5P4W(FPQcPjc8y{*m)p3+EqzAoPvcGWH_j_!n|b`U*FpND91?%wLfJ)Rif* zKTHl+c!{<0HQ!=~j$wl{n8QflxFw`0#`vzz1x%8q^VJ}A`{87 zdx6aC30sWt9kbmVB?VyggrI?ebnG$cod%?cvE3TG!@0meH7X>*=z>eQsIzXKg%A}r zilUngHCGG#>zG~7xyS*r455xek3HHjCFibXDP;z(Me#VWyx#j@>Doe+B5Z-GIz`Y4 zBu4lbDPtPiMc(KgBZ$CMJr59M#S55vpqt=`Q4QRFnJD@KAnyfY-3y`Rlw0xS1ycOb zkYdz{Q4ko~*o2Z47{dw*{L5_)dlI{iIVi!qL8R8$@V-}Og^s{38f$xE>~wA%c1(W8 zOxZ6mA7sJ1g|+jq5hUsq3mkzEQ|24&&^U+dkS9b>kc1@x?lR<7rx0{v8AlyZ0a(_l zo*GMman#i*FhO2J4z$mZ)8XaL#*jMb?hC0ETM(aYC$^dG+S;yNXt0FR<&z&#)g!47g@1Uc_O z9s|D}m^eOqo%V6Kdq{+X-#=mtv5NOezTvk59T+@gNDbp@u2p0;;a{CYSOwZgY!4Is zJP%3$0xQhJ4zRC;UQkI|;Sd6{x$K2X6O4zN5(9yXz-HPVQ*NCwAFK%W5Ox4IMWw=k zLpzCr(Nra3u@*{J4E`W@16N3PECn(Im9HKG8-AeI9%LZBBLM62Hj+S(3}(_2{$PY3RfPFo0OsTg zFilQun}|wDH5B5=J$UaxN#g*CGKwfWfI;X4={ICEzzC%Vp5-vmyI8ZqY>1%{7`%tz zaBN(4&)=4lJrhzE#x)EM8CXY7R|Xro<3^3ZQj1j-x?v>%FT+UhyIdhxdhtJv`V)45 zTl26HFKEClS`_gIJg}~Sl6mgx*-)igAd8s65ZkFl2gpo+ zD#<}K_<)VAXY;S&WE zEA;OW7}#$ZQKteJmQ8Un@Q!55VR| zW7_$cFV{mznWSr|C{QY15orSM>Ej#;fwL|=i%JcmBTKZ1t$lGR93i{MSxjYmd>`tG z01YPUeDHbnxsJuz4B{Ob$MkI4D4@lcZf~v1QeS~su;ftojoU4qgSulli8kO}6!P;V1>|iA zpWNakQ6cs((I**6b>NslR~$4d5K2k3N;D(uYi-FWlFlJo1+$6~B)xV^2uW*GiB`!) zo(LiRiPBSqRCXhxT!X|gFe^hn5gR3LWD8ppL(jU091H#on7l3?7VV%>E z#FbgoNAH3`NwJVOw zfU8ghg^873r<@P?eGQcb6eTphPVuv56GlxMHHjLR2OfzZ=Q}@4cM%{_+k!0OiNe@| zq56&Y3ewdQ#8~Cs5aU6a)z}#wdEH3(H9XjEevXJe0b+4)VG?1Pf@YVLkq?~OpGzJ; z!I6J3SsJ0xRsV;#HvzM&s`9>XhN?Olfxu0Wc~Ba!Hi849g4(tUuh@!Gw<0(+Dkv=| zgn6zC87ft$GN%Gz3LqKk-hhfq+ikysO8eS2FHQS-TR{|L3?T^#3AvTrO5OMO|F3ha zF1)_|ef>Sp_a)D>YTa}8*?aA^*Iv`!XP=_H=i)JjMYh!q7s~puA1nkCtY}_RM)6R< zcv1_;E39<`qHYV6ZCW~Jc3?BlwJlV;|76d0l3r z;m`<1720nQ>#`Fit1rM>)K3G`LU#T6LOH!C`BQ89eR?c<-lF-qO_FsqR5W3ms4RDQ zfosp}?m;xwz*dsGR?GQ9>Fbh-hYa~HT&}Is!7*#q!uS(W2`89C$BB!6z2I#neZ%l= zr8|Jfh?o~t@e#a+sk4w`*Gph;s&t%p2dAhNI}GWDmgDOGZgc!7hT&=LZ97>6JGu2f z3DL&VhMxw!fcH98|8K?IW5s~qswHEOsing!?bJD=*kK6Mexa+AB+5URxXl_mG5=7< znzfIoO6R7hv`pQ7Z1s=%-euj(=PqgK(Pt!ZSr8G{$O0lc8o!*H#bzOb8H8??YTT!t ztmL|9&}q7>?KHA4h`_yb6{w9oNAEI>pjPK|2X^JiL)kjX1YmvJm-X8H8iDwI z;J6t9T}FbX(%Q5#0?|>8t1d4oqrHg)WOe5fCKhl=Na!6QsONWy9s)AYTG50uTGmDL zJSVS5Y7IW_EFT8;nRjzv*JPS7k|)v0v#v^x#y)4-4l{H09PKmMCIORTi!~zKDX$h8 zdrfx{PKsWQ20`3mEL9}6zfvIZvU1#V%$8rh97k#5h$w5_2Xz7kqu4&WOZZGwM|vb+ zHhFOVLfs|R4`FZ*P@gEJyNt@X3Ze}X{ z$@^OMj4r_YtmGTpaJwXap+gZ27C=QK8z3TFz6pp}6fk-qU*wT5`=r|?s>Io^_jcGagJZr6u7r>iA;!<#0U}M(tFcDw zB5@Xsz(^;d-YP|mQKzR}JrZu3=8cdFF>y+365jku`h{5g&&M?7xY>%pGUbr4r1-TF z>?6UI+yvdln?!AC4K>5K#uCm=unyk~co1ZTmpWb87S%RQ^lm9WmtimIn#0KF+kc5q zGWD~g9-}>Z`-!BUGv5)cD-%oe1xuw%K2muuZ`ZGe0F_x?yK`4@)3{!3SvF#c{q=OBwMB z>{Pm?rW+kTcLd{_*#XJdr^$uy$s@@!pw7$W*n#d?L3);wL=73Xw*q+>3I>}1kIiQk zJLiHYotZ^l%k9HDfcyg97}QkG)Q7>N`=V4?!^ z4OQnZBwf4mXc_EMe~2gMKs}4`u8UkRB9SzZdu8a1*Hmxy$ETgo+$wgE_GCp3i^Plz z$gI@U&RQyEpjM8&rnQTw!l-kpgz>-MA?xKGQ*NQPi~ zl&&q!3ahDZfRSd$X{OPDab>i`ynaT%LcuAtrr3%qBBPk0xW*#WdgPU&_6P?gr3b|o zopOl97hE@;I73(MGrT0i_T2Yjw=J`R_Z3l|y-de@fhm~Jl&RYEJlk95L1X5%7NHot z>8>05ZV4N6-#r?5)hc(VKD73J4=Gsr*eD~NNv3e9bethQ)PP2+2fqhTDT6euO8bD? zZY0P(m9>f>IHduHsE9oRhKqp7CsIw~4^K#-Tmtz-5HskjEYI|I_v$g`iOr=KrfH-{ zJO43E%vdT5=s`4P_5cbL!wxg9qk!9-UT?e=t3I=TTY@udN!tbLUa~Jz;#uLl3phs-B)d zYR6GWKg0uFJE*FwrFu*41g;%@^n+=7GMAocnOglxHOWbDpJu52}?}@V_>9fJTTqKgKZ&jXpgrt|5>5U48S-xgoi2M8h6H{(xhz| ziwsuafE@@1pXfATP2)6CLSm^`-l$SNEw5&NSNciV<~n<{uGT=Jjh<@^X<)Bbir=8w z+!&uZmOO~3(pvh`8db@tD_6jp&LDXQ7B+8VE8FA(m+c_pY9-avj>+=~4gjS6g~VuU zfw4NWP`Y^S#Td*#A||>0BrCsDbqHTFlQ`-=T(cLo7-fzok4`P}RRGa&h&Pn~~{3{{gq_0&@!22qp%M8t|mi zqE3GT&>9UC9_fw(gVASr(le7*RBNM!MvJr}Doo4gfQpo<0ZTNYG_0zTiHJqCd&8QX znBDz7(vbUD3^l?t`%pa-m~lWciaGR)!nC0M*jl1?6>i1V0^AfFFs9}yLZx_|enim8 zHd>)lT1bv~Z(bqilk{gZO(WT5ZFFE=XkSU{E2;x!FFA(-)~a}purr`10#~y_x4I~h zVi>WJVicyxoLjHG^;*QZX(zT?euNl`mf5HMN~zZn0x08|r2=}J?f)Xpq=Zv!DXS~5 z5hPRZ_#(H5ZGP`-0NZTz|zHv(#t?3!H z%bpowBm<3+41}=)P6(=*$Ome#oNnBsg4@(gSr`S4IVX5nsSNv%V7|p4wN3$VVslc^ z>B>>eNkO$pPng+RpBk8xgCZr8gCZ}IgLX!o98{~392`26QF}(>TYpY^#V*^CQpjB(-GqjnohKbT!(htZC6|;B@#6oyzmjgMc_d zyj&3dZ1mQ>hYxTAp2!V-hE>4uK)Ku{rhMG6c%2`=%8Ur8@C>$!9TX$7Q056JzD5<| zbF${?ywvS6r3;rcVpG)hgUJcT+pz~jD43R&4-s4aGQnRIXX-U&Yzfs9+TfFr|E;rs z0zuK9?hNWRnutqTb)C=L)LDh0EOBa}ge8=KXgt_y<76L0cZgKqTfH`aMs+gQU3oYn z2<^NaD-<=sN<~1@qut8YI)O2W(qyP$FQEtNj-92?B_Fx+ito3O0+rtim2$(JyOHzL zjFCa=M2|As|NWTih5v%b@k(*$U9iziP~m6wk`o$G?^j~(9C|%ffkiBLV7@f_AW|5z zV(d}w$^-LZiL;Xh>197UZSLALTd=gwacqa*v5&?nVOx?>jM#GaTxj;YEX_Q;wJ{ejYQ;;kg?m-} zGfy2HioO^q^As<1nY^k}DPZQ85^1><@91--K>yWQGHhJ7bL|Y9u^qhG%uq7|%9ZOV zOW#xWE(CffuN~En-#H5hNg*u0<|D%3uH!pnL+wvx*M@k{CI-<9qdo~|5AWmP4qU`k zV|gfyg=5HC@nqfjv|<4!%ph;W*X_UK6he5l_`&3CrTH8wc!_X`zQ_k$AoymWgJDNE zEyZpu-QhT7#5AZIr6Xh8Alx7@3#hm$H?HCWQX?DETU#i+pLVJbR$%qi3Y4%?AxrR; z5$q%;fbOHt@f7%(hi z&apQsfHb)eVi`u-Z>3-2Csvi9CLr_M>d9gEn(9^g_ts`Sg?duPAzT+_927aDPSNSp&9)|2>Ha3{U&qHM5s1j9_*;iQp|I)su2vnF>327KqkvNKBT5$~; zW))wvfi||nKdTWBn<`?%rixf>>II0=|E&kK@eLl(x6}r7*&)Iw;dXdGK_Yja6&BtP z24wVP*Z+#^GvX!u7d)S&*81DL7s1x?c!567sA$=L|57<%W`vREflygrlvfKsA1jrK z&HhdEZFA|lOdY(eJ5~{!N|(T?-_V)!2+rWxx0CAMRHxC_Gz~VB2xad{6x&7E8G~^6 zH7AArv4lbf=XIDAKN~i*fTo66YCspfCPVpxW}82%p!{hQ_OhPYQYl`FR@yuB3o>w& z94fZo%?vs73@w6bcYrkms8owS1S*w=1oEQ#>U*HMrFf7O7T3I6s7~ul$EAu3CU@mp z2O#~>3U@Wpa)8sEr7Z?J8?oOr z^k0RuFL<}?i)Yl zpCv-t>7}22xn6&S^9__&{}+^Bazkr(+Fc*b5+&86tMAG$XM2j4n?l%#gr#=*nUp>{ zf^p4Ro5bHkp?${lKy}AyJzOG;lAduF!S2MQ6?h0y#_3=q4#KrnRqI zt->uv%%coT#C2S&Wt3Dc2PhzB#yxC^ZrEPo{{GyGwBfYUb2x5m1}|Y)y>~DywhC!` zvzn7M(ohp-v*Ek68-A0VBMmHM=vhuzyRrYqetxMe3k75?CwQYc>ljQC%6KD%a&5Ay zJXb3{DeQN_7^_((;Whkh|4q`F*>zj|-698>?ruPvd}i5fP1{m;4<0S)K%T*aHN0Os zk%r_(hQqpDFGKB+w9AZgqkJ__vx7Jwljemty74fC;?Dt4AWVxFw3!bK&Atz<#CBt% z4s35gM-Aq;q%PJPM=^^VWUfosArS|OPva}HQfNTKZ{LL(?aJLD4f@5ze`tE2!iGC( z7LKtUrQD2Z$%#;)m=2@^V&aB1k}N44!7e0hfPR}kOSw`b z{(Dlp{awh1b(Ed(VFo|;o>_~IRrf})Tuyh#8E`|>IRl;`N_K_TB6opD&{oo`&dy`V z!QlP%4`#)Eji1~0~jA(t&xr90CNk}lZXoVDlHaN(?*7E$)ep*mT z+>Zunsv8fQLf&H%aGYqF=tC4RB4)!#NaCfqP=8b#qm}NhsAlg; z8QyUG0%}p+HC^2^a7;!l69ze#i=}xKDawE-pX{o1PiZ!t;16XvRY1ogWECiF$2(vz zXvPY=_kpbQvRvi2F5l0*t(2A<1Kugwk_8!Fn#+{lirX;kPRk-5;GaalncL)b1v9HKB(t`N%uJl5c z6bZ^$TV+!d6K?zfDv9{kjwQ}~TUi-G-I06-X4gU;bV9F@&y$xY5)e6}0mIKo`j94m zOD65CoDCu4K6AXNp#s0#W*=b8S=YJYq+8*I*{5BE=I#hflMj3^&qM2<%O1Dbl0&4* z4VNgO@Olri1osO#Rbr9gnU9GGuCl>VkHWlM$L||hQ3ny^3XnsYbaBdGYG5E#uX=4B zjVryqffY3BuBlw;aeqFEad%(LsxfDslQD73XFl4%)S2w=`IPp?LM@i6a|=-Ju%Fc$ zciabp$fM%{*e4@zK8R;(NP?+}LX$|qD5j~I8&fE==|Ec!_V^GxW~Ekv0*Z2opgD~( zZ@~4uuhMqXch#ce&svO`dDgBzrsLV(5VJ)=q(vwtjn5TLWY6uquJ(X5Epgsy|Gm z3XJt-Pbojpz&h!zs=^XdHPJfI?gw%J=}2q9nCHP*`>&E%O+VT3Mt68IM8npx8UbN< zn4F=`I?{zpq&MK~87UB`Gn6l2he<<@J@h?4}3O^g}z))ZtWBq2$^ddIox`~Ede|Iku6OWkwdu~* zJy-GRB9ao1>KJWvFecj(N-yzOi*ZeP$a{7$#n@FuK472rgHwHSLmSDf+`Z>`(m=UL z2#d9DR|C^EW@fiCs$R`Q1}r<8naGySi|5cNW`9caurs;5jW%s_Ms+OYTE+ym{Xkk= z{!p*`m8}sbBH3)QHy6U06ihKQOb61+z8S z+Psk5JfPLd12~u{JW2}?2B}6fn*^3>A{oOy@u8r=@R;g?3wKzwc<<*?jzkK1+#Y>sB_J&&|Gxh;w zpqenuHo_&Y;o?xHfieBtDwKqa$dH7eIiwR#TMIN{rn4pqSsBVjTVlK;*o<;dY8`w7 zgT9yf?L|n*kaUVBzXmhI7BlP)D&#;nVRjLQXsr>5$JPxlNMSG}D7)kXQUKx6xQA9i z>LHFj59*ytV{#VpYmoo39fxQAA6q;!!^TzQ1GOme?z+4)%UFXaNZiH`=PyaWnUb7k z!XtR<1R}zq$Yx@L$n0bo*KD-0zSmNmIRdmO$SH+o#La$A6{ghaW#ZA93=JtuaFlVdperLPO2mUk~rtv4~A zfxOF5y=;m=83!Z@@1Z47K)VH0AN?Y6Ry~7n9ylVmg21^*b&~T=9h?y}QSAgh#S=#` zI@^LU5VDt7%w55ZoGdn4U+`KPObIyMZ)+W52_nZ#cYPX&-s^~Tb2#=|m7p~$)vAQt z8Yvrj8pNQ2x{vT;)NyQBDEYVQPx7^C&!@H1S_UtuuFU^(=z>qRRl8~@w^Tcy=gtY$ zX(zPQ{_@xP_nmRlFKT~T8=HQ5@Pah`ADo`?e05=d-jC6mGVih4w5PD1eONluNBgjv zF)tN+t$llG17!kklN3&^=+JJaYe3y&cqWM{%(Z@VeKu@=O;@ZAEKq@QAVQd<*9uxA z*~x(j;jYEi?Tj>$T{{s4Y9^pAP?L6bMRnHYTEHRXdyJ9Ljjei6vyhD@HqOTWkzv+d zuT`S^XuG~WnUCH%T1EeRvE!#Y1)NTurkmCRe^q}5#vjjb~RktCBmaQ}a?fctCr~=OgNB*_zdFdhHq53hU24KD$PY4V`<>ppTw; z_O$lsTx2hQ@*D!aM`tJ7$juPFg!11eYjdCvGzF4S6YbM=kNo{=AJ3``9lxJb2av*V z-UWjl#yb(Pn-PSI(1<_P*?_MW#2RmWfbDF2u#P85pRs+bYBbwNG40Wkb)vB7u?e%| zO{h&99!YxU{%IB2VG9j0TM?5a{zw>^t!yM0kxV2qVPG8}^919ruGMsRZ~ND>BDLaT z9@Zk4{7GSlcy?&~xTe{}_@SD2hI%`9-GnQfFC#`>TsvDjlmK3Y8px zxZIVS!|FNm6p+U&bX0i}_M?izV#hyNO?=nx&br&yk;#`E>z&MGY&U#c(Y2tDK6{fI z_97aIuMwm;&vh-*h=QO~gqqm~8(sf_*Tg)1IeFY3$tV0r(S*>FBrkh}0lz0Aq% zInO9(<1C&Q~`uYJORyD@`c5aAsb+J;ImLEoKaHD2`!3NY1VjA5)6C#|ZZI z@eHFI&?x56iV~2>bFfFCXfHPgQgY)9aCpR@mshW=ts*u20+9;FEcOD$KDs0SHS+DF zm<|#(>*WdDo@r~AshRlN&l=fyZV4kAV%!eV_V`f(6cN=Gt%2u~XY00eS(>JD?^OpN@%_n|S8F8AcAAGGk`m z7EamH&#(S=4+pA+jL3Q;TkEmo6^0k}Pw*Yki5gyePv>A;whqqCSC7K|JBY*~H91qN zG!RmyQ+M{1Z(Cts01sl<0B?<>_N>hi565g{oj-3t+OspuZ_7fmDxJS`XiA#Sx;<^_ zXJj3qJB8%qEu0Ti>ecE>p6&v|Q~PN44~F!jy7ET#J$}8oTDpyfr7$AJi(kMjkiT5} zz9Khvkn}==Pnm%Q=nOMLy{h94SftUh!{uK9iQ^ZbN(PolwUplp9I~n!D!m!pT6{=5 z8XYd!lBf#!d$TG-2<@`l4R92KpOhw7UpzRa^@r6N*D2D`K@y?~tT8!4Q^qy1a`diu zUGT)5dGnZnd&n3-mVNhtBqHZQ7jqowVZ&}c^ON1vM6s(oz$EcuN?N< zxo<7KQ_7GViYbVi0prVW*84O&s&jNQ`WC5cr(L!d$~Rnd!!;;#0;X$ZvC09nCAM9t zK%W>Dg8niUW|;bG=jdf5;H#Oi{y}XyiS>-yKTtf)Fk0LsI*(F~F#qop47|hT?G^65 zX5dX$OfNX19me$?^6DkSdLgCNPjcCQuSgYks))W{8yr-N+V_^lU0O)Wt9{;l!6aHF z4iWi#N^7)gydnlRzKvopO*6`{O-$Sh{wy|-XziF*VHHKS_8YGUwVi8XtboZZ}sdva=l3h z>*oqQutmV^e}z{z8yMI83Y8CF-ld9dd`B@$sZ|!<7%D2D{3_Ww)V-r)EK{~xtPEo= zPqyp!#h9&Jh3nz9=sNCt!W<}16Z(ED6S_)WB)C3`InwdFyLBS743!k@N+9bdwppH4 zV46!3i^*_DQytxBnDai~eJXH3@w}FV@gePHZnHaS2jgWuKZ?2EFHu~cs6AH*Y@qN~ zGRyYDOoX3T88gEe+|<^Jjm~d8rQBZqna(=V{_~2J1fid8kE=X?0%kFe-wxSd)gilH z0u@%elm1qq9ZxJxbf%5BpO3Gw&aK>SK)UAsS2}Lx-_5u8ukK%st8oA_F9GHd91;Qt zNKY$;5)iTrTFR8~W$ysA<6NUwAP~Bv9i1wvbPyDnohQ`B^~;k}Yd_6vw;=cH#dk5q z88*bbc$G%yDnq6dQ5bQWbL7y|jCsuTWmnCU^#O5%j!-q4brB4qFYyPZw6$Q5WknYT z^jyLnah6)X`zV@`y$gAnyK*k{=yA7)0|Zar6hzbX0qVXFBC^Eh#rq6{49QlkEn9#N z7gYyHikO7!@lwTg0{pf{$@`8)BB0Gcka?L|0*90N`l^SJ$CX0AudN)_`)heYg32b1Y4}m4Z zieeJTQEX+j2IHWGWSdynz(j^y(}?O3?q=8mx=^7UV?qN{OOGbCRnv`mv_g+T5uN8b zkCw5f(V|Q?T7iv@)+jF;So3IQJcN_F+88m7Q}Fy!uoyAsnibJ5zVtFOVqCQ5Zj2Zc zFdMN3rr`9?jTrZ{5#zp|F(<*^Fk+O;M$Fh7MvQCOh@om?#6-6v;;E&7ic$LltdzK; z2jKbS(w=AwjBAYF%8^lnifq&xSo5e+IvX`(9yQ91jv5|Xf3v*NSqgz3l|27XnzI05!u|aL`Xtx zwOO3(mj=Fi`}uXKsz&2BR3I)=q&S#PBZTe_6&Y>*tVg)I+@u?#8| z17!!BFb1};y(jGyG2B!76B0rKyKw}O`UR$u!4#?KJk&D|;Eby~`Ud{{n#9=rhwGdz@@IKJsra$~jrT2j!MmCFI=e`Gx0wBxd2jAy{Ga!K z;Jw8+<9$g1&u7ofSC6~6y=_jvWJO1Z;tpBxrLxJm&Yv@T&TP80U1KFDKP9uL3{j+0 zeXbj_i8G^EklEPK#F$F25L;zBVXW&mOFU{8D+Vc+X1F1F?-mk-cD3RC}4)+;45pwy0BOepb;^_0xK zJ%Q{Qm6^q4N~!C7+2P0$wYNFeLIeaEK(5T6&A<6ZM=n!@g51>WwyuC`qzU2hh(cV_&p!#1>eFSM z&I6v#^K!!lgBR2;9J-*|k*2#oaaVfhBUhwPKai$he&EjZigPYc&uMw)f%J-ZpOd~v z2jmPc%wKaA3pgiz;?Y?bwL}jUoRD(#{z!auY8QhV*cFT`W0VC&(VbUGYuzyK2DF!> z$!bMOBBn?{YAuwpH%ef^DKoo)dH2os0_hNqj>0xvGj2M3!sNyS3~mE+bg)xGg69Bt z0@|zO4HO9(C3j0HO;)PSm<3DQ?BLU*%+TqzL#u`AJFmO-mEWg#rqws`KFKxb^Kr9$ z?ef~EPxupTu-5UKfwcii9L9*>0l8nH7hXxAB!nYEDGS%$c!mD59@dH^5etbbE#ftx zg7HusvilM0k79N`LO)DlMrl%L0LH4QryS~*m@1%iJdSm62v%qn@4dhY743zXRJ;t~ zAUayo$VBrv)d`Yg)pC{YB3J>*v&%@6yh6zI2PI7zFPX^5(Yb(jBh+0+rqOlOHJ$FB zoqX?9763m#ctHM3J#FW4EMod2y{JPAnI@T_aYKJVpdeOZe3V?3zR-{>J|#vOju6p|S+P=rOMqcXr ztzPc}{PshyqY!103kr2!p%eg zJa|}MJ{DBK9ITrIJfC{ApjC4NHH09}rbTBWoyTdyh-0yro5TXlA5+h3eVDB7>$*|! z&H^#5ZoK}+>tPyi>2VRe8&FF$%KmKRaV>ygV_&rMyhRs~Hv|A@Gaw^U;HuN<=;nS+ zZ9y`i$hHa4kZas=@fw&lJ9oP&Nk8OE=*%nYXeZ?@S`AEhB!DgnCm@LB0sIs@p_q0U zgry0HhCxKa$Hc{@R6u2Sa5mtGm}Se=gn1K^nJjruPCNUbTHVQ%$y!qf?aAAWx>I0G zW|oajdbT9uPCg=iv%koFT+bb>7D)~@V@E+C&lZ1}CQE4MNYUeE`a|l&L8CwNX#LfM z9iU8#-fzRnnDS>K`9epz`FxBA!*;D$U+&sn_J=56PXEBpl>mh-_DoVRcDr`RL zL-(?Nf;vJ!LqeQSIc6O>L?!)VQNozdPSNWk(Kh}jekdYl3KnETY_G`6LdNVkYneTs zK~|He`}2K_r(Rbv|Ip~Tqx&mml6y;VO|&SJB)tmJezzclQZ8nPome6zksx2%J9+GL zGQ)|EY8{^wEVe^rtsNh@2bD0$i({T3vR6#rp@I9E=dMHtt{Nj+K!Xmie>fr`#ycmr z=w57OlTXu(L1@e-qydwVL0$DTo}@&put^Q=CW4JA>=~1-pvj12C@V z4qk(`y=Bd;YG<0BQUlCfb8&T5x@K+4tGLw}Y4wDYYsaP4<7TaCseQlo!CEJ$uT)RR z8|T%=>K*x>6pK@@XxlO}ItsahxHRb&#|MlOtjnMXC-h`+FlUCCKrN*;7Q4CM!gi04 zXPnhObx(pL(ibz*`}#S3CB&BkE1N~^NoCF)ws^TZ>JJH*RDYt)oFPa9-`=5sVHHleewXk!r`*7ISs0PQB1!f7)Zr zpG^H*M@ku3+lJc=MRcOraSab|g@^3N(&7QWA@qB#Q14DOVOIZxo%KwVyakvCXS1Kj zZz`Eo@~>GV#_YGTKP$aD+{rQzs}aIqCYpNWg!d@sU=Dq7^X!{(CSkt_qU?U6Rt{?u zHcijtu&z$E!&|=)jjV({RF@4*HRaeIcyoVpb3a_sfNNO?A{a*N$x+O^?iwe;5(1O4 z{zNw5T!kV%J%x`kG%&7tHx;j2-O#UPAx4D(fIDPq0x~{}u4J2k^kA(%zNRdZN-Kh7{onIs^U&l-&|HAb+$Ng>_Ymu*;(!&`;m&F4%pgWjAs2%GXT= zkzyTc(vsyv6Y?Pyy|y`}a^#joSW#$?lh(qZtN7mK-9EZ(A; zxWhW7tM8gx}K=D$t78XF`rY24D0XnW$xR^mz!> zNOwQn zM{4f!xpJ5)GBfHzQoCfjFv)|mF#n%)#sZmjhV+v=bEiAQ7-yY%V5Bo#Q@85FFdc$N07l(#ZB3tHdm)>7#B^aHvt%DSa4uz!>sgj_~AE9 z89vsh9P@8dk?pu=c*Q7AW>lRcbbkr^g*}B(L;{M9OR(w*Gwewi_IG^eGz8e>+08_a zdq!cFnOA~(oc%Ot9kOR6<($u8mC3*LE-yLSOHsQoxZdX>{z?+DXnUr3MhYCERb;VP z{2~Sy_N?l(E4xwGa0978*mRY9RdkGEGYaL|-$wT7VW#<1azC}g z=ZtR0b#$Kyg;!ux3p@+s!Bnb&Ax++8Z#HQ;EaRB-x>mgu=giPGSksB6lT)B7$`z<% zLir%sV=3}SJEb9bhwCNR@%GK#Qwgu17vahBPtl^aequK_bAuE;EF^04Qw45{gD|=V= zB7ZQoJ}l1Kp5j9z8}`qT74BP>@XTI^L5|!y>pa)#H9h-iDlg9rA{wa0t`7=v(1?T- zJ>;fJR>o91R`#t#6cXtwM1r&!Y7T>3|d+sN2)L_~diiWX2j zTi>erLKJ=-lUjeou=ULE3asMBpuEPb@tFbNSu7GMkDKza46J9#SYRUb}oPEIUw~(aYPc&qE~Rn$-THdIVn( zd|U4VI$;TwNs9ew#$<#oGMHm-?2;@gGYfCHfz^^Y--8DBFtY_8N}Rp(Fppxb%mxj! zbpxvU%<7f->an#WTfTSi9Xj<}R{l72Ao`l=LY%`2H;O6XW=238Afz4X0>YKlo~+%T zf9iL&>D7Ip90&1I9xRnFO)rJFkGhYdw<6hnTe0|ctoDJ`f6dbhydhPF3hH0czXC)u zW`!h%dJL`b1+XRBkgC`roQEb%;ZSZ$MR8xaTUecLeQnsH4|k9;98Fm_ZKA|>Cl90# z+*3O|ZP5z>b~L;TO@ayc5X>g5Kwk+wXZL(_-X+&vc`3rVvGf8tp66{Ho+({S6;B7f z#aY^3LSJ82YnFAewVBB|LKfai4nm!MQ#@!x7IBbbrVOj_Ja>8FRpC<%DHxMtFSm4! zfS>`JuDWE8PWD8Cco_W#+-|#vPQ-W<3?vumS;R$#lp(OK!h+N620>RFtB5=??DMuWVqXM77&23?>I4!6DmDorM%< zyn4?i3ypF-%8mk!F{s)+?jip<9DTc5nj#h+A;3)KV3K0T8r4@CNbgPWBHo;ak>x_M z7?8FLl(h;*Li$lO`jcJ8zEO@;i{kW2Q{H&fS-o73kj-1`ejw>pxvBy~RC=F;crJ%1gTlW6Kc}1D?veV(Tq! zaYMdTrvC7!MzG(kfIg?=UgceBwQ*7Q`#DR9oSZC!S?kJOLt2MH3dmT(BZmNz>on=c zpk`Qy| zx$ZbDxJ&iHn(1PMcZ5%e>e0C*`p_>pX}C85QSsST+ov??pNq_P^fnAVznJ8nvKG;by#n7Gqi>f)Dbfm*+3?w{ z3{Q0{|25JoHPSUV1KP(edLrAa!G#M=n22P&7&;a**p*pVrq{Zz?lhf*u?h2g8#Wo% zZ&5^b7}Hd!*DCFuBDBMhth3nDDTjXWefjr2`PKKo|0_?v|NBq=flali4Bn+LUeCW^ z_64ZJ=k&C<{B0!DAani|;1+sS-|SmDGwdZb<`dJ5?MB|~FEW&~=m8EIeXCGj`41c_ zeYhncLkZ5F7TkLnLlK)@xua6eJS-)N!T4_%XdfE)pB1AH)sbW`@>6;s!;UVMuKA&6 zDUYHYugCB!c@o)@tu)+(u>fq{X~(Z~AR8|nfgnOEMqiYgp|&MiSarYz&Q7`I9wz4j z`ZYtqq4?n=%~)T``&Uql&*7N&)zZ_UJan8VGw)?iur^P?ewJYysZ3Ps<)0NjxDi$b z&Vbo=LIf&IwDd1tVM{|9`(@I$*$x)oz*wI2wtm&h_x$$n)gVT%r$DYpPlMYv6&Fx7|td{J;u4LhEFk zcyU~z)0_m&_V}_Dvz(Tx{m_b5$4KR)K@Mg;Mb3wsVTU2!_W|wy1l*^>*lbpXli1zM zPC;rR(h&ALxjoo$xP@fAP`W{1Wp`NlCu%_?+b>4XZzX)j;meY`&7Kq$}QH?Og&WC`tOD90D*Jg&QzI zUpv1|v*R}4bGmA4z*o*?e4e)P`D3B9gio7a_xZd9-6>a9BEK#qUHp$ZFkN+$?zr>D zJBc`^6}YYpyhYCIabR>&YrmK|xPlp8fottACIXQbGsQ||vxZo!PxkyYUG->*r%?Qm zm!W4}tqS0o?{6=DRwh^Z5c7w~W%b>w@9syADvC=O<#e^g7XC~VwXdnyj%!CT-adrp zt{l-gQW8-1h^vYmp^0Y*U?D=}MMCj;b#z>%<02)3P8sCTEiIxsp`d4=S@Q@8y*t#h zy_#llKl*K}cqZk;M8nz5uqUN#xv@!OOtt7T{#_a7M=N$RNib%MXlN~cP1qxL5OA?{ zZBhxb+|CD`gi?|7pi@KzlOErNy~zPHUJN3HGUeULcWZC{ZuQMrE8JKzPBwyV1xn*q z6b;`;z{^a7<5P>57($L?wSC1W5f(2!jbdJr+MmuSfjUFI#cnX^wS>dO(yB91eA3_m zV3vl&svH-eIT-j?du1f=a52Hvr$D2;GU| zKzgl8^k7tMtrU$>MdZiyV7RpLr!lNN83shSCTEG(?{ zQet;Z>7)LpP8HJez!-$gy&{+yL9=kmi#|5t9xeGXs74;ak6|5A&B;w9S2U*m)h=K~ zp~~3eKNvEKdNwykjZhXNu?R&$0?3`fo3jVo9g=DkrF@ zh6l@xO2doDFz4&MfZ`mG?~Y*g;YxddW`$(L!ybVxpxO%EV5TljX5Z0uHCch}>X$-< za1poYK6>zmfL*W&8iH4vND*)v(`rE-uXL_hq(g>xi9Z2}`&8 z#bo9oP8)%xnC=OvG=0Isp;heRQGk+TPsK_uPlPlNFdTv{8tNv@@A_JM5c0)LSMY}l zX?pDoGj-d_Yx?Q7O|kecpL_*_N}T~Q00o6bil;+iG_W~bRf5N@HZXJnyQo$m(u90I zF;~xNQ9OiKFV!K?@28WKD%=@c;P*uG5z3^Y@UR?4xh>8S0}x_beGG4S81LN+_6iv5 z_4UgXtkIxSM3Gyn08895Mgkrjsb^G1TkIG=Yd!V0Tx7SQ~4W_ z^dN78eGBM>aU?**c1m(XLjg13sz+y$vfep^?2Ym37(_KMQA28zlM z1HB=Uxk+*`pxrjS4pz$vHAdj8g;Gyv(tY7g$|ZhUOYJa24*2zt4ugl-xsdyrwIP-DBZP z)+9!0nr?W!d;}_PJ|?wLUM^RrR3f$~a#(pUBE!olf@0#Zk^*)1WLq>#}8Xk4esHmfH!(eK{z25l!jGu&0-fnAC&ctG1FL*wYGAMo3@blBxZ z1ekAV4NSH3!Nd8t-0*#UJZ7Kvhcemr*^E{v`xH0JF{78h2G)-$)2#GnZKA8BPh-w6 zgll|hJ=HhvMue|&4UD^v|9#B~uyJR=S-*auW9_83VDH%*n10^CGOjodjNWMc7ij#~ z8-957>PX28=-%0L$v%X%OEv60<5)c-M(#cPGNX;#;^y8nPU0G=o8`UBi9ksc-BZtf zSS)&0O}>+E^Bv0MJA&r|e^x+t9j<(*{;KVE(zm3A`HG}0yp_K=aREcHH0P1%Vh7S; zDAjaJ&#E3$mvYF_m5h@{jE-;6=KEOA6URtdQ3?8PKH|t)Um8|omQ|ewWzOO`B+<#I!x!=d)Uu<tbM24Qy$Ro%r+Tx7X! z%s{e1DAuK&OFJ1Q#+A7U*?QR~lF*}=3`~8e*rvRfC~n3k>RBl6r@29re-Zfm(6+&f zv_<`=H+In}>C~d*AYfI&*jejpxP-$in1Woxio8;H<#j46#B=0;irgX79%T)em8EDdd zevw$F`NEc}fF1$X`}EyEjI*HV!~`u{w2ZY$TPQq1`bSUE@K__JuvHigqP)F=@p^BF z>=<0pX^uFXzm|HSu@((%U>qs8G)ghY)PdsPy0Z`~R?@3a8Zz`4LIPhoa5(6pQ*rhP z67^sfgiKSMKwwCtCdaeIW|eemvTR-6#JZzdKk!{m5dDIzM(@Jh%7I+SQm`$Ubc<~M z0%Sw#)e4>I0X8U_P_eUnlDQOD0#cJxmAK`=R>tSxe=QN^w& z*VMM=8({X4zTi%vTN4!T1{s&-yOWSL<)*COsED03nW@tv5M$Hd``7( zhqq95+?M@QleoJ8ms~R*s524|=Z~28G` zPwPgchBlSH1=jvg!hV4#q`NQbu3ly*y@@|>L;0+`TR@Th$-@7X*|M2j1cr;NTSOH5 zPr#7T21X~nBaIbSv;vZtpsZv_P*yk&K1J4>Cs--r8jowuqzkA%cmouC7{O>lE3>S@ z(J#y=TRsEsE^t-hMWlZer)XEjIv_=rhq%OP4#Ugb2U~`(OOl>JOw8CUfYcL+-c=cl zdt2;Rk;p=7fhcI+)1N1+uU+g;?OHeDZP|704E1L95D{^;QoM5hmGj9FvHWta#hHec zAjbQmkA6kqU?f3H?MDQ=xu?-o5++6y?9>d?(FYz)29lUFPoJBBhS{TOA>c9YN*p|z zQK^q6pdqqayN@1xM}GFbbc(Tz?4ojR;bvvnaSE)sODK0KtSKLRWg3E1ufeg1%N46O zVX`^(UAjxQ3kN7*sNITBGxw%eKV_}unl$e;b3Og6lg1b19uxlrlyuV*k2lZuOA1Q; zNR6*J*jLnKLiALSiTNmr7;f~p;MirLxPozgslX`iUo2j3izF!7_KWDGtw~nxU%CN^#)V=H z_I{<`5rmVt1S0A4vx6S*K`f>yS3tG*_Y3N+v;8ViLTdMp+wLI!trvP!|Lu3(j=#H) zeogo1)n@qfYBMBNgqGhXfG33<5aHLbDg{j!8FW_N(JDV5M9C9`F}LNk)psz(VydH1 zm;^gYn`GPzP>phwGQKcoAGZD<8NCg?`233`K7nq}5igD_BefYkU?NHDK?nf+MUw2Rgqji~7%85xhY(yQ^jKh@#HeQo|wLDb{L4EdM?<}2$*f?n7Og3U1Z=ILKpeCrp0g3ne zp>+F@Dj(dfwb(E`1gofv;DyQ$-#d{8JK1z5s^K05>+3(+z{($?v<;H{P_P4%8*t-g z(X#7079kFWGtaEMkjv0a?#uNHu3sPxMa?dZW^0h((zMyj1*TX)w@oKSq^vZIvaObt z$&IVP3Oy!s2d^5aFvLY(OkC3nkPVabYKWuiunuWpcz!umiR>cH(@IYyxBI(1TqIJa zIId7Yr-bZ!jLT?>k=AV$El>;bb6>#5mH)jg?oOp+A=N@0&@K%7s&Kr;VtGO8(Y@a_ z3dUXt`mkH@x;|f`Oy> zdbD8bFEkP^b(+^n{E``~e`8z}dk7U8B<~`cZ-B|)$$M%=#uV0B^IxLJ425LMsvlxA}D9qTTY%SCV% zRT#0-S&8wObFDdjVP#WkzFs@#nJ}A#?>wa-UbPU~Gg}qv>o@$1*&@a0R=fuz!zj)m zh$Njz1=})-!-G14u4!8Oeu#eQM3-^zDDIOICA1bu&2Eju|DZOJL70!N9x5#|#2>RO zDn3$NT-Jx~jAh;=bV$E5)UBoS4Jlfy6!m+nYA);CYrE!VEYB`V*(sV6^XVD|oieri zD#Zm;=yM`95jjw$R~lGHKLV-@r_+l~m`s>9@+_lb?XVH#LIprXph`)A2CEfkFsOK> z>W(&&a)P9wCK%`NY?an5e{bhTqA27Xx3`e$xa_Djc8;n4VAK$OQC=fhEQ2ZASBWkH8_Hyez;a}`^c_jMx+Ev9qK+QS3Rf0z%xh>l}<>z zlS|PCHZ$7zl=H+Pw~v`2j~kFmRoqI%t2q|yy)!j`7~x*VeRyoD#45jNLBrwM11;z& z`JIvvH7=^Hhrqh2-C|(1&MblM1}Y{~l-rBDwG&119>&8RSM9-qz;u_HE2V4a$Yv$B zaCYTjIS&QIJ;f?VV66OG44hI@8fyJq52i7RYbL6J5_8IF5OWaPkypRw%0Y6rIkjI?y z5Z!cYF6`u4o7Hz1;5FF5)Y*u^%|r8RoYD1;r(#2#zmo06T+JjQy=4?OF>=bt@UpF|2R*a{9x0e@!D_+$ zc`ae|DCV*}E2n&3@;4o{GQ44>szzRi86Gge-t`Y<*X&RGu2UV2dCnU`G%e+-bkgBz z^{tC^prU%er2G`y=})J*8;&*g>Mvw^u495_sz4_3r8QHz9?n|2fH`-n3SLpI#cZ|4rJ_;oxE2s7Y!@ zIml!tpZGb&hRO;vRH3%Lg%aFbI!Fqn{0pE41EJQ444@g9c}e%uWm+(uAW{&P6@*&m zwJ)eD*OE;&{lvNK)N(+IsdJMn+6V#}a&4xTPNJMI`&{0M<-=A6UF_F_LQ!LqNvs@Ry*J;z zgaO)n_7_k_wm9R|@ZK}dfE(&dTpM5=FV=;{qBKtjd;4(1ghjcPCc})2kL4|I} zPX~KC+4{vSov0&%r^-OuvGGdezNLpWWZadx!8~!dwZc?W&Mph*8YsiUogB6&U8-}D zQBNu(3U{kkJ8GuTb88gaBieA3ymgY&-hn0a6Rg8K1@qWsP_x$ou8&tm#*@qEFS`u^ zV2SOnj5an2p)*K|Bt1+d(Q+%nqgUr%R(oDaA?UT9xe}%6w7plBQL90OB;6VVy}_1L zLuZ}n;_M{t?VZ11$-JAW-O@x%s+19RYh6LX^Wy6nu~&83>Rihe&X7d5$ZZ)Y<0J*1 z5rM)d@UgytsQ$>ZFPVGok`^w@6D6whMB@S05OBeWk7gr~+jYPeRL&c2Zz;ly!xO|myI*tLft2vee>V!^qZ ztklY}5gK-C-BCQ%P7=SzR79~vUjDQqsb(W*YXMMSou+U(0 z%_5C@2w+;deA0Q<0ufIS;gl61J1_giB}&=m4l%Fe)CikZmNHb^9b60SyCZiYA$wv? z=wUcZE$lKu(|PBVeN&QM^HxV=%35S98@bCcCr(*kMSp_5_>9zIHdpt9z}owNmjAb(FPHJrWXX+R*9%GF zB_z_w@V$?y`@(ch#L3<*#wgy{D^I4@u>i|#f5sE(mG(D>%t<@Rozd*I=i#)UEL0=_ z11nG;X(1#^^ZKOOJ&Su6wS1|1NWO0=B-trNrQlJvR6OX)XEG;%)|xn%bkPQKvQ{Qw zk~!TcxG|v0(nTClz0pZ}390QhnVtFjka;v$CxX}q#pG-3{ zBh4=%$G)hL6kKxqoL_udGNRw&ihBm8P?O)uTRZ3BTcSA5MRAbYlIL7JwLf|G==?mr zZiYKJPZ~zm`M{abIC|w|Oz|)r6uSp|i_=BK!lY-JrA8Mmvr>aAGJRqDmXz*Bd`8fWsgrwDsN}$ z<5@>{YG1s2OFq~#qk_~nFEEfif#BKfdU4v~g;rnK zxv;ZOgQN9ew%sR}zlLmt9BM>GIS(?}+V~}5i#aLPYP)468yK|2#Ldd!*AhISToEbe z1=S!qKul@(avTHsy)?BaDv|>R4LeI;NYZ(|3=mtCfL>g4rp`Wj4GOZcvmrOoE)1Eq z&a{*6>YuLQ?xO@%05RudK>P6_3u>gR9z$7vJ%`;v5D;Vq_*%Y;sVBpZvA|xrE~W<* zvv!lrxoh@6ujHeB>o2b+!)q!_V=Fkm+cvA;i+D$pbNH$CEkRT zVSY!X!a(8Bkg^Www{_T=3lFz=ZwIhj>u5M%z?TqYwr4w7=1y`^t!>wR(26ax23W1p zf?v}u4p>`+f(0tXWST`r@Ya<`owsZRoCpotq`Ul%<#$l+Yu+ zQzl2h6c$%;2cSaXF&j**ZkR6F96;hnuq&vbz)y%kQB2Uz>`3TJJ7lLOjy^boIeehn zRX#3WzwB44Sx*J5P6N#p4LdAXNX*z8nkgbZ)FFI&maimwYW9vbShN5Xr8*Sg;s7iPBj*r+-dAJ|X+F zXdfdC#M^@|-eH7B)M!ABKkc-rZ@57w)|(l{QLm5sl~C)kQLLqaYS>YrZX6D_m55sO zlG8+NK$t&gKC^qb3TZ>IbdiLfL(X~IMekrfWzE6Hk6;GdLSTVi#Ao&0EQ`d8kQB$J zvlbK+4;4XeRxa9bqK}P>JA6MpgS#tG@jPjpi+FV^B7~=@8s)+DXDQvlij1V{VpV;B z8kw4zP*}rzLjf{HB*iWnLsp=zoNYt=9^7#0w*H=#y*K&IuY**#{d6=^NR13uH#r97 z;xmVb78@9a&`p@%iVlEn-f6=~^S~jhaH1a2PMg3EtT0j%O?207Qd!*9PMg5A(sjG*pIP;@5_I8t@fG@p)0RN%DmTg&Pf2yLY(l{WH(%w%rj8 z7#IVrL4;%mSc5vUduV9h_~v1T4yyN4);AjF&^#LE*d?T4mR45V>Y2ujVK$lK0~a;S z8K$A;s~hFC!Mh_wQfq$~MuEHfie5}RYh6#p-4*KhDDJ4fJD)B{`Fh{!U(*Nu zVDgwVFJp>mu)KaDuPT?D`CcY)VDDpwYmDm^xx)1`H77-{Jk8M0IAxko0A3+$#vB3a zt^9`f#K_vm)I1B>l6sMH49`z*8aU*)g~a7&7&G*E#4;q32fWTXp@{9yun%F7b=U8~ z*pZ%6yf9Hu-&dV6kkgR zA+f+c%?+UEq->h{>{+C8|Brh5)<4rzY==X~3B{9N-&5x8l;TCq&Tm$)%Det-mQB)l zu>BM_2mKaMW=kC}K*@o&2?rTY=W4F4qErI!-UeJ@?+f{uVH<;2CW)Zjz7_bweqx47 zkmQr|`!DJXyH^v&Z7;~EF&MP#L&y#H=qd&6u1qX_l3u7Xr@9@WwU#G_XQ}{=#ud#d zl!JnOO{9|&xB~q$?H$R$EttjaoLlO175w67DBeF6k7r7;0S(BGNG6s5ehdBu4j*v0 z25V~t|BPuQ*A%!6W}&gWR(0LUkXAa-skk!mqy6ofq)e)ab#y+Lbac%}Fc}c^n%%=) zu1ww%ZD~>7!**kktWCjF;?T0y@yyLVeCtIWbR(1&Loe>CW_rna%3G7XH2+o^}L`fgM}oh!hecdcLxgPZ5Z$SHt$U|;|26VId zyuXG_>Ds_{6{z;WLKzYcfpLxj)R35JKfp$46l+s?&R|9I(S}L<(G{w0q_*@VKdlgr zIikQ<)KMD|Fiq3&ptxZN8I*uLA*RTOmnU;|@}sx3Os#%)@Ne?9jXSCv+p0glBCoC? zl?3Dp)Y_NMl7yB7rQ$ZiILVa4Hwx?;cr3Z~sM^Mz)pOe(xKqKds)mk?RH=CN0;(po ze-dbCcUV_jI?j=XrzF##l%!UeRWp$xq8)JIJh+Q^C$+P7R?linzpZ=lS}*o9yEfb% z@EUx+f=S{YgeSFEs&A(wocO}?_!FbYsY?~;?0hp}2{+}`qqsFyfG|iR=efwi@8Xw@URzylI?Fi*PZu1d#l%@l9ev-baysdY~`BdL@J;elLT;A zi+lPA2KGarSq9hk5_p>SVU(gWy3L|3VZcOwDm0M9XVX!S0W^MY!DGdRQ zDVr`Y_7+qFJr2llXdfs8KnWG@ZuLQ`RG(wp1Ny_X>(M4mZNy#p$GEDO(TEK!AwtRt z51G@T^=2(#y4c~GbI2It$~aewXvv}CTO4K!V_aBY0b?gLMwvx8NsYHIjRRktcv;5X zag>K_q00T++O7#B$q2_BZaGT^jiOYwv)qAjh)PK#jAYR%T!0Mr@)x%vxuQ*+=LsSU zFqwp{(gUtVd%K%3uXSt_XO#LC=|1hbrT8(%lb1OtD==Q44vD=-;)}6y;xm z)hHT|hXVy|<{H<;F8DWs{TgiaE;rb~@p#trVv1aQw_9UYShg$bqPwhq`o7r^CDmi! zAGHfEn;NnuuD4-FDe6hE^>xF#Z;=XRi-_PzT zf1C#;Y7XnwU0T{VIu7;&m`TTVS2^R--Ka8Hzv1n45%q{R9Udr1{yg+K@kkRDiDpb1 zP~s(;qwAhJxq*$@PxqYSkWv1Y_4YM}QHgr>q)R4$g<+ESMPsdMhl#I!S(Zdgy5(?; z<^jaO2-Fy3kDs+r+e}d0sTC3OVM%iAwTES-h{9}|rB!(@VW&|mdQMYa6=Y%<74k4k zNfuG81ii!rEbm#-3v>0>72Qi|+=8RNMM*@a9|6D?WEbRs#4Tf%SPW#(^5n)v>`Fp3 zD7n}DR7snn+y*I(@@6qb*9u~qY8)E)hA7t9@1i?p#C4FHF{Zmq=g2aQm&An<>v{}f=OX^cL|293`-I=(u)|BFPWf zfzx7rf$|6ugI21ACOZcZJl|wvue^b{CR)^gdEZG-Z?87k4Bva0CK0zZp}^Lksra?K7U3Wfg1Nej@Am~zLy&ZnkgD(-`9R4OX-wLEa!BLIE9ezXo(^=sSE%l5yd89Vk5KG5@mjB6qH4m_qK`RX+Z`{_Xd5FOg+(58 zQs#a9_V!sItWbI4No#b@XiJyrm1`Kr#12#3FuTdx>dbs!pI@tP`7|j3Yd`O7bBIwt z`$;mX^Z{s^aeu9)5E!lMxI9uvAKAn^S5)Yz3BM~cDDK5A@xX4Kx9)g*#5fW_gz*d< zyXgpU0=DU@hgZox{6^gCLu+k$54>0L8a$KPN)~Ecfa|mnjV-Ll74`7j^p0W{6Wb-( zAw5gEGm)q8TcF=eBcnvCVbsrnl2Do>cgLJPUQb}}q$S~{C9=}N%dfISDmMX9G^gy8 z29spXz*N}Imi8Igw$+E!oOgO?0V~$SYiH)-Qwf=jaNS0V`G5Ev`*kq$)zVIy(J;TN z2DRmh-8Nqt!G6UUP@}#T+bL;2vFFy_TT^zbFqE>^VlEDtyMX{si{Gy>$*F zN_DiahEOIN4{5dVs+zE-yUJ5@S_rxjmhtFVx~>Oo%*x4nGlx1RmwLJD_|r;rvJRNC z^`wcg{Gz9nvSO_YG@cX;xTufn+*9$tfvpD1v!jP;BR@@old-IU5vtoHO2qVdvb2{xt}3NDHB!^mw;N%`HDO{xO|_ac9z!pu zXAa}Yb3WI`&v`-15#4T8O>^qHUYq_=_0ard9kc%Q*n=mg7yo|N2Tn{Mn|bkjT9!ST z$Ir5puM;ep2*s}DT{3}c*C{*&waz%9SHOtY$z(Z4O;F1x8}~!J7zreUF<-j)rp4^0 zVQy!dnwjmuJZza4%JE;gwm*gMT6#Ix`4#CWTf41lL{G&SYqM=MOr3Z|hny}qeZB!@%@XINT`$X7aaf_CK0 z-nhvC>set4blOF*VhS~aX;_3|KySrCnnp0_Kc~T*{VVjB#ip;?f3E1uJeYz}$dz=V zEbe}AYlh@^T=B0>0II}^_sPZc@#E^lV)rN15(7bgQ{wYEIe1@|G{UKk>fUw;)b4~U z#HwOIGLjna!9rR4yEpSZ|F$`ENox*h+luEA*0#~IGU4>32-hv6Q;O$f1LPm@TgL!e zDJV^wp*{^Uojw^}5wri;g(1iJ8zP@3D!Bl`ewa1oL zQB6yT!*w@YM}nT@u-z<%&O?o!qDy?00vRjtoV*}Rm7WXi!xX0mWV?uLk1Jk4XXMMH zU*RC@Mv$zu7fnr?R`+O6-@-T(o1Tt)u*tLrA|(( zeh<&zwg;=6(S=R!gzivx()5xEnHfY$=}u7GVe~fl26&O}T?;xPnKT#o^*-GQhRBUmZ5)G; zCKsiwA2QmPbHCUTFw|9jvkGBsE;U4tGD}?*i(il#kf}|vaP8PlkZOMs>laup%-ppN zNNC|Hz|EI18}sdgc|d8RVJhZjN8}+;_6EEI%fr;bh(c6YktE|IC>LD4+*2%aGvHo{ zBxl~xnADzBtdGk>nmUm~{ZTiNRu((y7BNUb$*5#lLg@KGea)B+1-0MA4w-GOH!(um zjtesxV|(%51UQO0n6q+bvu?k96hVIy#>&k0LI^fr`epZ=qM6s4mY*tClgvpJYnLi3k>f`j7*rAI(hBSIp&m z$+Botc>Xc$8Aj9GWz9*!Ko*Kyq#D9ZdFJOT^zK9ngM6>JPm~JBC4CXFj;la5Z)CW< z^%Rvx5=Ua(q6c{=PccS7U8OooITbLe{gWb^QWI2(`~+72&XK>&p|Y(UhMybn8>+~r z*+rVLq8=k5*0-b&a-rIBl(scH1akV4*d@qPu53v4Ifbk9P+W>!h_H3vLRJ)akD)cB zh-KQ${=%ow zh9hVJlj5brVixxy3b;;c;IbA_Kk7g_^pe=g5h4eWPGm_clm@ZmuWjI zpz=}F3(#_E?V?EWD8c6j9Ee!|_@_))c7qA8R95fcqT8J6+3!8 ziaDKvI|*mduMDBwlnCMR33{!!15%ZSq$>Ww5p0GX5PZdy;Sl|Zm%hIdec?SNA~Ga5 z@t-o?5eQ9Q%%D{(SO)fI1lnW*;1TLR zv=Jmn=7Xr4WbB4QYbqyQ?IF&zk6Z-w6TLuH?di~jWfWz#+J$%h#;kB!QEoKt2T|u> z0=R8-h@=sc@h&nJ{rc=Fa)zBE*A_7Js-;inSnqr~&&C-A8c#Za+QZTX9EYOfEN0Wl z9DCLiJtRk+g6E6oak>J=Of#^+)6O5!eMlJh8919Oek!|YMvprS1=Y$IW}+afhna6B zjUR(%U_!4JwUpYoAl@TqhJUp{60XJ4w&FJo8Gh6cl!}tDU=o>TY(344-i4^zQPtD( zb`xRLR6VWf9Wj|%C?yok+|Rw{Y=AWRQXA5QN?Abd{(2&VDdoq9))pXs%=mx^rCLKT z;N>tj0j2I~!)YukAx^d$Wkl5tT9H&R3;}sV1=Xpmp6yuhr1s(3CrvbR=FHq=GrCk_ zV=Hb+Kp99#xBHI1WyL38WQ8G1W&sNsu#M5qkpj^JJcS7HKx^p;8qh@q!`U^(kvEZ_IyS1Ill14+r_z_h`TvlPm)YF4s@WugjMM5}NSxX{Whx{k-ceba;HE zc&Q8L7zNN+>M5hSofLNF-v)6=UB^E`8pak+0k&EV0Pw25B`V9wVEdXp#Le7j_CSC- z>lX(0eD-0npB&#@{<0N*1nTV0-1vfyU}Ba9ls1X0l5~~bqTiZtad4CT64eqC(}Y>e zdE1<_Tl7jc$oWd!QoWWLdXfw*eF!)fyB@FHVd;?h45|%sS&Ms%Wi6a7XRi(Xv&IS&ZGL&s5)Hd|w8g?XVff z&M`*Kg6W+6nd6zRqAm1u%gpr}ev3QTjCtXsrJ^+ts}uijs}D*-D8qsY!au3_MMI>8 zqD&FZ3wzO|1n5%(&9u{0XZYAlf{w~|lwg|v7i(_;0_d!GzdwG%=JAtwp*NAgKx=gh2>N&M5|!YumQ1t=-zTtz56| zu{BN%VG0BSDY7d$NzVQK|L;C^ioW0X-Ql_9Vby!~UVE)~z3ZLV+H123PhK0I02;_A zp1o44&g;?lHFwe|AuL)*yTfE-#O6REUgY{w4w9VKnG;?CurokSY`V7apl)6w*D!Cz zJSOJVnsf#{gy$(UpwON{Lpbev=@T~9D47X}1|LFGnFfgyOrygrWyyFFG!!E*NZy#u zDB4B)5>!xA&-i0HjA<}NCjS{RaLx|qNmgUWt&s?EU``!1Cdnq+(9l|tJTILs#3HSKeYl}wfBLM!r73%Q(L@|?1dhof`ILeSl7L}C>Q#2fNq zA*eu6XAHz09zj1PsQ{Aw$~)$s7WHFMK@V9h?G`zYVsDE8Xoa^CI1Faz7*=1syg+-| zfBGEcJ5-yyt&yjSo17cbF^Ud|3R60#3E~DD!h&LjNo?sN3j;@>4U|{XLDQf-CdY)V zMYs?dbXy5HdZBxtzj{7mjl;(77~(ok0rDRLW^;0lp(yEQw_+?*LPw3Ob?Ga=eD0ER zn?_yXm{vY8Oq*$bhM2+t5sa(pnfSQaMi)&uC z8(%q@nS`65vKaB;>g&`qjCio9pzIZzcZI;o%c1*Qd@y>OxSG?Sr~!qsR)m{zV@iM2!7qZ`zaeJk(!fQ?rzCF+0) z$CS|1ceyIxsuNX;ENnZK zoSYMc=B=Bv**zs6!TDb}rQN}ZIoZ&FqEfD>uj&xW( zYiHRh#gLUy5(rEm)NXOVop(0ZX$*|Ui2&);u@KFnXFJIwa0foIQM6--dC55@3?R#FqHx5C>2>Y_Jd!odqtZ7XDSy&8hz1gln)*zuUH zu2+_cN+nuVXbBYjySoH79E}3rQ93T(q5Db-dyC{4Xhu)ra_vk;!~K?-_FHZ8f-krk zB)vi!U+Dvdgu!x}It^0lUiU3LM^u(Wt)sOIkfTwh3=XwoI8@_3P|}uI)VQ__Tbmyu zOl3&z(_60f6C8vK(87R9@$Ja&&zbHrDxkXqN1)rBf z4#x$VCWk1$Sd3Ul$k7~x$5C>bUKNbkNzjZT`rMZ@PD8yC7_t_WxUZ-+NWYdpFN!}A zQAELJji`GCJ)t0JM_laC#5*l=2yFD8hV<2%TR8pDj#k5jwHRSe5Rplh({j37=h!ny zsz;>x_Sal_%RQ0G#~qg9&&Wx=fUgklr z?GiV%iT`(2^hzXOJEGLpa4cWd5jQ$P*-ukE8!f7etN*o-*H?RJg@@c;^ubvIVKrhG zwJ;{tBbwjT4aN9bE(xyNz&0Y3F*H$%-zdiZ!BMEsU@3_5(tTV<%sP5E5$2giq+>uz2L-_kE`k@`*gzg)D{p^_{~Xgkgw zKt`f`Ril#A67L2$-DCkY>GcL=kbW0v1Tk6=o6d8h(KS6hYlLMr)EKC0#deI<-%B?I zxc`=0lUu+S2Oj7v7I2I-g8ARY;66a#pj1^tvV}MFI=DHSR z7;`sjYYeaa%eU-w!<+Iw<)TsVe=;r9$frd^X-x~{%O@iSD=|;RvmKS}HLu zG>}hAm#5{xgGV)oB#w@OY~nbAfF7LPy33FbY&yf!@{T!a`ko7h2({4QqJ*9uCyl^k zeWPW5HEMYj;$BX3K%}w5QG&g$VuJ&F5jtloeYlC?MmdUjrw)4ZlmwAfJ5H2NG|d{G zLg923{VKKzBQvoAii8Tuzn-6-c)#VMe`c4C>NG$WD}_s5f)b zE!3sgi07jmMID;|ucIz(Y$-hmBADbSpGxcFo46ynkiCU_brg3&P25>7%t?Yw8|(O% z1%%4U{{N4Abrg5RIB?HZ24t`Pf08|L2az22a^T)Jb>y0n6R|b9*@kzTNg#2mo^oul zr#cz!X1BwMu-%o9EkJUViw;>#{vy4W!|Lznv*Fq0e7uocfEs@C;`RFoM`wMm4y4`4c$I42;r> zf|thUuTAPl?kd*5l)h!(d%&fVO$%J4(+Y0Ty5=w&hQp*K!Dln(t;ST#?bucL6*YA@JlN-4K`0@@W`e)gMANEv&jqxzCT>zLBsm)%nf5OtJ@{%RM4q%PL{uGx zNYS`C`3vfTT^Vm0`BbrfeEZFKj$#}yR>KE8E?qJPva{pt2u=bjAWGx8-&-AMlqkVX zYl+Q_E}ww!)A0FXsUkVUc4!JL`z&6$816Tsw(aPVG?@bvV^wK>57VN$i}^42f~d<4 z>W$VBxL=KWjm?>c9C|`GXaQ;SGuI^bbz1z8$wom|qXPtrcfBazOX;vh!6kTJhP!w? z>%T{;aXCeWVZYBSP2g4-> z$8BER5k6x{;@5Z4Bt}T|tHD1`;KAd3Gqh2EqS{JHm>hC>V>=)#anq#oH|U}Bb! zB)hMIJ00bEq1P6k1lBSw4f={xrc&mfq#!fX1=slws~yxd@g3p#8Ra@KN1#c330isC zx+=6>(*YQH`K1^P4OJ75=}?T=1a+%MQ&go>^wT=t%4B04VxY=1HO>}fO?)_>+a@ML zGcD%7PkI2#%v8~YlQFjD<27L2QLCDL*j+!m-?Lf_dq2Yk(V1etvQiH8~ujapSBA20^eoOm|X4Zbe*qFe1)i|2$}JU0d!y{p=&p#wvI z%}l5V^O|fcdwZWX7P|XIAaK)N?Bs#XFK9jdz|iMgmzz~L?`)zV|7{c{KiaGljcC9Y zH8b`2%@0#Y1Bh$%#$nR;6K52iDRlB?hn6iRHBo|cPvI&Uc$*@;D`0ui6)6>Yd}juMNNtQ88dZ6S_*C<6=%eS7BBq!OL?CZt)x+^>8u;Z!&HJze!foD_`9<1xLVad&V|%&*G}Y6z z8c%s^p$&Ko^5&+4iAUFVV_aV;2{rX#J84#JK`-epB5)%gLF^#)Cn_lIIsdNf@49|~ z^(m9(2~e0ivT0?S>9wo$Su=;zsyg?90ax^&* zuuXR$#=tED1k-pQJzDW2qmq}0)VglIe67P(W)B~F+bh!>2O6d z`B((4DPm})qz`NvPU=1NZxpXoyPIL=5_2@2k>fmKGK!T41zjPiiepjZ+AInp%+ofS z30#mQ6TbM#+-EsX&^bAzt$1%;)ct3Sh;IMQlGV~nEpNEQ^Rjn6Nl^R zH$#Ro&1=bE+v^$NVLi+G&p~4&)S|r@T%#cGzJ`{@xl)0bd?L23mwnOF30vC z(jGjjmUHM28Y_35%(82=lUGZ_JnyVj$Sli?QW8ky;o%mvL*!vgDn((OIg13exC)OC z5^6&$y_ket%b|;MHM3VYa^3JDko5}GLFGR~&Lw`{xaqg!4=P_nMQU@6X1qX7!W|Cf zcapvH#A5br`}K2J8Ym52+-PhqcV4aX8p>Y@bK~+0MIG#9Nd7b48tP7JvifCvH5`iN z7YTYsw5<3>Jzh8#(QG_c>-uV=@tX?AUaF)&HCL;3rRT#>F9$MGh}t$HuMz0H`vfs~ z?R$u8^|Kir*OGeDK6T_R*`Lr0Q83v{SY6XvWkr_pHOoSQEB)(8%i5dQd(0ShBqrZp z(u7D%t|CBTb!_bbEtWgk!9xTO*Qq2_I7Bp4_$3vEMa)44qMZcN9Q}9n-vJ%TEG}D* zrLfoJjnUKm1^H<{aE+45)0_~pAbmI(Q4#~NE&N9M^EVDDZ=e(2FX(5$2z_p@o)Fbo zHt>;3gxyaPd|yS2qStn{ZH{R{a$V&UVt&Z=x%_p`Gf!EPpU}ld`6xscU(ohU<45<{ z>vh7`33m3E#vJIR9*K&mfcFd4e2BW&jIrv_%B2j3Hgk}S+6TVj=*kF1I=%%tKj^L6 z60y)c_UF)W7oaM6A6<*6 z`-sYqp-|;ibU1D)eTlD}YxLFD|?1FwfS&u&|(agMq}{*MLZK zXy>&IJF`Vg1Hi%-X@}nlW}_5`a#gE>a4j^#9GHOv)V%AX-`l2 zD~~nF)}b-(u3RUCV7VM2LFP^o)e(qYjuu4vjv?v|2|qFhs(UM|Jq*T?FmN%n9oxom z4U{ma*s&-bU%Xn98KQF94f)}3J{yMefYT`Hw^h3RM0lin&;T-s8m2c8jTGvWJQ3!mY4(b+FOKZ z#2)Mrh%zVAK7>p6mtpl!C*-cCTNZDcze$@*%op&oO+u7XC{U3V#!y#s8d}h;=vq6p zaw67rq+4J!)jX=i7`$G31l7ktK6h`H?&5Ub)hvD7o*kVhrNV3w&?h;2|oyH2AJUduEQvM6%l5Nve`$|7O`2W`{9rhzRht7&rD#Jf<&(|w8zs+hPl zN^y820~Z?v8}BhttT?kEcGGIQvcu!F2h>J2v#}GAavF-6qBoi!rVs<#Xf%l&FFa zhSL`1bl!))i@d~?iGCDHOcq@y`ruf!@tRyG+dNDLg|*5|)zuciwA5phD81c4p8cf7 z56Q*>pp@)4>U<`bDbprYmC=G6wzNAz`fYvmbB%9D2@lht9`!IlvJ8^QFGx<)^msEV zL;b4nQ_6`i9LakpTBfh6niy1;)=s8^8Jbp!Tj)(R&K`I(=AP;?pdsCCtKw`{CVlO+ zMOM}7f?CVennR)8l`|AB?XFH|l)Bt-6qQxZlrg5EtU4u!)TF&QOvy(Xk{VLif=G;c zB^|UNPLy^IP;WHM9yrQB(q4qq+e%dr_nKxYQiL}m(y-dR{DI<+vvb<}R;)_aO#qZi{!TAR7)rd%r)00o58lR2 z9}|0c`QiaLuu|_qo`7CUH;H+9@~>e z&kcJfU%-)wnWSNwW9wOxz5jPbv5gdiDdxzRzzRbhCEGX9_sA9j7mn3DavgRr9Pr7d zh|tdvZ^hbiqj7a{zC;AB~T>1y+r)!alT*p8P zB$yGdIVZ=QEnD4dvj*PGck;6iZOB*TV_(chE%XC2Lhxnlspy5WUv95}%M~qm=3c0~U9Mq_XgN>8nx8UZmfea4Uoj^Ahz%X5zCf3tr8`mDC*QpUeKi0s429uZ7(R|OK_-SqdsS$ zN>I$Np8F=(@-;RAHJ<{sV~f4ORUKa%TDN?CvK(Fqv?mpYJ7_2qu6#YuXvSD(mu&IP zvb^+6u@9D{x(C3J;Rfx((dYqvl>&>fpRj)Ejr@aOeT)fyX`&yh?M#xR(f#^_eIrUc zJG-Uv94-b$Nssq29N0tij#-Ox0&ViWG{TxT5#>OQ`_hd6P zrIg5O>bLHBH)akI2uzeOPso}pf&Jy9?E>@8RiV8^b<$zNzRWR5Dm6Ngm8_E!7Isl0 zsmoWcSczssK1u205v*E(pGU55`QjB=h6#=D=hI0vMdNLi?b=q^CR$k^K)mI zzpk$E%#-@@*{otuyX?Y@eAY%vdQiol%KKqKG(V;Dfx2Z8!{HDm*$mBkikMbmnP>Sm zkSgKQBHPF%MtuC1?e12@v2vtnt6nAwodUGw2@Q{H_V)Mb^oOK+O|lH71rqc`ul>nq zK3ZJXk>e^|7UCqIDY#C$>@^UR>OFYo$rts+fd?K$Y!qtHFiNYjiK((#Yi!arGmP$P zWv4LyfuSXYJBHCAORc%`IrHL$XKzwXtJ#`A@!^(7Lko(TQCi}u@l~EY)D3R=i5(iQ z>8`?D?)CwhV4Jt)L^3VfG--vQtHci?r=AdG;nB`WBt(vtln-~d>;`|cu&yZ*;$W`N zG$CDc@abGQ4s@ElbxrYFPo>O`C?`Uit~U8QMIS@E^spmJ0&&lUoR8`PD4CVGC01_+ zVNJ+!rE(7;>XBp7(>RYS@f5oIZ)cNlW zm(kH`oE7lPoV!Iv@e!h?%$^!;K`Fm$M#TrWNpC?T)j|`kT8?;og$G__R%i)oIrjJ5 zppCRY(cJ3`0m0j*zET0b@UcrZ*sE4S3L;4q0NsY#w=wYI#4t(t0-6v`qmai5rTGW+ zF0`MMUk&lhr1A}BKkkU)7Gi2IACNMuCJ&?F?fM+hX9&HC56PEMR{qAn{rMLm&4LNs zsuG{q?{KklO)E!hS`L!}nZ?%t2tJR|XjMvm)8+AS9{p15_3&zGMNyoNSte&m-!%~D z+uraIli~7nC^roZePzK@=Ip~<7gB^^Vu?}gq8jlu_%|U~$4Bsz*g}~{ zX+FUIExvOxGby1g%mB~O1VuGrO<>6S!*|=uU3a2bTqc?$TTsH7b#SBp*n?AdH09{P zsn`}YRS$_=@^(}E!IWfcG`CtlC9ID!8i|}AJk02b-Y7dtFauu2${SX~s&b|q&+Boo ze-a-Ncic15Up)Pen~rZ2>p<5a9AlCWT@(kc>6*2-u7MH+T%BylCTnksSKn5^hC1lI{I*2p#?&wghD$s79`&}t0_C0$uy&a?OYP)E_Y9$iNF7JH=%%=>4Q#kpt8T(7!46T1 z?6fQI!6+s#PaL3gC*IjTir>o^qO|e2g+|CJxfBt36&TSY8xdvheW1DLdxxdBJz7b5H~Zx$)^r0wj>qJ)jA2oYbo~+$vCkajDN?dSYJg`Ne`3w3~3FK+q)h0%Jf#?Q?E8H{%rn zTf7!jcX*=K%vZ#p$hViInVLE;G+b|eQcAN@Ok&XXckIY^ya z7e}}3dox=TX}qf097YYO2Pf9NfVf+S3&z__8t1E0O2qaH1{Vwx$V{oV1b8~Jq+f&5 zN-{K?QrYSf20Nt2Q)mp$WtEv{DN^$<{p1D7N#$$w#R3q;hcfMOlUFTBuDc1*@*7~V z3>r*6i;#hUtddafE{Pl}IQ=G{avr_jG~i(W0m||B(>KcC~P%ra7tHdoOM!2`%Ze^G6{@s~4CQQLMdd?On_P z>)tdpOBpz=7GNzg>)m<)&p{>nOe{nyRr@lBZfC;v=W2*mQlw9ua-}_!*WLHuy%T>3UzRoq%#jwt6r?0 z9wV;ap%JT`%Dfe(f>G>Evx)I8HAAr5K)!flWj0&nHFSiUL{)D}ldbi?Dy~|!DqUr7 zj`8jnzseD7uwa#HtjD?hJ6TokYZ;45+~42H=y5AlXpfU7jU+7e(I8?a(^07Mrzjb& z!C1Bx5eRD*dA<+Q>rc)q<7#CV^NBN~bi4R#w%j`UwF$j}erOme<(hMDZ8~;AX$3tU zPC#KoN!eJYC(7KQb5)gGRAcxkBaA~n0a8o&OimX;F=BfAvT_eYSvelF+A@?cUUQcx z=_yKyEM5a=7(h@R0&l-sPvQ7gJr~#=<_cGnCswXnmDG!m7kNJ6Y|qC25*3|$aq6p$ zFHkaKF@x}Q#E3rEsqGkKDl>R)N4XTT)nvMn!zdvkSJ+%mohUK&JVn5)Bk3JW(pJDtt5?|SV{WSSv!hnv2~yR78MCG|(^j~27;^z`4HmZrm7 zQ$1Yg-_|s(zmvydLM9tFLu?#WSZ=L>fS|A4ds2v6Q(2syUX(mYoV@Bu8UyvhDoT{7 z&|S!y-fw+br`G=8`x=Pe?q(GGQRlc4o=yzrFw_1V`IPN zP%BDp<3XyQlC&K!-ur{Numv5VYrmE*VpDyi@eA>G3v!hCU#*aTN-Vjfo%wlRWwS^z z^kb{kqgI~MD3sK8P5qS=wLMw_cX~cYitWcP>G21-Ua1|bTr*Sh#ws9^$1*%lstj;P`C2<9S>pK}e8ZeT z`OshBwQ?TwL1-SOrW<^CNFC>Jety&+eB15{^F!z(6(1IA48)9!@*JKS zIz#5H2BKlk)SHrUF*!OKChjr}YZsTA#+LH;xY1iV1(;-evb14C=(&P&62r=TIMXSP zBlH~_L(}!7ZSdsEKP^Z`KSE=B*Rq0RAfdNcZ&k1M@K?-(G&oI^+ch|wez}HHV8mj~ z*UdLzmEfZEOH_JFWAxFAaFFE^N|-NjWISOpM>NPxeOOvcDiVG5x&L>q^*>XmCGie^ zDIckj1h|XuVn+&Y~SgEju25j?e<8~PpD>$N`uOWbq#y3FicvX;+ zh+Sq!lFIJKf)jbERAReXa)m6noFlCV=hGsd-;iW)k?}l~BXt$>gGLPmBJ9_Zy2Irc za#FpFa25zsaH=~0f#F2(Z_m{`X7o(hlNO{FlLwm=^(R?FrVeZ;AHmlcG}^ht=8)KCATEUQx{sB0*%hqbox zKNR`hs7*VTCkrLNZbDmbYTZ@s>eeJXozEM?EMTE^48ka|z)94mpIOQd z$ONrk&wn^xh=DIl^Pqpwm|U5=e(ri%IkqMc>L{@iC07>Aotw;^%Mvo_MqjU__<&xe zIpE<4NwgG0{*P@UvR%DKN~Jv~}7q z`iU+%vO%X&YM}^A+F;G1ew3n|0z$>FrrbwGxthLmIj#KJ#D8D_2&PA?K|pw9+Q`?6 zc_`qRL2+(lpE4X;96`^4Kode+WST_0k{*@cp(I1gtg33Jum6F&AliSa@&r;Nf!X1u zl5Pf>cuGkJd5M zQw8s%qFA5%6itX32-8!Nn?Ot$r6g5YO32UzXsz*G?Dc5WrMSIU8}l4uGQYc<2h0Ah zn2v9WOpFk2G*oyKsse;D5C;KZG_1TG?+o*&dnwT3NC>gVp4_dilyJBduxs zS*Ddb)(D1JmeczsynhyDAM>g$LCWJq33Dx+4Rbtltri!+G92@Y^b8yqL7smyNF|+w1;?5y1$c> zWFwu_x^8!)iT^OmS}oxo&pO0V&Z7k>?SHpuL!F`soymEfp%2IGg4qMRopNBOR2~(x z-yrCII}?%|&acJ$x}}o=D;k zjWhCi+u9D5@~`1q1tbjF^WZob#bixSK7z4%rNR3xG$-t5qi3%^G9Kn#?xwoA^x>uY<;7|yTN{^kt)rv*kTDP zYa@#XC#LnY_MNgTZOcBv*?u>sGHnpu+$?Wb9*>G9B)`{A#*Hbiq^C^}FwtCBwJ{L> zr{`w_dNj{&69dI4{W^jkqCO)xq;$WX)(wd!Ln@P>?w%V?Anht|%OSGiYKpr%IBks4 z^u1Kn7dSED5LXRr(2@I@#0%X4wNmeG<;SR^dWv9yV0G=BDNM3w!yEN@Hk5sm09gV8 z-z0sauMZ2XEp`0nSx=TS(d}{iP zfG0AbgLL;miLbFHeOZ6e6Ts{pT!KPOC>eTG!(`QDTrZFFYx> zm%{|RQ@)~Z2u>IZ`aDVxNEwZnkVTz6?G<=T+n_5&DO707aSanq#PH)vwP!9lTD zlY3zTXD%l}VIb&1aH3aVv1Lj6)N*ZA6@xH+RbwpLmUTcqN&o?JzQdz(4g?4iuo|Jk zmv{oc$K~}3p!@OuG*m8cSYvmC&xGnIpDpWaTg2#mdZzG4-kEBKzhJ@qCEeTsq!e3N zI$#ShM|F!qnh*>p>kQr+&LVtBn>qT$Ghy{1N}j0k1W`t`nk*&dhvyf>-%;!8yRQE_ zqKy}+5PcDZX)s+2`sIbFZU_M;dZ&_FfVre^xHdsMl>(}8 zO}t;glQnB<`PoiDyk)BU7>r{v^&XD*ID01=szQ8A$xuf$5U;r4fF&yzx8VrvtvpOz zy4UX1p341b_C3}2dvbhL^IBD{8BA5(hU#h$^g|EH2ednSKO z+s?`_!B~-t*&lYf#j`uMfUjO7L8@%$(1slb%Q@W;nT%-4sA2=Aj;t^0P!xHfTI9Xu zRvq9ptZ{iu4}BYhUr?$AuQ9?BIuVH3p;RtG_B>Md>dqN~Oie&4xHC#8P3($EaPj1F z`7QB;7kjnbYwLj4hl)IvWbb*X_{Pak*H0+I^(aFTM<)e4g^CxhzRKP7_EL9Q1KT(nVC(6CR3nI+}+u%-NPlB4odDwN&gr=f}8Oy1To4Uk+J({eJdN zIm6G|C6-+UBr5l3+gS;twmNx1(R&VY?HOL$Wib!P3vl)jTF_%glp!{L51wWA~WfwwFov=K4cLB~WM8JP}-$W6i|TR0~42;((N@ zcieu*?cp`E`a8YMzI&B}1g*958f6&tA_%2KQs4ixlcB(B3}kl$zV2V0>}zjd)D16- z3KkG;@Ka(*Qrd)C`y$aob5TB>+b}Xt@a!ys?}YL{qakDHv}1^n#@;gGO}avgsIz+w zOrZLcHLV0?f}p!0&{;%uLZ?am(P(k;BLF1Q9t-(x)KN`Xfwxj94KKARg)$am?tM0c>>>~%_;(A7)aW9KuGv@SAorFUou5pTJ8V72e zt|%RaUhs~LBb`H@C3-(!?qna;^X1zpy^`S#Ay1ZPcs0k|YfeQaXqCsMH57`AFdFKi zso$IRFcVLpkFNj`P4QD2hBF>5=o$6L=G|*F2YQKH2|cesXg~FhfO=y^%NO}AwiRmX z;H+n84wnZ=KP8+p6=h!C`e{2PoXI0PA8EsVR^3s0x1~+smQ-)#9I19~dk+_K8k$Zx z&Y>BVp&Q9BJ;!+dwq2TIW@QMWKdjujfqdgEJ@K+;g*E*=2A1-OXqa_w?Jf|u&mo2Q zpdi|Uw0}WDc_ji{sYZ#SRsT+VJSlFff3#Z6#mG3?!ZC+%mAdb#< z*n;y%TaM#dKgS!2(kwMWTVF#C%|=ry7cf%7FO3wMwCOv;+w{(neTXN8;&@^8L}ht; zIsE&isv?KE2@(;)7#Vs>pKeQs_DQW@ z+4(?d(4y?6$VK?~f}D8!ou(Pv_Ic~qD0$%@TxGYl7*KE%n1lfPRLm>LIGSQ9fI+ou2kG(PA-|AU)I6ke*F!0XKE+Q@K&%^>3-wsY z%yHrsB12F@2?(K15VE=kA!0x|VVs{4zYhl(XyLte8 z$3h;_af>MzDMLGCtZ>f0CK*R>kDK!_)wK*S)I>yY zwm=e-6>GItF|qQO5(CI&OJo~0v6`>}{SB;h2$7+CMVQU#cY=NFc$9J%rIfTY)w@(F zA(QB>chzvy)tRr2LVjzJy}xj-4Wj(hfXu@kyiAK1HNG*P(&-T$S5r8+tMgt)XJwL9 z&R`#^6E&~~2WETyyWl;gNRyjS%I!Si znPB6}k~k3Nw??Zpz;XsCfx&a0KAACn7l zj9^4qbiW=z+Y?5x&z3Uaq z^q4+9N^IA_RCdLx7H|{0C_?CU(T20|z@1+A5PI^kr1_z+pOOy*%{2Gc@E$qhn$y70 zt`g6%)O0h!Q_SC%t#TN++OCa2g^ub?D)kg6q6k+{Q+bVim~wfIm_ve(BoB<14#7z~ z4a{fK?0pC~7zUZ97qHq3*$d-p{3c!pLV-e?cQqls1?{^qG_^-6?*_l8D}N9bd1kxt zW7So@?+x&D4l;>ooP1)5vqd;2(XO27h8F<>dbp^yJD&ap4jKNl6@?(YPbnQar#ZB< z#xwg>c%ezFb`An?bAfzNUPE{75J7#d6K}qd21TuL3{GSM8X69Y0dB#B9?)$vF)+^f z>MxT{eD~=Zkkd}ZT6r1H6MD|&;d%UIy=Nb5T=`Z~Q8qwcL(*P48Iy&STVA1b?!{|J zg5pptk;?26En`)9-`J;kaM=vA*@0wWJV=g-|vM> zgCR!=} z$iW*h8Y&H)5+zD5=Wqoj^}^8wL}fitg!t`mnoAy)>sq6JHvS{Rk(7T9W#vL5p}Jn#j4VW&+uxr;oC!P* zcy}PdB*b)Cz!d@^SP@?k=IvFfR0?nkJ53O8yjr7o>kugeAbK%m)uBK|KCco!2X($L z70*EQi9)`k>oO5ZkL#KtNBEOVRStm|U?xhoN}%jboPJq-FR!!9$7l9yJY`Qg>pTsr zz}GC%WM3_&->W~e@09G3@724rM?10!*}h_$e*2z3$#m}{6GwK)c`>WrspZ)YTpK8m_sGr8qwco9O=G#4=Xv;p$hmg~h z_AgG;Ic-z33$p$E?(5xFFI-Tc)du0Da4ftHPmt4?&W_slVvlq_jBCsjCh8*xh6_B>v&7-Vde6T$ye$} zWD|Z12hOf+MhlWkfe(+WJP3J?ldaLlS<{!Ro@n|7nieB2%x1=7Z$hzr2X0fb^E;H& zbhRi_`Rin}MXD)qFK>_lwU>8}1Pn+-HD8#>Y!jb&eR{+48&}EXN;I{d<5mY#U8CIV*;9fv#L9#BA9TAK?gpd8;9>O`#S=r5v(S z<1R*U-u!tO4IYqF?wz|)?jQ!eUi>&`_pb zPK~02)o4$*EgE(Lmu~U=CHw;~#YyO=N^;I`>L1WD`HPimAJuE+{(1dG4U%3^W3&$D z#Pu;>N+5;Sw4SrbDQ*qnGZb$^ifJ6`Sw~1W(cgD-D?z-3k9nZ7)+H_4idY5EpIo8C zJf+i74I6l^17ELyjT{(NW$4yOyl{w9Bkilnq1Hiid{BEy4LkX?$h5Oky-E~^*v~l6 z0(lrLX$MRpgM!^;%Xz4}sHyzDRs6t%Z$mSoiLkaWaqJUK5|EBAbZ04@toY*mS z&!3K5SVZbaNNIWdp1eOxfChW&J$5~Azmw-?vu?~3#5RZ;Q>2_9ri|Jxh@1$|q1JFF zSrH%TfvT$OEJ>T{?&2-3P@Rz((cPCjf1V~<;Cw~D%pz<8ghl)SxlY2(H_%OqYj#|A z$9voFpc4`w^h6ckaFxB4GbG)171X0zaicWvY&=!r6y&gf!Dss~g7%!5bZ2r2wnI5C z^bJ@%joRa_bRNZ?o3&+M%U=P@9i9O@f%v#AHp#0s+X9`FLz8P|^f~9%ssUOdmQ$v3 zT#SLXZGBjx9)*}h+a_OwCz4)q^)qF2CMfU%nKT4l?Vv%R4+?rzjK(!{`YgS2wzslW z+wG8*UiS?zD!gc4N^6cY!w{)w87BmV#(5VoS5z;tj5qHN1n4l4VNZ!_3R$sk^rAsW zIs+i|8zI@P*`)wNvDjSDtH zpCfG>j<)E$&9>pq!jY`iLsn=Ux!?GKAkaDnS{gUnK(vn3wb>FaL(@gBW5Aoh4fTBj z1Z{zgS{0A4X?yVT+*;QmI&uk5oAB51u3nOsSwMXaXOooiRxqe!_*(cHTNfo9R^vfi zLC*HW33_MCQxuBad2M~Q5UnL!vy17OC3}8PDbXLU#-JM4o*bDRZI_A4G7w-l1_5^1 zxK0xR?gauDZ`HdsQQ7+{t^I7la%e~{2ji8W3ty;2%Q{?CjSy*1uYVE@YAXxX5?pv0 zeXZhay4Of;Kz_>eZJ1Eynuw|96n(08YGonZG)=#EiyYG{zpw`@h-=P|qbsFvDl9~0 z@4&+vOOT$zApe;VqLKUsM#iLkb7Zh+ts$kuqKuRaBVu7j5QQOI5-b+h0+&2Wq{G{j z)OYBI9QskN(MYQyLa$U-CQB4In3DD$r!dulvhy}Z-VhBAVq>uaF3~UQIBbfLLFfG> z(8{%+?&1L6oa+0fcnsE?H_^Dy<#Ht96bW)nTd)vftUr=zWQR71?_c(MD3EH8x zmk=M+5_kj< zv`z=hW>A+W7_iKYc$+~tK`@W_Of4#}PWf_aXgS|Jsozk4Yf*#|FWbLDe=;U~fGC%0 z@dR5QB}nj&KL`UuRm;e*Cs!=(dgPN=?GorFO9lJ6jE~L9N*2>-> zD92L4V7QnNY%_c<+<5>QHu4Djvt-ll|TSe{EOL>m@E&SGY2hMkkBt|+aloXRCT z+bv|NAV()YbBH~Ws?%h@7TV1qnbxXh4Pl}Sl|rbarfqj*@2<4-Xh4yJ2hw>Ki`o-%P-o|GWm~&pZFmpjGJCQquEKSTs{i0|gJ-pEZ(ZLL} z8NXD!=d!$`Jx8(nfHx0WnYXFgnIoSqX0!H<-<4*wM#i6zo>uQUHS1{`Ij&2dh7sLs zbtt_aI?%mYF$ywbPK~~t2L>nwN41T;H5odjF3QEO%uU4(H?QPZ&2LYV9&s&eY1pF1 zB;)ibc+np&YwYS`j8<>y_cnOR26-LExG-`_@q+ZO_kXrt`it!93({BWFRe&_nqBv= z_3KuqPi8+_k^VA$f4x1urELrLUD;yPn1&{zB8b73O{mJEd%TvS$u&QXRF0Ck4>7+^ z%3*L3chspSU=%{0#+8PY>%^s`lwV7b!r2h;J9ROs3vQmjuscn<)A=j(jZ_vRP!Fw;a3@^b$m@E8Tbq^>EN%*@Go z8(74Ij_3hfO0Ay+zAebhi5692wH3(^vX1nt$E6pfAFE%@x9TSFt-6O!XOyV6D+cq| zHSIS#4zWhut{0Od8nLd_X2{T*K!l(K5LO1*>&Z%8`AOPfK$A&ZDUd{wO)8)1>C7pj zDQ3Kv@Z`Ct#mEb7qKDrRXrDt^Ea7H2st5?Akxw%@D?@i^pix3vD`9@GPyQ~O!f3oQ z&Y(%^X;B`l28nFsnh-95)9cpj*k?EAVQ3UI=^Ks+2%5md54v3kQN;Dfrh~nG^+MX) zoA$7yKuJODqjrxG^1$9U9!;o^-?~o=X|hHyp|+hXx5!x-*Bn2GXWWLFJRq@w(yi(q zzf^kx!dB7GLXztEBFRbh6-&S)TiRw#FGiDRm!C|*vl@6{1H@D)>huIE9!zf4yBwy# zxIoaoX>?2b-j?<*V{ps*dsiHT&=^m-C5;A!B3j0pm%4hui@ykXxC7kNRkN|9Ut8H0 zs_7C0Hgm^uJ z+nc}cnMlriU0e4RxoLY!&p0-*;bY>EDcD*;iXf?Oen$z0y84pz0mi#Klnl!3Tk<&d z6jwzSl9xHedm%Y%Aj%8wqFss0EG?#z2`wl7^OvAdgVIOTXxQ<}k+@PoKOu-#kHg&X zE6$DK#^W1%HquP3{8bUGN|V|lX8$LaQzfsE4be1*wIC76?khxNyD{{lj#x}#m^daB zvnLGY=Iup1-PaG(_4PfPewWp^bpGh%=|PEu=zdH$vV#RMVW5Mj0>9u`r65>uUrh6U z$#Hz8M0x=yF(_P^SUo8pvYpA{>J-^Up=0Iv3J0t=p;aI+nw zFQKV4jNfZ$HVeOn$jf`P_H0E{o;pB0jv=+xM*eY-8xLNpvLrfKy6=Cn9}YKl6u-*b z24&P|vKYzKz|&r)T13b-3iroAq>D>NU-lA?;GCQJbjO>m}b|0)|d@?;$UN{r)YllLqi2$^H^gdQ3K} z(m3Q1)Fpg+T~6s2803<4DdW=OT}UQAsYkEWqUFZkSPODgj5wP)#hYEpqGgMgU06R6 z`X5>Tkn}iXvdis&W>)zk2sOR3m~t9eA>iCUSPLV2MF$NzAX{I*kOPixKgp)efvCs` z4<9Y;^`B!U{Oa1MqWyV*!hAV`@v64Wlud+Eq;93-JC8nGbh`7Dx$Oq zi55JCE4qlWoxs>kKRFpFCYVt2r#L6w0ByCu#F|%R)pT&L39%~e*v85w+d_ob3B}@Qwebpp=F024A*XrK*E;T7WC!rH1j22z`TuSr{Nq@v{* zD!Zrbh9;V;d7#^by!Vm2qaPBtFJd3v?ztIi3?%2hFtNnAz4c=`@iWv^_(})Q2)#o} zl`ju|c`&vl$7_EKiNXA;!Z(2%TX`17veI0m(PM*uFVZ9Z%#$ehwA#W7ekr+~)h)=* zNK*0>(taUvcml~iI)xhfgI!=w#Dd$4@-nyDx)3(QT0`nmrr!$23<^HnvC64&&t^mp z8ec^`HLn%d;_gvt@>qTK_p-Nt{v~FMJ3Lt^Xh3Q|wDVX9YBcZWJw^XxYdTlu+`OgM zYB~nmY*O+b0%&XMF(>!vjYkJ1HUjNJ5X^5?6vw_%h@!I1uSjz5wX_TKjpMKqh~dh! z@=DQ<^eu6WkcQPnY!M1s%VUmk{!gfhrr+nY^-Wk64Pm=)%Rh;ntM1*}wss3SrNhM} zdKW5rcYSX01KD|J)<4S_E#{DV5YmbFtc&dwj)gR*%!BR{fNg|DD-}w!{cEfw12c6X zF};b<;gNF{h@TobDkXaior2qrKasCrl=Z0q9B!2*m==A;q@p}2ZIA3;Dm)J!^P1^? zyXZP6t+j6$<|rh9<%heuQ8C0dLz5+DZ>*KmzX9<# zq1P=%h1ZLqk|MsD@&h9Br@vD?F*_@JXZFYm9933-WVn7-Tm2C>@T9{XzsY9J*>ytt zy%UM~PS3JpI_LE7b*MMdV!9A?rp%6v5+32wD0^WxVF|2kOJb;4!nLKe$`!|jqK%G3^h3&L(Rqn3c{v4SisjEF>DDysKAi*C9#veWJ_{46 z(Rf~p6+3rBv*dIGXJSYtlM|0JqCqBxtoO)$N?@l#G%hOq$ z4v1v6IErgiIiHL|5#ZF$_ZhSTq!-mmx-Rq6ybDB2OvQ{+)$Nzld(<0KI758F9xUUb za=5ZN$MI$FE02=BSu|W?2WM-98ZjjD*hNMr`S&A-!k&sEFO(gkiPX~D%cmWTCt5~0nR*u@G+N^PSq^qH#iDm+g{O~$bafi3({J9!zLU?i6w+?k`&~|a`Wy`vrQ>sLk>bC zhGNSY(=5`V;o&)J2JA7AH)-c(iTh+#*kIQa)Fc_p2t;B00!Gz@dS!yC?AXQoscekY zw$nI`{kp4kCRMmL22xw7wT0@SO43(Vi(WirOCpaU>*8;Ss1NSYX7g4Iywow zqJ+*&j#YiIVE=vam#ik>xl+Z=8Bo_+0Fun;uw+}nNj18GMa{j8un8jT zBE!M8uJ!BIuOspyDp)tTZV=X#+_j5tP7)z|$Cj5B97?jY4cv(1*^uM&KZ4ffzr+%9Lc7;+v|T(yncCl@%r97 zmaTl4i0^Mlt}i}iH#NdY;T_xlL^#K{-saMTaPW0B1u{rQs|rI5gdx$fyp826m*XRh z(Z;XZb zDf1rJoNn=5LuB%oEK>8GT5v;{aO7d`C74nDp*1LJ=gsV@i}bE;3<-NR-U>z|B#kQy zAU;@E1YxRq3=`d++0CtJG;+c$syPe#u5M`JpS+_D|H+h7axO@UdiF)BG>u>G8eDDi z%U6J_g;=d~#Zq65l7Xmc*8g!d+Pr*0$>_x`eij~J>Y~)4T7`)v?mMn#2oObiEmdWe z$X&pE2-coCmr;8EmB`YlpZh)&Gx_9S!K@m0=&Ajs%A#KJn>LbALdu#PYc~b)lhr2` zzw=IXH*C*k3#94n?>Lx`T9C7~BCKk!Lf903fSV{|O5xfkYwzOyF{p#Gb$-=xI@D8= zQbSSx0tzxxyAB?yx34rIAKnT_F$3k~w68K8Y{WJ!^df3RG>>bK_x%- zmFU+Z=lH(~!7Y1r2jmweZ|N<5?0v7HlC}9rt*if*{##)Ey-pI*V)C*VOog*{lk(a56KeQRx2-Exs*xv%9K+ExoklQAk8DK#K|(q+ENdb zQfoPIioSBn-i_p@=ZYsitbMS|9g;)fzi9EI#oPpO2%zv4iH1ndve%a}1TaW`PNa8x8Cj)32TUPgkIjATueG zY_;P_&!L&*<#Q&0bK1&M+2AUkmg?{|`QiMIQp43+v!|WG5|4k8t%u*Ozaf3gH`DZ` zzt2wiO#0>0()5ZK+IF2-e4B=a*SfNMAT&;4a)qTLhx5+=nA+1SzhhRWRWMJH2s3t* zIfBk{g$i>qh~W`Y33oPmmZp_@SnO>f!q=_B_VXC1e!t}T!~X{dB7-G**$R47GKQY? z=Hwf1DZbE=LKpN2gkU&0b(AjRvWHGb5P*tUnz(76b~W@2PcKcEBqfcNmZMfga>4(O zY$>Ebg;+2a7kI#-mQ|?9ZJ`(g^%Ss0?o~Q3)T}VnwH1L^l3kh|UA(A%6gz2Lfv$5c z4LW)ifRbBWWp%;&OZ}ER`<5Yk){pL$6L*$3TRi%rx`$(uvVwqDsX2*h_i~{IiXdTZ z7^8N7baZ}Lr4OX)=(-5Ner;b13Ut|!GmNPgPN$M;HF z8*j4f&>FFgro{T|z~&!_f~X@s10PlMyBu$^Y+3S#j=(P_0uqba zAoy#9$W9K^!y#i(8zAJbzrW8jU<8@dw|>3&(aUu15S|L+fMsnG(o?}yt5p$}(fgs! zT&hKsu>a9=pVBVklhqF{5SO4Fq(qr8D`u9k(GFR8IG;-Icf*pQOFF+rb!`M7#<3`{ z-zd}*^|gh?4kN)C9pK0&|JISN!xFKaj864Ces*KMLf~!m5ZxQT@Ll!Z8gZ0X%L!;! zXeS^$Gm?+?6~D6Oj*fJdrbzFPF-4F&_dm4Z)31f%t?>Z7Mrp~{1gKh7Qv+A-FMlfJ zoS7u#M~ME4$aYuuM6rH;=&WyxeAILnUG4KUhfL&F|?{sbs4dD{me(5m5WFLLtlvSa^F42>RWX~XwUo^-eMzpt9 z*74)`Z#*L=2cjWfN1=HU*gJzJm&xE8nj+HJF*u}rrLt$+vwteSX>$DoGrb-~1I);h z1^kCW4+E;H?_M!K&Om^nP-~e4cUTe8LuIk%?eEG@>C7l~qmnl7$8=2KEM8vrf85 z?@YRRI>IXvrz^JUUfhkRrHPHSzz(sZ^4wLXi~WsQR(3@*nkX}Nq+E6>`_5WAH$jDM}b+ zv}9jppO{3Bx4tZ5V5QU)PYb61MhFC?v7eGdsC+QzhhdTR>+eAv@a0w8F zYNF4m(5BspD$y$ANwRT@7YTfZg<^+oqBNC}2t6F#B-&!843XL*1J$lKBN1aHuA}p8 zrT@5vi%Hv)x;|x;!N8r9oIoCRSd-Bng+RbGian4=$#G#>W-~llqb1c&nzXnj&5`ypgHaA9DDm&9~^dCN$mDktavU-^1QRDH5dBZHxd<*)m9e z1tASE1PZs@d1I1IMmYk-f(mR#VEAS}#c*%Ucz~FRNe3N?NlI-H@ zUw3FSssn47B=WU{6O$oe%nz1pbY_qYD`KpPIN#GOHW^rS>n$sAfe+QR&(@uy3jE%U zJW(_sPjk8o#^{Dg>?GJazDi>3Tg^B?~J@NI|gLCwoM>#@iA$+~qCgUWmWf@}hm^Fx#f|tDY|Qh(Yft z*Z73F^b2s}>3c3JzGZTD@xJlJ6Id>M=Ls3bFw2MU9In5!W9rCkY-KPC`;{<`akMI4 z6ebZ{4hjmCRDx@v1kn}OI{W$>Xv|$|V@&foMH{YRy1B3lS+xL8s;L3hUD*J}TAi*MyK1~QlRSiF zJ!$eI_1h3ky%wp_dBmZ(;Pq2kO+gBsHFJN`Kg!lBbz@^`Ne=Fp@e5ScjH|<^OQ{c` z?5H8mT}kJyZJ5KtruS1@!yYG0?a+>Ua7GhS3vnc*tHkcj%4AONliASn8mg`OF*vQG z(nC3^B&L{L`4xJOQApc`je#){36YuU7z33m{k+iw!zXL8l~VXIMc~v)z~vb7kOu0@ zkTYa{x#FPmFD277b})z8OC3nZGQORG=nY>nV^DfkUT$wFbyn&!2D(8FF7u!Ft-+}Y?H`;(Y^ z93dHB6ckU}^=LxPJI$KB!btNpWyjy?1#S`K@2=jD4zvlkSH5q{!%Egx@1|5-jw@KD zLmd@muV;7lICgaUg@_T|$#h!RUbUQ6k7zP0)<$LK9Cxhz;;Sx4euibz)!k$YR$>4gMi8$Q8rFmV@ zAoB%LtsW)5GN*dTGHtIHn!`_I2BT!CHSTMTG_*Csnyi-b&~uH3Zki*!WEa=et08kd zzQK}JN%r3Q)}qD>H<;uW6S9z+f^cs{h33`Knq61q*^?E(|7< z7tsGkmbC1W@xE1D&wXOfbyA_-ktSP6w0~*{X|NG24618FMCnD zc_R&IchZg^)w}%=CC8gB(&0TXR<=>{5Ki8%%2l|_Y-X0zEWwMA6`x3vzg;7Ts2-rT z|JVYgd_!2MGOy$wv+uOxM=oBxrY*$H({B}JQAdGkWpnSGizpQ~Ms8)dQawZn%o-vH zRK+k$tbENn-`84@_gu2|=El{@687{p4h$)CXp`yLKCorHry*IW&EO75?QqIgXn#9g z!HFp@&yQZiA+GJ6Fk~Yb7g{ zLu(|}qn0JBd((NT?pV+dR4)V)IiRFEy(E84Qc#BZx5HQQ3T+{BeGNr*faff8>GUYtG`a zBtNMhCHS1h^IbvP@$*=qWeOB<`CDgW4UTMPTayV zK3}Fh1}y1S&s3gPUm!u~Vdy@wBr{elyWkGT_~_?Z`Hk7&!y`M@&1VEr?|>sOMijnuzrC52KK2wfR1cgwFFZ1$0&P1_5ba2%41cEso2z?iCRezVpiI z<@(s`%xuB{;*3Xi8BPe0B`{-si7b0AGb$%c4M4UOSlXtHULsmVbuo&<#(YPoQ7 zrFyN(3gsyrJ^I7+hmhwKf6VIS$`A@5%9Au&TK$@viE@h@auvE)Q-gZ6oc=ILf7s*p zM%$*9%c)-Oy!dMuf6W8h;=vfGV1I0eY*I^j#Vp`uRbO_DE-I@U1{5b zB`a1RyRCji@pE5B+wL!a7e{Y@jb0Q=HV$;|=%Xx?=gVVD;cvH7T6*QTQG2<&R9=Ar zBs*hoC#l@X9jBb_8I9|1$aNH^^4nWb<3KkpJO08UT9yplU%c!N5ZTl9r{QQhq*3M% zyU=-^dq}d^W!lvb2K?T1iu^P<#?F`{hJ6nn7YL{Zj>2Ecg;WdH&HJ`6YSKgf%>=to&kW@Y1hxcmZ z5!?V=8oFVCe`{=J@Emb%qg;6llj*FU(i0JxH^lr9hx{awdz5*UOif}#craO_nbac$ z0G^`WW~sQHlu8vE5o09Z_-OIQ&C0h-K)*2W+;qmyp~(d4p@2Gfh+5)iVS*TZH`#y_ zT$pe!gRxNfdW3^>2t^7L&c2OuypWKH6~>)6LpW5E+ppj`#|L6Nq=Onh2ce-aUORph z9)iTG`2b>E^A^CeggWefbR_CDg#6Lu=lY(wx5!uyyje%HD>8_PbACrzuL-W7^K+HH zUWb|>>FRn*Mu7*CCD(|yGAKtlY*2dOb`Q7%#&=&Ru}(F86t~n znDmnsjb#vN$XKYk_& z2@>Fxj#Pc}1wudHLQnas#>58sc?;)}d3vP=3HIxfg-tGOjxc?~j|U48FQFKR7KHc? z62*eABDRBzv}|%Z%d8FZgg=aPSR`&jU}|qvuN#Oy3(|#b1JXvIyq10S(-Q?$BC?mtzNzwnbS-BlDRegYrv57 zuDfx2rcdHMcTyhArIspvmaVznM{GFJ1}9?`@=|rRI0M_j8_ZG*LK|lqIe8LTsd1jB zbYD$p$?QG*HdHQQzjkALHvJ`EB68-w3AzGvQR`aVv$%)JRaaODT7fN7RxzyJcWPE7 zQjTZFK+YEKF6o6NMEy$$7MB_P8)FN zH)e{ld|<1gdZ~IZlY2NyI-9RFsMUnivGCBKsT?J@G>^)9OTR=_%7dW2^6Y~eHLFJ| zgTIun17X-dsjKZctWa6mICPcwlNhcj)q;#DI(K8rcX`0eX{ed%*c*JuR43J)dcVKlv#Yy7 z#^agy{p1()Mvb2ahpxXSS4#zT?F4I(%~*UhCb8!{ff#06{cxUiAzVzeBI#1N)3 z9(gx+EVu*LNinMW0rld2Shg{TOT93c+2>g`GhE`Fl{t)U7bComrqtduK{ncYmf1tV zMu}L%+?zoow%dQ0>>fR!E_q?SjX2UX#dSdOjh(LglOPqw`ax9@Z1!>KN(c8S=1fou zjgR~&YFi(at*WUZ+b_qYv(iC?R(HKeAj=LuFHN2VuXaLgI@X4wHp zuD+6$tS)kzM}O(wG`V!vHz5|fi}sqhioc_5cQl&e*o@-*Rvfu}e$xG35QYD?0!P=) zc$?Uf-r*8zhRLfF1%8r`oc&E7FwNjmfy{`uEL&Qbps(q60;|}&QuK!WKp70w9Y_fn zw91VkZfZ75cJyDs#^-GV_c0dt>aA;AYG-aiw}qVxQDEqs`5;>#oJ6sftu4DfDiH_f zVSFxO#Jxv^J_PgAs}EIA123iD zr&}4FQf$BTuEg3dv*nH)*whoxqMp8zfy~e-9)xK?*P>1!WT1SB_)bEuYx+VHn}CNJ zC12BBF%0s!U759}nv>wj;+4?w%=6|6mY^V|z;7*XV(9>*GC;2)#Itc5=bowhmQDv_ z)BfzkpUl6Zb#UfbVdC+MdMiNoCo}@K?njoMRx@l5-(ZdksHIsMqX%GoQ03T?OXvib zg!WusE!K;#k&P(xI@rJLsC@|Dfh~IxMfFKf8-y99_SmxtTc{2R!AX7tN?Psy_`Y4D z;gU3;d@AKw%rMD_31$d(U{Y*M#Bg$G+8hB)78RTrF6LJVNbyFBKhGk7dl@zzzo2{z z%n7S&l|(^ddbcx7aRk8IE=}5AG6!6Nh|=~O8&D^Q>!W)-P})wsI-pJtuOAdzbaHqo zexW={K91ee_Zyl|s@ulO_E`AU(4d}sPPOe=Jtu|W(hItQOD&1)KoC$KKwJU$g@GX| z6c7uuZ+@MThtvZx1N*ES5N3D{C_$wuvgT}OJ3$Z_MjR#~U$DNjxdL*2z*5Trn8&jP zas?^oE*qHvC*h&01?5=B;yi{H?`lJ&(fINqdtl_uxXY22vq zuArArEPXG&S4oL|iYMtJbi-p6cx;jm1b9T;Hc73xWMb|pl+#Zp)xvZpP|v+dL-bKq zXLRIls^|W=R5oO__mqZky1GMdqyq@yWhJitN<%n7^#8fP0uk{427__T;6t*-n$+16 zwcOh^2wrjfuEcx0A+5i$P`ZL?3pxL$K3>O(3{g6b=Iamh5GT{z%_NR1wgHK+)$2d7 zY5hKq{>1(!z7_LmvtBo{p0hIZ0{vycH>l!|`q_Q9l6MY?9W5;iMa+!PZ75g;F4U*v zp@yW;@xM?P)(RfFX;!T{Uz_!^&P1K)M>=u1 z6rCa3TC97u7M%(G(U~YeT#C+MEIDxMEW;TpV{}C|(Z*Eg{%}baQG1{umoSvvJFWUa zv__(PPI?|LIdnyQ8l2Ud`ahc&rAny|Q2yyl_iVJ80v&gV>^o?3MCrE-k)0TBJcErJ zda%6%CFbV-^ZPeK$eT6x-J-~wMQ=)QqM|{$w}X~!F9+#l0NTkxp2QKur9Z*Y;J<*T z*XXXch(?r7foHW@wAmd6>>JwSaUUJuo#Va(1|njANr-S;V1rK7K8WC&S_KhfHw(UO z@27glz@&V4ZG2ODW7ka!=Po4M)xjs5F0{C9l=XR5@^`hVLPeBhK&dEd4uA%9xz;Z4 zfD1DVsriqoP*Zx@5JhLp&?;Q+7cM8TKB08IO0=PDcB~pS>@U9cPC?$dq4_dz%WyKF z*5+6>HA_7yMi~Y|JppAUt+Hqg?Ai-avr$sBxz_ndT|IjhCu@WSMwrXw0N&6z+LZ$< zRSW*K01TJiiFC?A&X)RG?c}hX*r$LBrPiyqDY*CRVokt{2YTJ!?xH+^EV8^E^&PQH z2jd2}KDC^_%H4v#GO+C@2|otPi-7nbz$4p!Ca5X#DBU_pZD(rK`2$&ZTtk8I5zS12 zxK1b~(Tb;gFy!`GtwQwHk3*msPKICC5J!~s44Y4wM%H>s{ApAWMw{$j2LzAZE0!f| zmh>#pVKwY>{fC>c|B)bLJTgIMESVrrn`3cC8?blDMy&OCU$zBn-i8}afhE|!wN#Za zPb^`VTc)nGOoiA0fA8jNVJmyBuPJT!zN=seruKWK0W!hVM~2^y5qYJ}*CD~gul!F5 zX6>WwWy^hLDr2|(Go+GGV1@9=a^*FGVt}!_sx3SgC1u8w!2-9mJon}RD>Hs-Q5mJ! z0nl9>_SJ5P6r{Sz=)@7$x7}(AQ8XX05;xs@68>zxgSK?ej{A>RxBnB@bk0unB!Lh= z(I?`Az38DA)}SmYS)cYS>(M?ALyXl?#Hm$txa9c7;rUrF(lpVZN)X;YHA7nnfv1yx zjGATi3Lf0O;BLIOsg-tC5|ecccFGl@0P<}PP9aH^8Ue+HaibG^zO(bsKf6! zZdr8s77uF*>_4C|@Y4b!XeiuOz7kM~Y;*^v4mu|rJ z1`-h!M_Hy7sNl6Q3xeSiD@DH!$?QRq8W}D*oma=mxkdB?&spzKlCvzur%1l0mayca z`3J%kgr6Txqxq2%J9Iw6dALOLebFGTDnmxi%_fm%X9@R`v09 z9ifT#6>BiQ;OR{%)+YT0 z9gGVH!ZYwB(4PqNdf=%BQ37Yj2yw?0L?}*@Vih*N{ypGCU2(?pq~bcTb)xOW^b%^( zRGlir@|;5>jiQhQ(FxeX%1>I}J!itL^A#)M9)Y5fC46QC*I!9=ByhOo;4t|XY-cRt zu>zgx%usMaD?|X3+M9Rf7fWO+;Bv46YQ4_)YsLEU9bpNfaU4O~2$dGQb&V&&+w zGKNb{x=U+{s%gytouv*()3xgZvL~aY)^aR&)74sI+do#9ekuY|dSFD!=>=*|tAofT z`9%JI+g<*BR`&mo?lRQZx&e3jKW&xI9QZ=McINErnJv}n2lKU!v#T2^&Cb^@pUroH zs>fB&%nyue?;l0+RYSLR@h!9a-_r8nj(q#T2fyPm-(}$yb>uoOoO9tEoR*HSN? z>#W)X`GW@!&YVr|-J565Oxe_*c`*G>)77=(^R_k^TC7i7yI*Y@-7|VQfCVfxt8!fuR~sBs~g}u*$t{taaXC&5HU*h%$_3BGg+U@ z$l$S#ksT*(;*)A|`H8M=;vaD?ig8)eM;#nz>JL3jJ6VfvTYFJSbs90i-|D&gPGL&| zsl!h@8t@rictJzoqfuv|oRz$@NtL1MJeoB^b2J)F|F(o(8pM7fA3sAp@slN8L5gdm#rSRLd))|giJE_r&BM9-(Z zoeGkezVIDL5t5SGf1AIsMFx^;ws`x5^aGXlTW-Dup3&O8zFRPX@@x1V^&rNyYZ9-adB4wMp#HxPCF;l}m0|InHHoxP%u0BR`WBcn3k=o1?iFZ>H8r_60pkQWMJW3wq0Qdk)P+Z>QnBspkJe>x0)fPWd%_e>K#&4R& zn=C>fCV%x>eP5TYC4~{nYJlr-8C=wbD~*qH^MYF!;13@3`#;2H@Oc7Cicph9*qvB( zKv%%`1 z!nJLp1G1e_vbKFYUKKbh3d?LQ?pt{mfqq>p=IV7!sAO$$%ZjMiP(qL(%3-9kuS zZSU5cm0KPu?8oC;MS6*H%NwP07(F+JbIT!xQp7spXW;Rf%hpD;(uZ zh~RWq6>rOX^1W0&Bmq&UBcZxl-YAoL=|imjFhTyp#2`@XH=nAh1y) zH`_Z}&+D#tv<}GQegb6B0Khw1hbzp0{_r2GU#`x}|LYg7_-PY5xv@*txtRZ67_z;= zQjR4n5ZNe|mkWZ~F+u{r`O0$tyx-%{=zVO0k8Or8%ccKA9h+Cmk>B=J{^8}|3B7_- zqoA?kw1$6pK74iEz&rD`&;9j>Uuas-=C&5~IjycE{O7kwq&n;M``;y51tax>zRPrU z>$K$VPgd>%huYYV>U%(ZENDa}DRF&o_}Kz+93_bp7YO*2Xg#QAF;TW;$q#B1YFGX> zt-V<6-lFvmoPC18sNx?fEdiEyc*yEvRD~Oyp}MkfWgl@C0?@3!7@Xln8iMW@m^U^)NZ1U(qZ|}ag^tG_Fxz~#8`gP>& z4EfV93QfoB+I}5P%dWdw3G*)2vwdU_eoiv+@B}_zu;ZFpEw%UeU!er}>9vjdbQUja z)Q;0T8^21mL3Z4%eC_?StM9kZEHCl$S@|Xx(hOjB*w?EI`P zJ8&jv<#${?t7T&KpQ`8P-`HB+SiLB}2vZ|*51G6n%U$^{PV9ipZ#FA$&neIO7(AExTQ=A0_H5 z6HuO-JQcJ@d0JKz4g$RgOYcgSZmEu{zP~oAW#Hs_`7>J^uSztsBHVca9A|2jRvIM~ z>?<1<%n90%XolXwf;-D2OJP(>Wkw%r9@sD{vUy=tj0hVQl`tyt&J~8_4>Bx5RuRK- zs-8yUM{kX{u&nGE*Hao7io){4yQPd+TAWVM54#EfHw?-TvYE;PWJX0vTh5A*qE{DI z^si`C;HS)#ytIT-x%QO|3KzqeXc%EkM7%I2x;AV~?yAns>*JtJ7kCedmyA?X>Y@HU zIqWD1zHN*U2;ZdiF;u^Ug8M6;u(^~I2u>o2y`Dv9C-q84MciwC1`#a7C_aD61(bx1@IZTN&dsda6(=;n2R8V*RmF>Azj&#lrPBvb70r1B&EjZuks1 z2rV3(h}n0k0`Bb;j3wTOb4g-5Ht{T2{X6UGxj!W{%~>FyBxP~M;LQA0piL&8cpuXc z`IO5svgBoNOr3{4b)d6@odNF*AesNj1#*ehzI)-*Q!p%EaH9!M=+Gfec_(${wG*P# z)N@nml@$vVo>Au#H!Y-RM2SE;N-&5PtJG()n8Y7w z!^Gp;7djc612WNhB;cFnSkFN|%i})2WC`}XRfh`^6jPQGJ|@mY zKn)n&_;m?PE(`+hIDJto;fw)T2b&jepanG}5zCQzCA2<<8NDgtO7$WF<~Wnz z=yD$ZnBo@jaKTuKCf%4{J;&a~Ky`=e)nLpqLbN5czI8dcDNv^YGH zAs{T16v|!elCE`dpQ?=&sgyP^9u(ACTB?hs5vnVomf~DJBH*0}tjthp4Ry3_;P!at z1eLgL&2kv5(;DZUt7R}4JTEc@x0*~t#RVY8aS9QtQKBs;;~DpQamYf9rf8H7$f2=K zBvO?oE2^*0N1c#%haJX>{KzMw8qj8WbU~!$0+0rlDF>Wi%hGf?FOzMAP5iM50PBV^ z+r|UnyBv=N=J-s)`?9WRkHOa~F{p0t4{tdi|ScWwLU;yW+qfQn>wJR z89w10J1d2#Af{<6 znM5Yz$P)B*MXn*O0SVJkRFm>JygAAT_P&<=WStm2yzG#HDV(7uZ%J^1s-dRWiGg)|pY&x;+uNk{!ob$$fMiGQ z@ABjjjL`>-#(>1o1wpSO{y^`kIku#nyn9xCBb5g{~BFiYp4 zTPKau*Q~YkuL<#Fl-eF*E|EB{k&P<;I?jVwsZ|@N7r`(COe#18 zme86mpyb>6pgcz{xh@jpZluEEmCaqp^LU}>W5C#}XW9WBWMvc2bSNf2nUhxov^r4w z5lkd}F&IT)N-GT+h8=FZTM^MjHc%6ev6_p-pP+-G43`|P8ly=tM#2tuTadtR;a}vW z4ISf-9`g@l!T?|W==~4J6AE%Fz$l)0PS)5>ZsW)tEeS0(L1o_8=*2?&L#GgTj*XMH3Nt8 zQc;kwZ5iIy7$OXxxomm!W<&y8M`)Y7o07*K&o?{`g+FjUL0v&9Rr^X888R4uGiZOM zJ)NIi-vYulVDns6LnWJW2}AW)aK@EBLywX}_Px=G<4b#iIQpw^4{s=$JvXm27LN#X zR#m2)mqJq-&JIE18f!GQZKIjX2X%v>$oN!j@6vmK%=tEb1nH;y6lVHX%qZR?1cP# zHtcUyV@w0Vv5#Br{#?EbTT(D0JC0j364ec4s3lynwUD4U6(A47}~{M zi@O#s>(r`~C^#KC-w@-@1`IErCf#!{{xYJEwME{mdL2eK1n$N`Q=c^YqSyrN;Lq_p zAbe3_Bz}iTnHmZ}Tncji@s;|)7;1zMT9o-jPcAR9&Z zDDP957`?#`@nuJt0KFa%g0Ee-Mmg^UXlPozI9cxw7=95Bhy}q(W{>IC!!Q6}-;rs} z`mhg+(S>y)`^!+S5{ll;A2pL5-~7|%#ENV~ST-P4a_f{}z%NQ*-&p6br>9i%U1(pko9^+GuMo~v{NEmRuW6cU1hq? z-~4d;kEeg@g{In{%*lWAPtva;84=e)6`>e}MbE%8HeA{-v&FJW($4%)V|=Fcm^`0! zpuR$Mb=-}Bc799BP-oacG$e%O3E7Pgy$5I)R@#g=+0mI+1E|cb1d8QrsT;fDBTDoy zrlC;~o(N^eE7M!z=?27ZbmTB=LUll-1WUiHYne{6W1u{U)0Nbg{MY=OT6g_J{ww(B z*7RP=JKIdim+Qv5s#YEgbkejJCVNZgdv3`Yw^?0=kTV@CkuXbACsD#0t9$(xvyCW8 zgN3o?T|NeyK}n-*JXOK+zw4a^TaA~HSY~niFM(<#2tT-$4Z_U6=$a;vn&EoqPS_Z?Xwsm&f?z{1QUadQVldH?pL_ zoDv>n(6&=2;0u+u+vjbZw^6@^e@t4hRbD5av9;U5Xoj|iOEP@yHMZZ%nY&sM&j%K$ z!TaE-ZPaK$iWT)IvGBvPS!@9)a-uH?#x|rW^_=bum+U(^Ljs)By4(`j2)g=M4ZGI9 zX4*GO^0eGefO4`N^=&(R~z!LO8|y=H54Vd*@f>$IsBWUCi+(IURL69$cur=^~SrpA#n_;3o9ZgtjxS zqtT|7HbPX*V3QaYETr`@rE?itfhV~JzaHxkUt4QgVYcA3tXYoQ_pj!P)B;+TuQMxm z<}teD9heW->;IF+t9#;q@B}$VGg;O!uTVldwiFzTC=w zgP%e__hm(6%@--H1B+^qY4+NB5cc3*`T3h}rKdXk;<-s;Os@T$#GQ$4KLI)xuB0Iz zeN2W}zGUkKlU+pfImc(z>^r=~OjdtnqYgP@89~$qjRzzFVF>nfN@?eO0*C$oz%l;a zgRcV9b`EnKR7G?S1UMn@IgN5m>6?xM2cqP9ti4g=X%DENrXqWi2%m993H16XEu{vr zqlQG}UWY4(8T9JLTSM7eh^lxI(q})(_!dV5J20y4H+~yeZAD~6*42B2-VDl0jL&!3 z<$>A^Dj;JOW#txH7=nNj29?%AI@2Ozg*uKpDxiX*81N2|kFUKk*#t!=ROEXTJi;G7 zrnCy!T%b7x-5AynBpBPb%~6CIMtnwyJD%t zR4uyA6VVXWs-0X)%LwgxA-7Yrsi~cv(1Z{T-8?1A?Q5HHoz-gFbrMh-AhGtUo3FyL z-Jxg5r@U z41h0&OQ#mN`zO2x@gJuVJ}$(tDX)%se=5Fbq*t~k?Elk;*5`1s>5dZw8pMF0iqfWNCtSX3iCkhT|-ZzVtZH@HS z)y&!ls!6ktw3pyB*L4|U5>5aIMMOt29X#pza{_p7Z2A270vPQjnv>&yilF0LzS^=Y zjDl7NoJM^Z1fb`WJ8B=exw(s23op3iXrMIlG2!{%MMkOIbXr9AI#=Ja@U_w z>!}A6xfr|&PV5*`XRrWL9cEBMniz#RbYXJ!uU>U_?Nc+WpPF@G$9Keu z<4gCz!q`RzG`{pTL#A)ri&pOI?PI!Ztup|$FSi9Z@d(`1cnP`CdTH$}j8^~lnX*mr z6Fxjva@4jz%UH{-w7+~hn2`V~))ee^kk<`%2MHN=3qtO37Le9}-Yptlve_*dr|PXb2EeP!s5rUw za~?u!(=Q;6c~yZ|7jDSJQAp>wJ*9?d$>gcs0PvQ?R?cguNX?vAMDTp+au9IE| z0db{R5^?NI=Z&2=g0zZWgM7ZUeO?0^t$4^cczOYOOxVQ9oTD%V_94B&+~tsjv<`IN zqf-uCdLAU{1$&Hyrl;*p`Ryv90CC8jFiZI2LFO*^J zK3s{`g5L0C?E!m0qO&%i50EwrfHzY$8brw&EbIK zvoL^wxH-tqhC4R!bDXs36kg*n^68iaCh<*q1J36-u{vwLq0-+<-*KPqSy<&j@vrpq zj#K!&LQ+;ogm1GFV|5Cj7Q*2JNYgh;Wqb(M)WR_RcnKs7M@jfcIf7-;BkBBc{(fmb z$jR~pwLpu({*%boq688q3C$B3gE$H`k@qE$O zvuz(hP#M$}Oi~Q`WC0F%L8J098^a}>8E_-;l*Xe(BdLC^!Og&^myR_ZYcd%eSD{0P ztFQ`n6BRI&M>yHTxmOl1*!Renj>EXw5<-fcE z>cROpfCJTjzEb>xMpQOrh|?;4yA)sKqNkL;G7;hG)f@j6b|CAVmIX=3SHzvmUUyBT45d^T#aB0YRv zBzvDq%)|Q3*FjG$WE!-2rYNV66jR0DGv)fy$I9As2u z{u$L=S{gHXC8}{hqZ;jGRC9?N4XROWP;I%3FQwX#hp2{VW>niM=Hoep*c>7_K^j9C zr61Ib1tv=6@qM65^{uFaYQp+Rs#zuJX}Lau6`bW)q#8ORqna8Cq(|wcR8vDiwJ0eW z!bClw+SX$Sil50!W&`W7eZ_Z6>h@GmK-}0>hj4hqOLbbIS5o$seBc^s8+_zbs+VzV z9jCB8lCI_nD*A; zj+Aj=Csp?|v|&vk?`a4Tuxf@9O2b?lJS?^xE`bbC@;kiGa}CL0a?y?C#WW8l9u}?P zQixwe9IXZ3B^nfxkMZqoHLQ{P&8g-4Gyz@F^0rT!GFidVYW{3 z7vimFhD*WLUVmo~Tlt)?;nM=0iDk=Uh3APnV8_vMkHL$c@uhz@o=pWa4BV^bvK1Po zN3xP|8}fR<(yUns^IFZppa4R&daMw~^fKTZu7ZCs^q?IVnj31GZs?3IgNm8j!)wHw*5}$>;HQR`wD+H^1nBt#f19sv ze6Y5$<$LY$3e zbujQ*%K7+tV#LX&n zhs=cM$)16RYzT{*4HY=p*xcYMxNKEtZ)Y!?+(Yt_RB20}o*rM&+8VhC7tN}glmMxhmgX3dI27C1ZAY|)t?YX~EqM`mVTG8kW-W|H!;?2NSh<-& zhSa};n;{;~HuQSbdKPuLdNF1|Lrbd1z`vMP#(=kI`(#zl&5X<%pf>$&pX>wKKDjB` zr=h_iQLj9>W*urUG&t~8`ik_XRPM_MD5=!6hX*LnRo^bEevVwzTKnV8kAFSA`z@EG zU;p~%^zKV;NdKM}8_s&)-RTWKnUl__@vVXC75!JR)ASdl9=1KYVs%qbFF_J$Opl=_ z0x=blP>e(z#`i~-K*hR6=m>xN7HBeIKV|hCTNzREY4xKE)B!{395D5qepKn8?iIxI zL_AeQAfDF&W#0YYQxM8`mDU+Df|iQTgVd@<0_l}%R+_4opu%P+EJ0u91MYf~wJV=~ zef84nhti!*wNF&bLQ+TVFJE7ac1`Jbl{mkZ;upTQ9*(#wLR z*%`hS{;Qzoym#-QUMoizA-&}cF_?I^*^V#+JAxxhWHBNc-f<1p353>aO-p{*miys6 z4wb+saV=|S$bz&tijsQ`gSRqQZ&1vqpk1hF_c#+!%inrG_|Tbu%m~ViD2>@@N8aHsCzxD1F`EzE|^8`1(FK%i<`u( zseqPDKK5_#d}rg0PRztHa#+-$W33`hm z7B51*xE@AiuOKUNO?>DutaKC;4>*D869;^_y*aCE+@iCnP%7QtdwVYncwB)y)8voe zkw355+uhuCDi{+{5??@jb|a?q)t0ZOD?IQ(mBYCacp^;605XUiu2}80qa^T$wHNcS z-pN9`t!In}eoR&}MBGqBY;0+(6CF5XSXa7mU+tbX+*x?9?LF2#ViQqQ&5drqi~tbs zD^RQVOe>-Z)63`IbY0p7A+*tof2{fG5rV}?mDH36t_?2n4_tv-Wm!M?8YiL~e_@S0Q`U&|0X7p3IR<)QCH4GW7S0>hcp44#3>KexESMT!Jv=mLyJSNUZchFF~~Id;m~q6>)0Dl)mf2%my~ z?AZi#)Psy{#iO{dz!s(JRVsZR+^eZam2Jj6lO@fcfJnbacKtR7k@TH>@s>cK=yJLq zMUwRTKoQQEtgmR8@-TVe0xj^cN+$Z|4MW zwet2ylz1}ZiKNsIFQF`f)&}g|uU@cP?W&G;@`W7nn+O3`nTMTtZ*myRjnZ-~uWLbp zqzC5)k31W+`Oy;_we2iTu}rh-z!PcO&bKyYx`BzFVebSYF{yx=^0EawUQcN^Ujdt} zgy!!d%7KRz5Vc9{7>|{3z0Lx4)LsV}%DL*fz2|n+B@W7pUL3=`DDO=2$p!F^EcOLN zYc%W1BxtH>B`ZK~%lW?qxy?R4xoP&#m8~w@u6eMhD$@~Aw1yR)7f^nx-h&(pE>$nD zT~6}Ho6hE4#@h62uCCplUUP5yV6`Jne^u*Hxw>)7mg)oPmTQ`7XSCEd?!&9Az8`O_ z5uUnj@GtYqo}*P*9ha1G1SGFw?QOlc!RU6m%mxmz5fBHXnygC*gR#MEB291#uV9Bt zo-E!%7If#5p;D1ptfNX(a03xeD;EcRoe9Z8&{748#KXv!N)X7Jr3DkAL?)g!-HEYU zGkT-Vi?>##*-6%Oa5~&Jsq_oOn~{Pk@&SnaJ(6l?V^YEU9N-g0q@Z4A5ky{(dL+QF z_WI2mCaw(avd3J~kyn^`>S_BRqJVdcsMNyy*3xo&^7uccXMf^)d|PCK@rXSS)%Y)CO zWUc?$A5Oaw#e#6GCNW_zDXBwN01OM4R)>lrgTNtSX0npXT&|$JQ4%nRAy+t+T_~3` z4bc|kedv#|zi>mR;^6k{{YsMd!@yHn6mOKqG!A)COq^ql89qn`1C;big_rCjO3G>? zg5G{x=WQ4SkjMKHa5NqJk6C>w`-#;zu)OC+N){3cI#S6@+o!(|myEMR1$mBW8Z8)N z&k6*}B?x;mR3eL`raMe9y^~qPU{G2B|DwTNLnZ5kR@!##=$PVPL0diTV7Auku;bra z^{d1H#RxQ4=8NwOtLI=-F{kt*g)VvPGuH;>LPu_chTtl)yD~%@I$S3pm{Wr`sV{&B zVOLOBrQBc2Ry=)MR8c^Jn(pGZKFeCb7)sa$^^2PN$Lde>Y79pO{~Th$V6+R%1%!^7 zxX)b%owzQQ&8H`|*3X#mkc_t(Gp^}|J~^W$(jg|M4e_WSR$R5BL`%!Xu1L5^Esd%v z!>yoz%KA zhcqO_kiJ$1p5)y_GLGimm9PoSNb2n3P{}^QPQ?{!m(|_~{rgKt!5gj@DV2vx7n*Wt zsGdb@7vW8@wqK_S%cmOH{$rUHm>q48ofx%sIXYGYv4(M}sR9D<_Iqtc))LUb>A?On z6GbxghfC}cuUW{uQn{vrd>fQiC&tyfWmKU=FiD2R6l#<{A^DR&QTKKh4;0^*RIi<` z32gTSwt52Ff8PYYyyT@5xcA{dXaWkC5oV7GC=`cZ8~L_A&%S^!&)%25@)$usKvU}vDI?vkg)CaN`#D= z>r4?2W@z$x(ojdH#NCUxX;VfKg8HgjiK~s$g5{bSazJLG2(@%$dQ(a_Wu>XQ0b{H8M`?bhd!NBp#5PdoAbdzVw3Tp34Q)pU z2qH+zLlXa)!|rl%v&&x+M@l`g4p~P%F$6oZDOQp zNI%MAn4B>r?TIX*MN8V+*79r(%0Ra8jUknF*8$JtBii?c&;B*G{ZX z!)0O<`aTxJoYSIH=}Au3+4R8Eoi+1%u~6-E9AI9}*CxL89fV)VvH(Tmp%)5e+Vnmn zct`8!OJG|oGbJwg{d`Cy<6eY7c24tjUj1CHFE1_!qxBbsH1pw$!n*Pw@r-vgO3t`H zsQgj(cayH=i}}j3_pZ%;&T0Q=#Dk+z9T=BEX@)gy$SO28?+S&|8<19fuC@j%ICPM-;NVdcC zB+p0b33Z7(bR`bbxj)I*USItqV$-dl|M<`v^m{BDIUtuV`Ftvy*8!WMTZ1*A#l<&~ zL0l?d?qe751m4ttMjpc3X*x>pex)ly4Bk(7u)!rKOioa1(m7gWAX8pySkznVM@14^ z& zMt8QKm9a5(mh*etjEsekZhteSwq4l>%-{ptUah;|PZq3cYP{elKi@5ieHlrt+~e!1 zx`QPLtx!m?0%P&oxV*ihHgatyocci^b3P_S${BL-oIOFuXYk(D0N1oCh|&=?O-MJr zF*d|5mU8FP0j`JNbx`LG;(>L5W8JA1^s0h+=y-Kv{y0%hF>2fxl`hYi0DNdPG`z2P z4jo~t*5YiEg(|DUWSno1m1x87`^h!e>SRLk189lZ5}H)}IC@?~>W9fa>5qmQdKXDUCVp&)j1?&{c*mg)2q?=+n# zGpnpNL(B{OfM9Y{!`glqXuw*tYLz#gR8LDUx%LumK-vHHmKsErD&QOd`$Y0MGn=Q$ z;A?1g{5(&iTZm%Zx@7*6`QV_!Jue_|UF^Sfikm6gy9%JtoAd|}PuR2K#nH5L)q>uI zy$kzjfJ{5rFyxd>MFV@KskB`RWViUaO3@o3kNSWeJE5=asrS zmeznVF4Q!m!L^ZSVftTN`(a++ZzDH3cVc1t<~#1Y1Mh?APbs}W`n3b`MYIhJ7Z3%d z9;Z~=Z@m3Rf&sfUAF~dtAs*J4SXySK-wLm&mn+ib3L#8)6_|9DaFcf`LMyB17aHmZ zm^Y>kQ|4{1JxF7e?837TgM!`dr8UsQyPk%hHa*0Fh*gI@C7%c~g zIZ$5QnJn(aPlWxci@z5ya@e8;Hz+zGv1FAe2r(pjBP{7e{cKfy7dI7tK?$!%2p1|=Le4T$%2ct~;M`ri7!O*eze{YpgD3WM*>`A--?IRbFj zboAL4@i>niuMs%re4JX&O7}<{`3c`42BwITH2t~zDLOFnB;A-;0QhtFt@@JpX}X5D zPmZq|CDF#8yI)f7Ov)@QPZDcEdo{y;LH5k*Z~jxYSAVMdYFrf53T}{BZ7qc|Vv9Ws zDBLj^J6UoP92!ut&vcTiMBpZCB(OI)4v6{XvoCf3lNFE!0=aormJgYmrfcRaN)UdE z?nwCypqCoO?9OLw|O0Q3-~x+EK~SyfF!t`9Wkq`o{mB$0_b%95Y@ zyOtI2g+#IU3{eZU!JYm3Ua>u&wpzR(u@8VC?cX-A1Uk(&^ag%z6xN&t`^|bt(TdNb$Rvo$gpSIrH z|HJ&BwN}>*PK7z0?`IU$L>C1nu`|%czSxM8=7oWku5ar>*Vct@zr3E)@U{4k75LCK zRXGg{B|iYqjp};}Wf20o@s7jD(pF>%Ev>tYlS|WE*Kb*cJ&m(zcvse9n;XURSbkV% zH1E?kN^t17f=1k-6V@=n0kf+z#HxuZ3Md6YTt#EnJRu;?nhm#Bw^nD;1uSCitvbW} zMd8LDAM|OEqm_e)U8g!lsUU{L;FJjaYcYflChO>&vk>FSizcuabl3U?eJo^TB_`u- zs^^)w;>foq*W!bFF*;d#<*1sq<2Jh3j=LRD-eK4*Ygvg$2$7>^r)XkW)PI1vkO)C= zLsP{KT8owgA{n&pZ7SO_1xAw9%bJ+9qKWiGoDt7KPnOE_>$zDP&y%#2JA=X2e^G4X z)-Q_f!0&53(>2SlsBc6rnZKfEThj`i);po1_xZqfK>16J;j(;T-C(G1S!EI+)Od%- zNTS3reRPoC{s`PiS!Bz5B_qc$Es~>D+a)s&*)YO20Gx8lhW`L7T#58QQA7&Gu@g$d zj%Lzd(O260i_;7nwBxGq!F~Ej`Z}7nT+=s4?@oC`#k$=m%PRZ=t`(slET0E75BO?- z2@1O=Q4<kS3(_9i3(B>IZ$ejVLP6&&ktEy`h(Adn)aY3NLXLKCT!qngqVh(j87Rl{pFcFP~eJvRz=OQ zfq#Y}$%*ir52gbR6{>hsTC zT5N5;R9Gx4Xp0g6?PG<(oX_4R5JbRN;UKh%o~AobH0+=w8|aiiF6tq+EH^aZ1XU%( z%#IAcO|t&ZbvL2uP{GP-?AJ}lptRH-QG$|AW3;)quK|NG2?1%0@I;17-pxHk-@?qo zq+=my^}-oEEMmcsp_uzw={8(<6W!swTJa6Z?L=LrmaG$2b<5ACAK{Lx7iA@OgeYl_ zO{F8MPy7exyiKwrXOID6vN9hW4HwQ5<;uK=I<+^ohlR(w8zc94+kx z4c>WbJD@?e*MsS3dZV0@w0JIzVnNo9$ZN1@sid@Vfym zieNWksD8w!Unyn47-AYjrApiKAhc?xAx~jP%=zdCeOWAMX-!!uEn1o^S_;)GqMEKj zf4{5Y_n`bvDT_z4{{s#PXXBWh^##xeU^q%;r^Z1mubS+#xinQ1oLDJt-jwta5Df

wLdaLG4_ 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 PPRpyk{ww!4#K8Xq0^~?O literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.svg b/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.svg new file mode 100755 index 0000000..ead38ff --- /dev/null +++ b/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.svg @@ -0,0 +1,1013 @@ + + + + +Created by Ivan Drinchev. OFL license +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.ttf b/themes/coderockr/static/fonts/MonoSocialIconsFont-1.10.ttf new file mode 100755 index 0000000000000000000000000000000000000000..20cdb85f84c042dfd1e851d4dc8b29999d1f326a GIT binary patch literal 146660 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

-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≥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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY z*BeMp5!YRitn`g&nth8{m6Dd0QYAj0ZxqJ;!r>+5bAHQflhf0aYx(Url?1GY6U}5F zylvy$dA2fK(`58 z4KJ8nnOPF^3Rx@@8g_Vg6GI*_Bng?U4A#>qx-1Jv@{q$QbMPz!SyL+_iFRlz_(NHK z0V0O}tchz`Cb(6e7?+~x9pfb%8)c-+N~ShwBa6&z&P!?UfKd=_feP)X9~S=&MC3F( z*fN(l@lMz-Sg_16J{@jx<&VV<$8Y)g2W-?OuM)0zALCcypa7@C54l}4jp82+hE{_p zzbA6zM`9T_Oj{2RAI9}Nc{4Y$2PA<_)4TPX&X=UEl76Wmy`q=?CUS>c{DGdm^`|%G z(s%#%Hrw?koB7l6V{b8-VY{XAvxUrI5`qnSe&|K^v-^%e^oLtN=Nq48kKc0Q$&at- zZW5)*hobU>eO7s-$XtWXd)6mnm%lcTUi zK&*foQA{K#vaRajK9rcS7^w0jBmjFlBtBqCDQ+x!lKgTGJR=daf)T>G+sSz z>3!F|bshfrxlql3dksJ;yki`JCk>MLXg+mixfSh^nFV61GuCX5b*731Gb8O4vs+sD z4ZYW1+uL*PwerFv_UNOOT|#!KNGU?!W7<_aPf)(m1c|p*IQ7F$KslqsvIdML5`{$z z0qCeH@IM!*f^8%E$}_%2`zkHzlwXZbDe}9@bPMTFJd+e=i*a)@X7LHY13w}nwL}8*;!Y- zX2blTm}2po@Xu>WVIroz;-*=>PVN;djL-t96631*$$`%G82II>ph;?=TR4h2OMLSQ z2;d3;a80}nlz<;SHDQ`N9Q8jut4l5tVPQt5)YGAfWfy`Xy6Bw73Vm@xer|4VenPRn zqA@3W4m762OLl&L=g#koX_H0iV;tizI$~lRyxb8pIi6uPkq;}DBs2pY@?nAnJs^TD z8|!JS5EC74lgaH!6f4?##+LEvRQOK$x77r0bYambGsZy|W;q?ZfFQGZ5=^R43MD)+ z6i<$Qt^anS2UQ>elc`i$>dK&I$F<#sLe2x&ChT#9G~oMJ&o1ngsLNFmOi*H=P&BPU zE%f!18&NkWEbGE^zTUBW{);XJ1bwMMA8S@RNVDicF2Bdt*M5m!(Yp7|v1MQDVfLib zz2nWNI`Y#~z5BOQaVG)<*(#Jz?qZkt@@afP>W-7vV$y2Q#<~IOO|h;-EJ;N!4Tpo^ zU@8)hpk4hC!wy5Z)+7DJvtx7JcFpS9~Tv{OBpIM#U2D zk8XI`IcLd|InI}FIB@^{{6VN6P;wTAVBz=ve3qTy(=>t;n$`JeDcSLbsnk>E0m)Rm zW;_r~w&+rLE)V!M3z+;R)%Nb?WP5k7{P1TeUF_R`TC8z@?dLmK?~c#!(i*JSku2pS z--8$Fh@<%s*^)j0|Hg>bt>QjBE@Ipwk1==?343tLN;5Apv7hZkM!Shz~&+WynJAc08`uE`A{YtbCi2_ziC%N89v&j=UV=9qCt+GB%BC8;6h8AOLkTMEk zmx-ycsJ!u=#_~lu7w>+0_wJ|J&2VsFBTHw1WwLR$zLvoJ2*eqifiaekEnhy?+g>qu zZUvMf6i_~XSZe<2FrZa>nW!ptu~C5*5DIxY4HuAXNgnh}=7P5nA$+QwLt^``9#_+H z`mfOG+2|DlO&aD@zvygqs~}VbIiMpZi`#jGF-KZ`QT1chMfGWp>G|yL{OMzgD2xcf z&2eS^aeS+cMN(CcBrQxb--Af)ayk_`(~P!%i4=x2Cw_f+-HJeUbzsH1aM}F%>=s2% zM?Q*#8b&>34M=@f(d_9+*56D?Cr|Z%*N>-GXSyHS;W-Dk(&ZigO8Ro{e)| z{{oOe9gI!SmzU>HpVXWG_x(8bB|uKEg4`tZS&zOeJJplyEu|O751;DAFHVI{_uT2Y z6Ay~b#|bRYM44Q%QFaXTC?4xNd0&1-8@TY3-3 zAO33h?)O>J{;hv};kxBFUs|-Ta#}6_1WHvE^7Ha@@(<-7N99dz$V+mztm%#Hmv<&K z_OGe&&wu#3!(#WjKp8E2Vr{y2@G|Zkmfe#|!58R;hVaITt?gwBL01ilO z3ZFxoXLNL_9Mm{*e31+Tuo^8#Vy7NKITuBG1;>E_=_lK;$bl%VrP|4lA`n66UO>>; zpAzE?H7L6DBr}1{9C5%&p}?Iip-(U^m1ib7u@_Ve$B7W}G$G9eeN%KUjA3F2^CMpj zvrcdO;LWT-zsonhwPf=-f#p2T?lwu&)02+B5bsY<5-Z~UZ`Z}G%5qu^PJba{q69~t zw^lIQDm{`Y`26svo|_baJZrQ*Ve_>mGaE|ck`i1wfvGuDvl5*~yP@+UWrg#?xstWW=82!@sC2}|#8tq6 z1uss{tST(5%51I5b4wBzoR++2wv}z|>)jj-0_YgN!Z4Eqh( z#6fa_%rF{Q1v5Y;0ydA&QhX3^yT+8|J8?KE#u@u7&SESEi`)VT={;J_d%r;+;Wzwy z`F^YXkR>tBFoVH5i)5BB`N-3CTL!=3n-mH#v0$Eu)+w8El3a>)m8>vm`-(DXhJ*72 zfB;Ys@uq;74|>^vV{n17eegk})k9i06F*LvrJ-`HvSF-#DuPq%pM?4DF;&QKObL%2 zQT~zg`_%RrVb6)tnD(jjcNGXaiW=7y?3%yx$tQO{E`P}kk3X`5zd%pp6+76as&b8@ zU_*`m|Ge#d&-nju+s^jL|4-T;DkW>X|8HSt&z}Dqh|&C2D)4Sn=$j%~7X&3a0qO9yeGA>hr{%c;twgFkKCw@86vM zU*w<2r`PgL+@u=xvT6$`$KR7uhb^|n?gu0S&eo_F*ooTumu!(V= zZl~^Y-G1Fc-EF%2bl=lGMHYOq$2OcI`G_3II`xEo_ry70SQ(#iz^~oa@jCrH5kGmy zJ_W2ETHF<&An7^cLxTBu8f*fdiSj4%Pu%}i`De#ZJnPAUJ!rq_HRHOP=`LF}_A0y@ zcK)Ih7c197<+^uLSd9@EtJFHUXa_d*&MWN7@mMUd&Llst+&mekM4U0rm5xH)b?j@o zU;no;YHjSuk-J8pCE9(H$I~C>^+r80de;&59co*2;iRil))_J5r?v-tY{P*CF1zo{ z#ubhP(#hu%%uP%xM=f*lzl~ArQudG}>!_1ttj*QX_1g%DP)J0dO3L||o7^TqmPPqb z=F2lc$0-yW(U8RE2lYqdqG7P}v7et1?FU;>Igx^jJ4xB%bOYQ6I?|w14k+s==dU<; z5{^Zs#Cqfto>+)aAK}UJU*9nzr65A9=B8&Jkzf4YxyNp9V(f=EL6S{iM$R0@eaE&M z4V!+zgez}lMepqxKepqE9Xp<2xAd$tg0}G*%$2pH&u`p$#AdFmF&knf?ld;_aN(l& zFTCoXSF@GN2i|U7y}I@7{uOsJ-RJVT%LS{cINAqZ@*);^>|s`Lr`gbZ-|xqJBoD(z|^>f}mZ^yAq^oCu3R%L4-r#J=<4Ooig-dkn*oo4Vcpo!xc5B0c5-8YXx z9<_P$zK>ykW1Gpy#<}k7{oBM*k(&4D5!!vz1!Jx7UlbpNg3bzDughUkIULxV_62H7 z&e$4jd|Sm4Jm@!a1&{r{fX0m#A)izODZ;2mMy?5QEHV=2Dxs#qx*uFl*>@IxD zH>5q4SAJR4odE;XpDK=5V2K=Ie~qj!WP$M^`4y@88)$ge!Gkz5eC?a)b>h|P3>@nR zOyQ$H3SmF`hq^b=Cw`dw@Icyv>?c9K4I4K%+6W6p%q!19G?!yjT2)z|)GK&;jrWc$9ufXrw99RU~#s+9!Ivp!ekG66gjP#Z3p< zWrf^OC6;;=IT?@oUh;VTS#}W!29oPYf&h@xSz8^+;>fmI>_Mlz+UPYHjRvpLa46lH zZu48M>TN4U8H^q$+mm)p*k35lnP2Va9)nA77bL;(oZ$7P>9bePaOGO99DY~?A+KC- z-mr9PZ(_0`qco*pxjk{J(-z2b720ezb3uuX;|we_InI+FNlRV*h?Bv*SWI4S4un}v zz9?^bY)Xs`PKC2KNG#E26O$p??%<|$?upBF*=??Z=O0a3zA2%or)zrF-!YI6VZy1aKN#^Q>N zho*lbG9`&ZV$+_G-Q(;lDolHHrqg1Lj;r)Uxuzv^y@^Q<39iR-GD983og+!Pdc7f# zGkr>3ZE`q1HaYCi_gUf|WTxie_VRVhmI$0}{U#995sm{M1Psmu+(nVTFiG8&3NFY6 z0#d-lBW`Auh&UWFA}T#q3emX3@)?>wGE8 z8^(W`=#XZQZ^VJCzzb$w0n2^QY_AV6c`iuJ$LIU2sGt9MDY(51x|P|XznE%2NWz97{`x-sjWl?W*k(jiGvfG zDiDdSL_&N6#`n?<{w!D}jB=H_Aa-0RrKP7q%Q#T#ff)y|RTQm_5E7I@=;Q19D%Uf{ zC8OPB!tNcuieO*U0@L@RAnGN(5ofW--`}>4J-FefM7Q-&Prr^L!vqVlSbzYxi?9i!!v#fD(@+Ji>SV#- zhrj^|6jX77FNHXf^jV~GO~?b8NYf39?)r3}PJo~<{Mq1@w@`q%2GVhCca;BtyKn|< zXhe&f^^&dd{GQR2s6(}EvApiiIG-Rc&6Kv~rR66}htK`F{QgbX$ba3C?3jA{w|3`b zr)HZ(;ryT6vaLaMl&78Z<-=EJW_r@$Of2-8JihypoJ%i0FDvWHEzf;A#~$DC>sO1@ zX06G{ByTx$pz^MdO3wuHD4f|7ND{bIkzEVtS4P+LTdKKbNzU%XkR#1^2o^jl4*c@i zkC29{1%^*IPcMLXz>*_ytsO4p+`P+Gs}46yzb`8j?$VKy(qAx%uKT- zrgr|+jE#S()aTUJ$Hh8LuDF)imQ1(UeDk^*i`DCIW9Kr{?)k6De;iJ=#KUOuYS`xs zoY%c3KHl2kzvRjtxw$;X5g(h7U^S;qHTw2n{?aYOZHZ})IaB=$hUEr~U*<`x{vGMB zIH@WI1-e49IE7__@IRvQ?2sb|1@$Qf8OgCH^+F}um0fT-Y0Kv<)7!@Q<0VAPVkx~L3EgHnVH!c zsj)UT{*&!bw8WO~IKsTQ=B&usVtY;ACCk@aZ@x7F?j%!Qdzub`o>p)AYhG(JE_&ea z@~to2%nJVc`nMuE-etEA2dX6dX$S z?24eHO)}jB(9OOQdfE5G_7CJv$wDR0Q^|5=>Hqebte64SYEojbq#NTV`3J?vEy+FL zEa89kd}PpB?8F}|a{k-9_}%jC6GzBqs!*L>4#Mbv&Y~0vmY>t<^x^lPh7Ny)3d*x3 zs_eLta-xLK|A#w`4bv52eOrX}?JA-*0j;27Ag1Gi5TB44g=ctmEu!r-9mU|CVqzsq zf(9D4&=aD5m?c%PVO#);3D-sq!N=zI}Liha5PM|k0Bvc zhE$6D5LJg|Cey|;!$_e|zT*k6&1MgHpD42hX4*RBKfmVWv8g%EL9iPJojIwo-1(aP z=MLMENC zlPJHW__Pcs<(lHzEvY@WQZE{{;jq8doXPTUlwbHXIyc2-j2?T7WC7nAi#EDaa-%A-cnmns=lx&RbO@RAPk%5=Soykq1~<)B)@SZtN7-EqHFDoCGNR7m4^nhuYq9Tg)YmlhQ)6kbmT-1T^(v4)5SiTP=d47`;gJ!5Fx``YNp zd$)BP5c=8Z4a|KnnPL8=7_8`9Y zuK~nM0Zg)GW#R`jNPe9CPd0sY>O7ug0)&TeDZT%ml7|+=d>$juV8s{8ud#PO@BEBy z|H0y?`7~P46`W&C*()jdimRIQ))>^fOn&m3paOu*0Flg z(~H(Cxsd;KNqqA+P=(mDo@9pA&{4OJcXS`=KE*de6w41m zS8OY=Wq>RtCWKzuVnB~s-D?OjdSwft>=M9@P`DCd5(W=@1Il_&s}49BSbvbCiZKu7 zoMHu5XIJ?an5Gno35N*;4|X6BD2bW@l8)grnwKcjbN>ei^sP>^eOfPJ#S_D(gwGYI!YV=NrJx&muiF}3C zkd|Y$;4&VQF&&F|bTqD#=(3jA_^krX3jt|*QZdZv-x!x;ArzOHEl`|?)ybUsBt~6te+nqYz>vSY0 zOmjLN;VS->=yW)!8EDM+9dKG2PB!OHMvL9x@JIi};?MN@jd$K;N@9Me{AFUOJ=SCs zQtnJvD~s35??&as8l&hUgu_->bai}!HQF`K66^fd@>;jc%BwfZU(TB@G_IH6;do|2 z*X%X+jaS}WIrZY9C8lNPS9r@}3^h%=XFC@+ck)4Zi5*|9T+zTJxCh5)i>?z>+-ag1 zlbt4sUSUJRbbNL~VpW=Re5oT&6r${oczpaZPuS@&=ZAf;`mc*+e%c8s|B7_YS{Ob! zba!fDj-A90wXgur@8?=r)LB@(7M66d{iB8Th~KP*4Z1}<2P!?d3I5?tC^r0IDlxvsr=9`9!^0Xn{M8i6eL(Qq?p=at& zDr*RJv?G0=(rrD6Ye6iQ2LwP662wfN&*9^dj_}`n@e@lv${JnXYSOWDt5i)VvlImI}KE{+kkt zFj8u-^edxPgv{SmW>GIbvVS;&_X>?ew}17IKZiFAl#qZ^!acf6amI9&?rPWy+N-;g z5xR!ERY;K=m=WGt&CG&bnhoTpgE^rB7|mSF&0?_Vd08y{wZyXoNLwUtLO%i*>UNtOv}uKIl^putByFHc*Dy2u#9mVw>TOd@I|=&cVj` zJcv(jXJhOFb|KrrE`r;^U2HcbNiKov>K=9(yPRFYu4GrStJz+54co`|vjgl~Fv@lv zyPn+uA3+CUq5CFwnBC02&2C}0vfJ40><)Okx{KY-?qT<```CBb{p`E!0rnt!h&{}{ z#~xvivd7?V^$GSQ`#yV$JX+Fo>{S@i z{TX|m{hYnQ-ehmFx7j=F7wld39{VNx6?>oknjK{yuw(2)_7VFHtf~GEo{K(ae_(%P ze`24oPuXYebM|NU1^Wy8EBhP!JNpOwC;O6p#g4NRY@EsLB-e4qITyIdB@S*1H|o;3 ziJQ3v-hpf!h6A~iNAYOx;%*+pJ>1J;0=5xpT%eM zIeadk$LI3}d?9b-i}+%`ME5#h%9ruwd<9?0SMk++4PVRG@%6lkH}e+W%G-E5kMIsC zJ#_JIzJd4fUf#$1`2Zi}8~G3)<|BNRZ{nNz7QU5l=cIDdja$-mE^ z;!pD*@FV;g{w#lv|B(NPKhIy_FY+Jrm-tWkPx;II75*xJjsJ|l&VSC|;BWG`_}ly) z{tNyte~Tgu$p6GY;h*x)_~-o3{0sgU z{#X7t{&)Tl{!jiT|B4^yCpdIt`AIE`oLaLA^qzf5Brr;N{glr*4$QAO0e4#)9FHR^H zN`!z=DgxA_}lh7=*2(3b!&@M!T4xv-%61s&A zLXXfZ^a=gKfG{X*6o!OhVMG`eHVK=BEy7k|n{bYBu5ccdNVW@O!Ue*G!VcjgVW+T5 z*ezTvTq0a5>=7;#E*Gv4t`x2kt`_zR*9iNB{lWp^Tf()%b;9++4Z@AWLE(^alWwe&M^q1G;@uXK%~!u+%p?+})-hjslmcibZtxav+Lv6hg)HxVw88Kj~ z236H%q^2kZ_71f5h#kExoo0MY`(W2Ve`MIaX`pwsFVckeShOHjVA8^)gZhm_Z3FEQ zLo2!icVVQZQ^aprY#kWrG17%rcxiB`yMILA*3uUlY7uF9#rxiNefLNU7DCHNWXniX zSA?iQvl8Ci-9FM~#=Fk`rrt=$h*b?@$sCCcS=0xGGPJ4T4Wq*&-5py+`W8!fe>>8t z`LwW-*51+57NK5i+SJ`1888fXw~dSrMf8J_{lgD8Hz}4T@myU4VZ0sBr@34+S1muxn-!`*3p74oOm)$1Vrj|X|M%A0Kga+G=Tb{ z(zfKalco=rmo>X+Ll9+Xco4fc)>HxXc%`?~wJphX2DCE761qugy9 zM1=@NCh9g$=SATbZr_y!_{n;Newzc#|`rBKE^h4Mx4D=b=2KxFi-uk|l z&i=@Vd7{5Y2T%1QwGZGvvN;kNvEkDP2dT(5Ojv6NpfEC|R%X#2s0j|O;hQ2uAV*tz zqqOI)fuZhgL>=~;0P#(2fQu39$mZ@5z@^&p1Y`vE%9B-v_$E|7G$8auwu+d|!$z&i z!?uyG(Z1Ha4sG(Jb0~I?^HBv8dP`{+icZ&kzYDM;m$*Vq^ zl>|y=gZ9D3iEq`bCF@6lhT3{805MD&>fm-^Xn0uYYHv5T0vgbH{bFmRx7X4}-P(bU z9f_E`FpNzqbSpuc?*=6_I%rbv)FDwSa5kNW$mla-lmZ-QM2!xfnTd)44j*WZ=r<2x z&UZ;8EyF#-dSF!anW=TCJJQjHO^lf!SDhzP=g`3DAka#Gj|6}mZP&L(T7V&hw$Tv` z<=|HHV9THaKiz}kF!rxz8l9$A0BR2)ZeR$&#YcPjKrb-HPX@;`+GER!N6jA3M}8GRlZX`(O1 zJfR>asT!bewWvX*uP|?b+53mZ;ejE58ZJsUgA&5znONBfM6gDvuqLA20|1y#z<)cI zq}Bn9u|)%CN@<+{ZF(RaKLU6i!7gvm2uL5o*tY;90_T~5+q-}?M|)e1zzZ1X&WK&< zVx<|hbXnC$6;chfls5IXTab68YhW0iA2AM(c8}1A840MUMtvI=sz?MY%mA=5t(3}g zLZ8q&+TDxU(rHBIL0WfAEq$oHrN1qr?~AnebdOj%s7a`0Lj+BaU>)dE`d#cO?ubOS z4~$}lfxL!=I@5dA`5q|4BW)qSv~-3T(N#XWN0tGc7k%CGBuR1L>hY|AZH0@r~w6H(Zn`&H8Uw_or*%qB>}U#whBE%n}ybqHX@TFrc-m)soc#gzu>60&Z^YC75)QI|ID zLEM62Hqk|iK9z<#)6fpM0Z|Q<4gzojd4a~lbLUV?pS}Y$ZO@R<(%vt2l$4d&Tf0YE zf!KkK)nNc8>>aXOP7_nMNzbE$liw0tIVZhUr}$=&xdWSr4Vb1w1KsTs zCdTL%G_$*v)|TO(t%F$921bX5H;!Ua0673q8PInCE%!!5y3hhX(mf~)kJ8YF!v@;i zbZ?3Xt)rcMQ;)Pc(%m|MjYB{Fkf1DJSH2z7LB-q@7mQIqU}6pKRY`Dq6}GnzfF4k` zA6n;^m0LG~6bDtRv;@aqncoGP%W(%1qF+dDOik5 z!D3_z7E`8@V!F`V63SFUnMzPiumsfvODIPPqGQmzuQ!q?9!juDcjB%kH zVXdhR$~(#wF2j&?DDNm!8NDc@Ol6d*j9!#cHDy!{B%P7CjY3pS8RaOa9OaaQ;37zH z5hS<>5?llcE`kIXL4u25IpwIJ92Jyz$GYl1e9R}P#~ndpd17gApiv~$Ppr- z2oX?(icv?X7ZaA%cidafP%g0$hq9fkcSP3K2+z2qZ!T5+MSK5P?L9Kq6E^ zl?14g0OcTH2oW%Z2pB>H3?TxB5CKDofFVS{5F%g*5io=Z7(xULAwpjvn6|=&a+Fez zQp!q^DF+4}7s?T?KyM=lE|dd@ekAZhiUx7H2z^4|8PK^ zmVp|rg*ED&57Y$Ime-VOcXh%AYP6=-s53uMQ>MKy*X|SL)o9PP+PzM@*K79~>b+L0 zw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;yP-nt?j4-a4(` zI<4M1t=>AV-a4(`I<4M1t=>AV-a4(`I<4M1t=>AV-a4&b4Yvj~+#0CY>aEx6t=H<+ zFl<1>uz`B5-g>Rxdad4it=@XA-g>Rxdad4it=<`0KhO9-gZkGMYOgEQURS8Su2BEF zLjCIsN-365OI@Lsx + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/coderockr/static/fonts/fontawesome-webfont.ttf b/themes/coderockr/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/fontawesome-webfont.woff2 b/themes/coderockr/static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/icons.svg b/themes/coderockr/static/fonts/icons.svg new file mode 100644 index 0000000..83f103b --- /dev/null +++ b/themes/coderockr/static/fonts/icons.svg @@ -0,0 +1,18 @@ + + + +Copyright (C) 2013 by original authors @ fontello.com + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/coderockr/static/fonts/icons.ttf b/themes/coderockr/static/fonts/icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b4e5a0020b888202ad5283a355e561efdcdc0f3 GIT binary patch literal 5812 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/icons.woff b/themes/coderockr/static/fonts/icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..a6469ba82a7102ef48f2e2868c98693bf7edf6fb GIT binary patch literal 3664 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/images/avatar.png b/themes/coderockr/static/images/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..3767bfbe0cc9899e24dc070c8e6f7536f8e169fb GIT binary patch literal 32806 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 KjeJG3m;VoYoH+Xc literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/images/favicon.png b/themes/coderockr/static/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c61ba4a1306060144763cba5018c492c3cd4b1 GIT binary patch literal 329 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 e0G0F+0RJCm$yUKZnd|BR0000/g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="
",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("livecodeserver",function(e){var r={b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0},t=[e.CBCM,e.HCM,e.C("--","$"),e.C("[^:]//","$")],a=e.inherit(e.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]}),o=e.inherit(e.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:!1,k:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},c:[r,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"function",b:"\\bend\\s+",e:"$",k:"end",c:[o,a],r:0},{bK:"command on",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"meta",v:[{b:"<\\?(rev|lc|livecode)",r:10},{b:"<\\?"},{b:"\\?>"}]},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(t),i:";$|^\\[|^=|&|{"}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("clojure",function(e){var t={"builtin-name":"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",n="["+r+"]["+r+"0-9/;:]*",a="[-+]?\\d+(\\.\\d+)?",o={b:n,r:0},s={cN:"number",b:a,r:0},c=e.inherit(e.QSM,{i:null}),i=e.C(";","$",{r:0}),d={cN:"literal",b:/\b(true|false|nil)\b/},l={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+n},p=e.C("\\^\\{","\\}"),u={cN:"symbol",b:"[:]{1,2}"+n},f={b:"\\(",e:"\\)"},h={eW:!0,r:0},y={k:t,l:n,cN:"name",b:n,starts:h},b=[f,c,m,p,i,u,l,s,d,o];return f.c=[e.C("comment",""),y,h],h.c=b,l.c=b,p.c=[l],{aliases:["clj"],i:/\S/,c:[f,c,m,p,i,u,l,s,d]}});hljs.registerLanguage("vbnet",function(e){return{aliases:["vb"],cI:!0,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C("'","$",{rB:!0,c:[{cN:"doctag",b:"'''|",c:[e.PWM]},{cN:"doctag",b:"",c:[e.PWM]}]}),e.CNM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elseif end region externalsource"}}]}});hljs.registerLanguage("flix",function(e){var t={cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={cN:"string",v:[{b:'"',e:'"'}]},n={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/},c={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[n]};return{k:{literal:"true false",keyword:"case class def else enum if impl import in lat rel index let match namespace switch type yield with"},c:[e.CLCM,e.CBCM,t,i,c,e.CNM]}});hljs.registerLanguage("1c",function(s){var x="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",o="далее ",m="возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",t=o+m,l="загрузитьизфайла ",e="вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",n=l+e,a="разделительстраниц разделительстрок символтабуляции ",d="ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ",i="acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ",c="wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",r=a+d+i+c,p="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ",b="автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы ",w="виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ",h="авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ",j="использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ",z="отображениевремениэлементовпланировщика ",f="типфайлаформатированногодокумента ",k="обходрезультатазапроса типзаписизапроса ",u="видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ",y="доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ",N="типизмеренияпостроителязапроса ",g="видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ",E="wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson ",M="видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных ",_="важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения ",v="режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ",A="расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии ",C="кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip ",L="звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ",Z="направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ",$="httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений ",q="важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",B=p+b+w+h+j+z+f+k+u+y+N+g+E+M+_+v+A+C+L+Z+$+q,I="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ",P="comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив ",T=I+P,W="null истина ложь неопределено",D=s.inherit(s.NM),F={cN:"string",b:'"|\\|',e:'"|$',c:[{b:'""'}]},G={b:"'",e:"'",eB:!0,eE:!0,c:[{cN:"number",b:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},H=s.inherit(s.CLCM),J={cN:"meta",l:x,b:"#|&",e:"$",k:{"meta-keyword":t+n},c:[H]},K={cN:"symbol",b:"~",e:";|:",eE:!0},O={cN:"function",l:x,v:[{b:"процедура|функция",e:"\\)",k:"процедура функция"},{b:"конецпроцедуры|конецфункции",k:"конецпроцедуры конецфункции"}],c:[{b:"\\(",e:"\\)",endsParent:!0,c:[{cN:"params",l:x,b:x,e:",",eE:!0,eW:!0,k:{keyword:"знач",literal:W},c:[D,F,G]},H]},s.inherit(s.TM,{b:x})]};return{cI:!0,l:x,k:{keyword:t,built_in:r,"class":B,type:T,literal:W},c:[J,O,H,K,D,F,G]}});hljs.registerLanguage("capnproto",function(t){return{aliases:["capnp"],k:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},c:[t.QSM,t.NM,t.HCM,{cN:"meta",b:/@0x[\w\d]{16};/,i:/\n/},{cN:"symbol",b:/@\d+\b/},{cN:"class",bK:"struct enum",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]},{cN:"class",bK:"interface",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]}]}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[c]},{b:/(fr|rf|f)"/,e:/"/,c:[c]},e.ASM,e.QSM]},s={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",b,s,a]};return c.c=[a,s,b],{aliases:["py","gyp"],k:r,i:/(<\/|->|\?)|=>/,c:[b,s,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("fix",function(u){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:!0,rB:!1,cN:"attr"},{b:/=/,e:/([\u2401\u0001])/,eE:!0,eB:!0,cN:"string"}]}],cI:!0}});hljs.registerLanguage("thrift",function(e){var t="bool byte i16 i32 i64 double string binary";return{k:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:t,literal:"true false"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:"class",bK:"struct enum service exception",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:"\\b(set|list|map)\\s*<",e:">",k:t,c:["self"]}]}});hljs.registerLanguage("hy",function(e){var t={"builtin-name":"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~"},i="a-zA-Z_\\-!.?+*=<>&#'",a="["+i+"]["+i+"0-9/;:]*",r="[-+]?\\d+(\\.\\d+)?",o={cN:"meta",b:"^#!",e:"$"},s={b:a,r:0},n={cN:"number",b:r,r:0},l=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),d={cN:"literal",b:/\b([Tt]rue|[Ff]alse|nil|None)\b/},p={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+a},u=e.C("\\^\\{","\\}"),f={cN:"symbol",b:"[:]{1,2}"+a},h={b:"\\(",e:"\\)"},b={eW:!0,r:0},g={k:t,l:a,cN:"name",b:a,starts:b},y=[h,l,m,u,c,f,p,n,d,s];return h.c=[e.C("comment",""),g,b],b.c=y,p.c=y,{aliases:["hylang"],i:/\S/,c:[o,h,l,m,u,c,f,p,n,d]}});hljs.registerLanguage("zephir",function(e){var i={cN:"string",c:[e.BE],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["zep"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[e.BE]},{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e.CBCM,i,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,n]}});hljs.registerLanguage("vala",function(t){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},c:[{cN:"class",bK:"class interface namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[t.UTM]},t.CLCM,t.CBCM,{cN:"string",b:'"""',e:'"""',r:5},t.ASM,t.QSM,t.CNM,{cN:"meta",b:"^#",e:"$",r:2}]}});hljs.registerLanguage("maxima",function(e){var t="if then else elseif for thru do while unless step in and or not",a="true false unknown inf minf ind und %e %i %pi %phi %gamma",r=" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest",i="_ __ %|0 %%|0";return{l:"[A-Za-z_%][0-9A-Za-z_%]*",k:{keyword:t,literal:a,built_in:r,symbol:i},c:[{cN:"comment",b:"/\\*",e:"\\*/",c:["self"]},e.QSM,{cN:"number",r:0,v:[{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",r:10},{b:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{b:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],i:/@/}});hljs.registerLanguage("profile",function(e){return{c:[e.CNM,{b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{b:"function calls",e:"$",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:"string",b:"\\(",e:"\\)$",eB:!0,eE:!0,r:0}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("lisp",function(b){var e="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"meta",b:"^#!",e:"$"},l={cN:"literal",b:"\\b(t{1}|nil)\\b"},n={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},i=b.inherit(b.QSM,{i:null}),t=b.C(";","$",{r:0}),s={b:"\\*",e:"\\*"},u={cN:"symbol",b:"[:&]"+e},d={b:e,r:0},f={b:c},m={b:"\\(",e:"\\)",c:["self",l,i,n,d]},o={c:[n,i,s,u,m,d],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:{name:"quote"}},{b:"'"+c}]},v={v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},N={b:"\\(\\s*",e:"\\)"},A={eW:!0,r:0};return N.c=[{cN:"name",v:[{b:e},{b:c}]},A],A.c=[o,v,N,l,n,i,t,s,u,f,d],{i:/\S/,c:[n,a,l,i,t,o,v,N,d]}});hljs.registerLanguage("irpf90",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"};return{cI:!0,k:n,i:/\/\*/,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),e.C("begin_doc","end_doc",{r:10}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("xl",function(e){var t="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",o={keyword:"if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree",literal:"true false nil",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons "+t},a={cN:"string",b:'"',e:'"',i:"\\n"},r={cN:"string",b:"'",e:"'",i:"\\n"},i={cN:"string",b:"<<",e:">>"},l={cN:"number",b:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},n={bK:"import",e:"$",k:o,c:[a]},s={cN:"function",b:/[a-z][^\n]*->/,rB:!0,e:/->/,c:[e.inherit(e.TM,{starts:{eW:!0,k:o}})]};return{aliases:["tao"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:o,c:[e.CLCM,e.CBCM,a,r,i,s,n,l,e.NM]}});hljs.registerLanguage("mel",function(e){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("groovy",function(e){return{k:{literal:"true false null",keyword:"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"symbol",b:"^\\s*[A-Za-z0-9_$]+:",r:0}],i:/#|<\//}});hljs.registerLanguage("rust",function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",r="alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default",n="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],k:{keyword:r,literal:"true false Some None Ok Err",built_in:n},l:e.IR+"!?",i:""}]}});hljs.registerLanguage("puppet",function(e){var s={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},r=e.C("#","$"),a="([A-Za-z_]|::)(\\w|::)*",i=e.inherit(e.TM,{b:a}),o={cN:"variable",b:"\\$"+a},t={cN:"string",c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]};return{aliases:["pp"],c:[r,o,t,{bK:"class",e:"\\{|;",i:/=/,c:[i,r]},{bK:"define",e:/\{/,c:[{cN:"section",b:e.IR,endsParent:!0}]},{b:e.IR+"\\s+\\{",rB:!0,e:/\S/,c:[{cN:"keyword",b:e.IR},{b:/\{/,e:/\}/,k:s,r:0,c:[t,r,{b:"[a-zA-Z_]+\\s*=>",rB:!0,e:"=>",c:[{cN:"attr",b:e.IR}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},o]}],r:0}]}});hljs.registerLanguage("fsharp",function(e){var t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",i:/\/\*/,c:[{cN:"keyword",b:/\b(yield|return|let|do)!/},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"meta",b:"\\[<",e:">\\]",r:10},{cN:"symbol",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}});hljs.registerLanguage("gauss",function(e){var t={keyword:"and bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new not open or output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint",built_in:"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname threadBegin threadEnd threadEndFor threadFor threadJoin threadStat time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin strtrim sylvester",literal:"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS"},a={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[{cN:"meta-string",b:'"',e:'"',i:"\\n"}]},e.CLCM,e.CBCM]},r=e.UIR+"\\s*\\(?",o=[{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.CNM,e.CLCM,e.CBCM]}];return{aliases:["gss"],cI:!0,k:t,i:"(\\{[%#]|[%#]\\})",c:[e.CNM,e.CLCM,e.CBCM,e.C("@","@"),a,{cN:"string",b:'"',e:'"',c:[e.BE]},{cN:"function",bK:"proc keyword",e:";",eE:!0,k:t,c:[{b:r,rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM,a].concat(o)},{cN:"function",bK:"fn",e:";",eE:!0,k:t,c:[{b:r+e.IR+"\\)?\\s*\\=\\s*",rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM].concat(o)},{cN:"function",b:"\\bexternal (proc|keyword|fn)\\s+",e:";",eE:!0,k:t,c:[{b:r,rB:!0,c:[e.UTM],r:0},e.CLCM,e.CBCM]},{cN:"function",b:"\\bexternal (matrix|string|array|sparse matrix|struct "+e.IR+")\\s+",e:";",eE:!0,k:t,c:[e.CLCM,e.CBCM]}]}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("autohotkey",function(e){var r={b:"`[\\s\\S]"};return{cI:!0,aliases:["ahk"],k:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"A|0 true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},c:[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},r,e.inherit(e.QSM,{c:[r]}),e.C(";","$",{r:0}),e.CBCM,{cN:"number",b:e.NR,r:0},{cN:"subst",b:"%(?=[a-zA-Z0-9#_$@])",e:"%",i:"[^a-zA-Z0-9#_$@]"},{cN:"built_in",b:"^\\s*\\w+\\s*,"},{cN:"meta",b:"^\\s*#w+",e:"$",r:0},{cN:"symbol",c:[r],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,"}]}});hljs.registerLanguage("openscad",function(e){var r={cN:"keyword",b:"\\$(f[asn]|t|vp[rtd]|children)"},n={cN:"literal",b:"false|true|PI|undef"},o={cN:"number",b:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",r:0},i=e.inherit(e.QSM,{i:null}),t={cN:"meta",k:{"meta-keyword":"include use"},b:"include|use <",e:">"},s={cN:"params",b:"\\(",e:"\\)",c:["self",o,i,r,n]},c={b:"[*!#%]",r:0},a={cN:"function",bK:"module function",e:"\\=|\\{",c:[s,e.UTM]};return{aliases:["scad"],k:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},c:[e.CLCM,e.CBCM,o,t,i,r,c,a]}});hljs.registerLanguage("smali",function(t){var s=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],e=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],r=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],c:[{cN:"string",b:'"',e:'"',r:0},t.C("#","$",{r:0}),{cN:"keyword",v:[{b:"\\s*\\.end\\s[a-zA-Z0-9]*"},{b:"^[ ]*\\.[a-zA-Z]*",r:0},{b:"\\s:[a-zA-Z_0-9]*",r:0},{b:"\\s("+r.join("|")+")"}]},{cN:"built_in",v:[{b:"\\s("+s.join("|")+")\\s"},{b:"\\s("+s.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",r:10},{b:"\\s("+e.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",r:10}]},{cN:"class",b:"L[^(;:\n]*;",r:0},{b:"[vp][0-9]+"}]}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],s=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},b=function(e,r,t){return{cN:e,b:r,r:t}},n={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,s("'"),s('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},b("number","#[0-9A-Fa-f]+\\b"),n,b("variable","@@?"+r,10),b("variable","@{"+r+"}"),b("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var i=c.concat({b:"{",e:"}",c:a}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},u={b:t+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:t,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:c}}]},l={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},C={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:i}},p={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:t,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,o,b("keyword","all\\b"),b("variable","@{"+r+"}"),b("selector-tag",t+"%?",0),b("selector-id","#"+t),b("selector-class","\\."+t,0),b("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:i},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,l,C,u,p),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U)?L?"',e:'"',i:"\\n",c:[t.BE]},{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("sqf",function(e){var t=e.getLanguage("cpp").exports,a={cN:"variable",b:/\b_+[a-zA-Z_]\w*/},o={cN:"title",b:/[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/},r={cN:"string",v:[{b:'"',e:'"',c:[{b:'""',r:0}]},{b:"'",e:"'",c:[{b:"''",r:0}]}]};return{aliases:["sqf"],cI:!0,k:{keyword:"case catch default do else exit exitWith for forEach from if switch then throw to try waitUntil while with",built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem addWeaponPool addWeaponTurret agent agents AGLToASL aimedAtTarget aimPos airDensityRTD airportSide AISFinishHeal alive all3DENEntities allControls allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSites allTurrets allUnits allUnitsUAV allVariables ammo and animate animateDoor animateSource animationNames animationPhase animationSourcePhase animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular blufor boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend canUnloadInCombat canVehicleCargo captive captiveNum cbChecked cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility civilian className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configHierarchy configName configNull configProperties configSourceAddonList configSourceMod configSourceModList connectTerminalToUAV controlNull controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlType ctrlVisible curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts diag_captureFrame diag_captureSlowFrame diag_codePerformance diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayNull displayParent displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle driver drop east echo edit3DENMissionAttributes editObject editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature enableAimPrecision enableAttack enableAudioFeature enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableStamina enableTeamSwitch enableUAVConnectability enableUAVWaypoints enableVehicleCargo endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagOwner flagSide flagTexture fleeing floor flyInHeight flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllHitPointsDamage getAllOwnedMines getAmmoCargo getAnimAimPrecision getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState getClientStateNumber getConnectedUAV getCustomAimingCoef getDammage getDescription getDir getDirVisual getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFatigue getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs getMissionLayerEntities getModelInfo getMousePosition getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getRelDir getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents getSlingLoad getSpeed getStamina getStatValue getSuppression getTerrainHeightASL getText getUnitLoadout getUnitTrait getVariable getVehicleCargo getWeaponCargo getWeaponSway getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId groupOwner groupRadio groupSelectedUnits groupSelectUnit grpNull gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups importance in inArea inAreaArray incapacitatedState independent inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDedicated isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isVehicleCargo isWalking isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineBreak lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith linkItem list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationNull locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual modParams moonIntensity moonPhase morale move move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberToDate objectCurators objectFromNetId objectParent objNull objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openDLCPage openMap openYoutubeVideo opfor or orderGetIn overcast overcastForecast owner param params parseNumber parseText parsingNamespace particlesQuality pi pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority private processDiaryLink productVersion profileName profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl remoteExec remoteExecCall remove3DENConnection remove3DENEventHandler remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponGlobal removeWeaponTurret requiredVersion resetCamShake resetSubgroupDirection resistance resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scriptNull scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer set3DENLinesVisible set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setAirportSide setAmmo setAmmoCargo setAnimSpeedCoef setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDetailMapBlendPars setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setFace setFaceAnimation setFatigue setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect setPitch setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setShadowDistance setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits setTargetAge setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat setUserActionText setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side sideAmbientLife sideChat sideEmpty sideEnemy sideFriendly sideLogic sideRadio sideUnknown simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan targetKnowledge targetsAggregate targetsQuery taskAlwaysVisible taskChildren taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskNull taskParent taskResult taskState taskType teamMember teamMemberNull teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text textLog textLogFormat tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent useAudioTimeForMoves vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUp vectorUpVisual vehicle vehicleCargoEnabled vehicleChat vehicleRadio vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD west WFSideText wind",literal:"true false nil"},c:[e.CLCM,e.CBCM,e.NM,a,o,r,t.preprocessor],i:/#/}});hljs.registerLanguage("hsp",function(e){return{cI:!0,l:/[\w\._]+/,k:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,{cN:"string",b:'{"',e:'"}',c:[e.BE]},e.C(";","$",{r:0}),{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib"},c:[e.inherit(e.QSM,{cN:"meta-string"}),e.NM,e.CNM,e.CLCM,e.CBCM]},{cN:"symbol",b:"^\\*(\\w+|@)"},e.NM,e.CNM]}});hljs.registerLanguage("subunit",function(s){var r={cN:"string",b:"\\[\n(multipart)?",e:"\\]\n"},t={cN:"string",b:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},e={cN:"string",b:"(\\+|-)\\d+"},c={cN:"keyword",r:10,v:[{b:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{b:"^progress(:?)(\\s+)?(pop|push)?"},{b:"^tags:"},{b:"^time:"}]};return{cI:!0,c:[r,t,e,c]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("inform7",function(e){var r="\\[",o="\\]";return{aliases:["i7"],cI:!0,k:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},c:[{cN:"string",b:'"',e:'"',r:0,c:[{cN:"subst",b:r,e:o}]},{cN:"section",b:/^(Volume|Book|Part|Chapter|Section|Table)\b/,e:"$"},{b:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,e:":",c:[{b:"\\(This",e:"\\)"}]},{cN:"comment",b:r,e:o,c:["self"]}]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("prolog",function(c){var b={b:/[a-z][A-Za-z0-9_]*/,r:0},r={cN:"symbol",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},e={b:/\(/,e:/\)/,r:0},n={b:/\[/,e:/\]/},a={cN:"comment",b:/%/,e:/$/,c:[c.PWM]},t={cN:"string",b:/`/,e:/`/,c:[c.BE]},g={cN:"string",b:/0\'(\\\'|.)/},s={cN:"string",b:/0\'\\s/},o={b:/:-/},N=[b,r,e,o,n,a,c.CBCM,c.QSM,c.ASM,t,g,s,c.CNM];return e.c=N,n.c=N,{c:N.concat([{b:/\.$/}])}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) .+?( \\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"/,starts:{e:/$/,sL:"clojure"}}]}});hljs.registerLanguage("nimrod",function(t){return{aliases:["nim"],k:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},c:[{cN:"meta",b:/{\./,e:/\.}/,r:10},{cN:"string",b:/[a-zA-Z]\w*"/,e:/"/,c:[{b:/""/}]},{cN:"string",b:/([a-zA-Z]\w*)?"""/,e:/"""/},t.QSM,{cN:"type",b:/\b[A-Z]\w+\b/,r:0},{cN:"number",r:0,v:[{b:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{b:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{b:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{b:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},t.HCM]}});hljs.registerLanguage("excel",function(E){return{aliases:["xlsx","xls"],cI:!0,l:/[a-zA-Z][\w\.]*/,k:{built_in:"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST"},c:[{b:/^=/,e:/[^=]/,rE:!0,i:/=/,r:10},{cN:"symbol",b:/\b[A-Z]{1,2}\d+\b/,e:/[^\d]/,eE:!0,r:0},{cN:"symbol",b:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,r:0},E.BE,E.QSM,{cN:"number",b:E.NR+"(%)?",r:0},E.C(/\bN\(/,/\)/,{eB:!0,eE:!0,i:/\n/})]}});hljs.registerLanguage("moonscript",function(e){var t={keyword:"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using",literal:"true false nil",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},r="[A-Za-z$_][0-9A-Za-z$_]*",s={cN:"subst",b:/#\{/,e:/}/,k:t},a=[e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'/,e:/'/,c:[e.BE]},{b:/"/,e:/"/,c:[e.BE,s]}]},{cN:"built_in",b:"@__"+e.IR},{b:"@"+e.IR},{b:e.IR+"\\\\"+e.IR}];s.c=a;var c=e.inherit(e.TM,{b:r}),n="(\\(.*\\))?\\s*\\B[-=]>",i={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(a)}]};return{aliases:["moon"],k:t,i:/\/\*/,c:a.concat([e.C("--","$"),{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+n,e:"[-=]>",rB:!0,c:[c,i]},{b:/[\(,:=]\s*/,r:0,c:[{cN:"function",b:n,e:"[-=]>",rB:!0,c:[i]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[c]},c]},{cN:"name",b:r+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("llvm",function(e){var n="([-a-zA-Z$._][\\w\\-$.]*)";return{k:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",c:[{cN:"keyword",b:"i\\d+"},e.C(";","\\n",{r:0}),e.QSM,{cN:"string",v:[{b:'"',e:'[^\\\\]"'}],r:0},{cN:"title",v:[{b:"@"+n},{b:"@\\d+"},{b:"!"+n},{b:"!\\d+"+n}]},{cN:"symbol",v:[{b:"%"+n},{b:"%\\d+"},{b:"#\\d+"}]},{cN:"number",v:[{b:"0[xX][a-fA-F0-9]+"},{b:"-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?"}],r:0}]}});hljs.registerLanguage("brainfuck",function(r){var n={cN:"literal",b:"[\\+\\-]",r:0};return{aliases:["bf"],c:[r.C("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{rE:!0,r:0}),{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:!0,c:[n]},n]}});hljs.registerLanguage("handlebars",function(e){var a={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.-]+/,k:a,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:"template-variable",b:/\{\{/,e:/\}\}/,k:a}]}});hljs.registerLanguage("haskell",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},a={cN:"meta",b:"{-#",e:"#-}"},l={cN:"meta",b:"^#",e:"$"},c={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n={b:"\\(",e:"\\)",i:'"',c:[a,l,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),i]},s={b:"{",e:"}",c:n.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{bK:"module",e:"where",k:"module where",c:[n,i],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import qualified as hiding",c:[n,i],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[c,n,i]},{cN:"class",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[a,c,n,s,i]},{bK:"default",e:"$",c:[c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[c,e.QSM,i]},{cN:"meta",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},a,l,e.QSM,e.CNM,c,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}]}});hljs.registerLanguage("gradle",function(e){return{cI:!0,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}});hljs.registerLanguage("livescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},s="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",n=e.inherit(e.TM,{b:s}),i={cN:"subst",b:/#\{/,e:/}/,k:t},r={cN:"subst",b:/#[A-Za-z$_]/,e:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},c=[e.BNM,{cN:"number",b:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",r:0,starts:{e:"(\\s*/)?",r:0}},{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,i,r]},{b:/"/,e:/"/,c:[e.BE,i,r]},{b:/\\/,e:/(\s|$)/,eE:!0}]},{cN:"regexp",v:[{b:"//",e:"//[gim]*",c:[i,e.HCM]},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+s},{b:"``",e:"``",eB:!0,eE:!0,sL:"javascript"}];i.c=c;var a={cN:"params",b:"\\(",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(c)}]};return{aliases:["ls"],k:t,i:/\/\*/,c:c.concat([e.C("\\/\\*","\\*\\/"),e.HCM,{cN:"function",c:[n,a],rB:!0,v:[{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",e:"\\->\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",e:"[-~]{1,2}>\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",e:"!?[-~]{1,2}>\\*?"}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[n]},n]},{b:s+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("d",function(e){var t={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},r="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",i="0[bB][01_]+",n="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",_="0[xX]"+n,c="([eE][+-]?"+a+")",d="("+a+"(\\.\\d*|"+c+")|\\d+\\."+a+a+"|\\."+r+c+"?)",o="(0[xX]("+n+"\\."+n+"|\\.?"+n+")[pP][+-]?"+a+")",s="("+r+"|"+i+"|"+_+")",l="("+o+"|"+d+")",u="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",b={cN:"number",b:"\\b"+s+"(L|u|U|Lu|LU|uL|UL)?",r:0},f={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+s+"(i|[fF]i|Li))",r:0},g={cN:"string",b:"'("+u+"|.)",e:"'",i:"."},h={b:u,r:0},p={cN:"string",b:'"',c:[h],e:'"[cwd]?'},m={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},w={cN:"string",b:"`",e:"`[cwd]?"},N={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},A={cN:"string",b:'q"\\{',e:'\\}"'},F={cN:"meta",b:"^#!",e:"$",r:5},y={cN:"meta",b:"#(line)",e:"$",r:5},L={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},v=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,v,N,p,m,w,A,f,b,g,F,y,L]}});hljs.registerLanguage("fortran",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{cI:!0,aliases:["f90","f95"],k:n,i:/\/\*/,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("ceylon",function(e){var a="assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",t="shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",s="doc by license see throws tagged",n={cN:"subst",eB:!0,eE:!0,b:/``/,e:/``/,k:a,r:10},r=[{cN:"string",b:'"""',e:'"""',r:10},{cN:"string",b:'"',e:'"',c:[n]},{cN:"string",b:"'",e:"'"},{cN:"number",b:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",r:0}];return n.c=r,{k:{keyword:a+" "+t,meta:s},i:"\\$[^01]|#[^0-9a-fA-F]",c:[e.CLCM,e.C("/\\*","\\*/",{c:["self"]}),{cN:"meta",b:'@[a-z]\\w*(?:\\:"[^"]*")?'}].concat(r)}});hljs.registerLanguage("gcode",function(N){var e="[A-Z_][A-Z0-9_.]*",c="\\%",E="IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR",i={cN:"meta",b:"([O])([0-9]+)"},n=[N.CLCM,N.CBCM,N.C(/\(/,/\)/),N.inherit(N.CNM,{b:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+N.CNR}),N.inherit(N.ASM,{i:null}),N.inherit(N.QSM,{i:null}),{cN:"name",b:"([G])([0-9]+\\.?[0-9]?)"},{cN:"name",b:"([M])([0-9]+\\.?[0-9]?)"},{cN:"attr",b:"(VC|VS|#)",e:"(\\d+)"},{cN:"attr",b:"(VZOFX|VZOFY|VZOFZ)"},{cN:"built_in",b:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",e:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{cN:"symbol",v:[{b:"N",e:"\\d+",i:"\\W"}]}];return{aliases:["nc"],cI:!0,l:e,k:E,c:[{cN:"meta",b:c},i].concat(n)}});hljs.registerLanguage("roboconf",function(a){var e="[a-zA-Z-_][^\\n{]+\\{",n={cN:"attribute",b:/[a-zA-Z-_]+/,e:/\s*:/,eE:!0,starts:{e:";",r:0,c:[{cN:"variable",b:/\.[a-zA-Z-_]+/},{cN:"keyword",b:/\(optional\)/}]}};return{aliases:["graph","instances"],cI:!0,k:"import",c:[{b:"^facet "+e,e:"}",k:"facet",c:[n,a.HCM]},{b:"^\\s*instance of "+e,e:"}",k:"name count channels instance-data instance-state instance of",i:/\S/,c:["self",n,a.HCM]},{b:"^"+e,e:"}",c:[n,a.HCM]},a.HCM]}});hljs.registerLanguage("scheme",function(e){var t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",a=r+"[+\\-]"+r+"i",i={"builtin-name":"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},n={cN:"meta",b:"^#!",e:"$"},c={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},l={cN:"number",v:[{b:r,r:0},{b:a,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},s=e.QSM,o=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],u={b:t,r:0},p={cN:"symbol",b:"'"+t},d={eW:!0,r:0},m={v:[{b:/'/},{b:"`"}],c:[{b:"\\(",e:"\\)",c:["self",c,s,l,u,p]}]},g={cN:"name",b:t,l:t,k:i},h={b:/lambda/,eW:!0,rB:!0,c:[g,{b:/\(/,e:/\)/,endsParent:!0,c:[u]}]},b={v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[h,g,d]};return d.c=[c,l,s,u,p,m,b].concat(o),{i:/\S/,c:[n,l,s,p,m,b].concat(o)}});hljs.registerLanguage("twig",function(e){var t={cN:"params",b:"\\(",e:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={bK:a,k:{name:a},r:0,c:[t]},c={b:/\|[A-Za-z_]+:?/,k:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",c:[r]},s="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return s=s+" "+s.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],cI:!0,sL:"xml",c:[e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:s,starts:{eW:!0,c:[c,r],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:["self",c,r]}]}});hljs.registerLanguage("haxe",function(e){var t="Int Float String Bool Dynamic Void Array ";return{aliases:["hx"],k:{keyword:"break case cast catch continue default do dynamic else enum extern for function here if import in inline never new override package private get set public return static super switch this throw trace try typedef untyped using var while "+t,built_in:"trace this",literal:"true false null _"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"},{cN:"subst",b:"\\$",e:"\\W}"}]},e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"meta",b:"@:",e:"$"},{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elseif end error"}},{cN:"type",b:":[ ]*",e:"[^A-Za-z0-9_ \\->]",eB:!0,eE:!0,r:0},{cN:"type",b:":[ ]*",e:"\\W",eB:!0,eE:!0},{cN:"type",b:"new *",e:"\\W",eB:!0,eE:!0},{cN:"class",bK:"enum",e:"\\{",c:[e.TM]},{cN:"class",bK:"abstract",e:"[\\{$]",c:[{cN:"type",b:"\\(",e:"\\)",eB:!0,eE:!0},{cN:"type",b:"from +",e:"\\W",eB:!0,eE:!0},{cN:"type",b:"to +",e:"\\W",eB:!0,eE:!0},e.TM],k:{keyword:"abstract from to"}},{cN:"class",b:"\\b(class|interface) +",e:"[\\{$]",eE:!0,k:"class interface",c:[{cN:"keyword",b:"\\b(extends|implements) +",k:"extends implements",c:[{cN:"type",b:e.IR,r:0}]},e.TM]},{cN:"function",bK:"function",e:"\\(",eE:!0,i:"\\S",c:[e.TM]}],i:/<\//}});hljs.registerLanguage("gherkin",function(e){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"symbol",b:"\\*",r:0},{cN:"meta",b:"@[^@\\s]+"},{b:"\\|",e:"\\|\\w*$",c:[{cN:"string",b:"[^|]+"}]},{cN:"variable",b:"<",e:">"},e.HCM,{cN:"string",b:'"""',e:'"""'},e.QSM]}});hljs.registerLanguage("coq",function(e){return{k:{keyword:"_ as at cofix else end exists exists2 fix for forall fun if IF in let match mod Prop return Set then Type using where with Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture Conjectures Constant constr Constraint Constructors Context Corollary CreateHintDb Cut Declare Defined Definition Delimit Dependencies DependentDerive Drop eauto End Equality Eval Example Existential Existentials Existing Export exporting Extern Extract Extraction Fact Field Fields File Fixpoint Focus for From Function Functional Generalizable Global Goal Grab Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident Identity If Immediate Implicit Import Include Inductive Infix Info Initial Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation Obligations Opaque Open Optimize Options Parameter Parameters Parametric Path Paths pattern Polymorphic Preterm Print Printing Program Projections Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused Unfold Universe Universes Unset Unshelve using Variable Variables Variant Verbose Visibility where with",built_in:"abstract absurd admit after apply as assert assumption at auto autorewrite autounfold before bottom btauto by case case_eq cbn cbv change classical_left classical_right clear clearbody cofix compare compute congruence constr_eq constructor contradict contradiction cut cutrewrite cycle decide decompose dependent destruct destruction dintuition discriminate discrR do double dtauto eapply eassumption eauto ecase econstructor edestruct ediscriminate eelim eexact eexists einduction einjection eleft elim elimtype enough equality erewrite eright esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail field field_simplify field_simplify_eq first firstorder fix fold fourier functional generalize generalizing gfail give_up has_evar hnf idtac in induction injection instantiate intro intro_pattern intros intuition inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert revgoals rewrite rewrite_strat right ring ring_simplify rtauto set setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve specialize split split_Rabs split_Rmult stepl stepr subst sum swap symmetry tactic tauto time timeout top transitivity trivial try tryif unfold unify until using vm_compute with"},c:[e.QSM,e.C("\\(\\*","\\*\\)"),e.CNM,{cN:"type",eB:!0,b:"\\|\\s*",e:"\\w+"},{b:/[-=]>/}]}});hljs.registerLanguage("elixir",function(e){var r="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",c={cN:"subst",b:"#\\{",e:"}",l:r,k:b},a={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},i={cN:"function",bK:"def defp defmacro",e:/\B\b/,c:[e.inherit(e.TM,{b:r,endsParent:!0})]},l=e.inherit(i,{cN:"class",bK:"defimpl defmodule defprotocol defrecord",e:/\bdo\b|$|;/}),s=[a,e.HCM,l,i,{cN:"symbol",b:":(?!\\s)",c:[a,{b:n}],r:0},{cN:"symbol",b:r+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];return c.c=s,{l:r,k:b,c:s}});hljs.registerLanguage("awk",function(e){var r={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},b="BEGIN END if else while do for in break continue delete next nextfile function func exit|10",n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?"""/,e:/"""/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]};return{k:{keyword:b},c:[r,n,e.RM,e.HCM,e.NM]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("mojolicious",function(e){return{sL:"xml",c:[{cN:"meta",b:"^__(END|DATA)__$"},{b:"^\\s*%{1,2}={0,2}",e:"$",sL:"perl"},{b:"<%{1,2}={0,2}",e:"={0,1}%>",sL:"perl",eB:!0,eE:!0}]}});hljs.registerLanguage("vbscript",function(e){return{aliases:["vbs"],cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("lsl",function(E){var T={cN:"subst",b:/\\[tn"\\]/},e={cN:"string",b:'"',e:'"',c:[T]},A={cN:"number",b:E.CNR},R={cN:"literal",v:[{b:"\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b"},{b:"\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b"},{b:"\\b(?:FALSE|TRUE)\\b"},{b:"\\b(?:ZERO_ROTATION)\\b"},{b:"\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\b"},{b:"\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\b"}]},O={cN:"built_in",b:"\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b"};return{i:":",c:[e,{cN:"comment",v:[E.C("//","$"),E.C("/\\*","\\*/")]},A,{cN:"section",v:[{b:"\\b(?:state|default)\\b"},{b:"\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\b"}]},O,R,{cN:"type",b:"\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("cos",function(e){var t={cN:"string",v:[{b:'"',e:'"',c:[{b:'""',r:0}]}]},r={cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",r:0},s="property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii";return{cI:!0,aliases:["cos","cls"],k:s,c:[r,t,e.CLCM,e.CBCM,{cN:"comment",b:/;/,e:"$",r:0},{cN:"built_in",b:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{cN:"built_in",b:/\$\$\$[a-zA-Z]+/},{cN:"built_in",b:/%[a-z]+(?:\.[a-z]+)*/},{cN:"symbol",b:/\^%?[a-zA-Z][\w]*/},{cN:"keyword",b:/##class|##super|#define|#dim/},{b:/&sql\(/,e:/\)/,eB:!0,eE:!0,sL:"sql"},{b:/&(js|jscript|javascript)/,eB:!0,eE:!0,sL:"javascript"},{b:/&html<\s*\s*>/,sL:"xml"}]}});hljs.registerLanguage("oxygene",function(e){var r="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",t=e.C("{","}",{r:0}),a=e.C("\\(\\*","\\*\\)",{r:10}),n={cN:"string",b:"'",e:"'",c:[{b:"''"}]},o={cN:"string",b:"(#\\d+)+"},i={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",k:r,c:[n,o]},t,a]};return{cI:!0,l:/\.?\w+/,k:r,i:'("|\\$[G-Zg-z]|\\/\\*||->)',c:[t,a,e.CLCM,n,o,e.NM,i,{cN:"class",b:"=\\bclass\\b",e:"end;",k:r,c:[n,o,t,a,e.CLCM,i]}]}});hljs.registerLanguage("leaf",function(e){return{c:[{cN:"function",b:"#+[A-Za-z_0-9]*\\(",e:" {",rB:!0,eE:!0,c:[{cN:"keyword",b:"#+"},{cN:"title",b:"[A-Za-z_][A-Za-z_0-9]*"},{cN:"params",b:"\\(",e:"\\)",endsParent:!0,c:[{cN:"string",b:'"',e:'"'},{cN:"variable",b:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]}});hljs.registerLanguage("dart",function(e){var t={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"},r={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[e.BE,t]},{b:'"""',e:'"""',c:[e.BE,t]},{b:"'",e:"'",i:"\\n",c:[e.BE,t]},{b:'"',e:'"',i:"\\n",c:[e.BE,t]}]};t.c=[e.CNM,r];var n={keyword:"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:n,c:[r,e.C("/\\*\\*","\\*/",{sL:"markdown"}),e.C("///","$",{sL:"markdown"}),e.CLCM,e.CBCM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{b:"=>"}]}});hljs.registerLanguage("tex",function(c){var e={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[e,{cN:"formula",c:[e],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},c.C("%","$",{r:0})]}});hljs.registerLanguage("smalltalk",function(e){var s="[a-z][a-zA-Z0-9_]*",a={cN:"string",b:"\\$.{1}"},r={cN:"symbol",b:"#"+e.UIR};return{aliases:["st"],k:"self super nil true false thisContext",c:[e.C('"','"'),e.ASM,{cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{b:s+":",r:0},e.CNM,r,a,{b:"\\|[ ]*"+s+"([ ]+"+s+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+s}]},{b:"\\#\\(",e:"\\)",c:[e.ASM,a,e.CNM,r]}]}});hljs.registerLanguage("armasm",function(s){return{cI:!0,aliases:["arm"],l:"\\.?"+s.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},c:[{cN:"keyword",b:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",e:"\\s"},s.C("[;@]","$",{r:0}),s.CBCM,s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"[#$=]?0x[0-9a-f]+"},{b:"[#$=]?0b[01]+"},{b:"[#$=]\\d+"},{b:"\\b\\d+"}],r:0},{cN:"symbol",v:[{b:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"[=#]\\w+"}],r:0}]}});hljs.registerLanguage("rib",function(e){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:"",c:[e.TM,{b:/\(/,e:/\)/,c:[n,s,e.CNM,e.CBCM]},{b:/:/,eW:!0,c:[n]},e.CLCM]};return{k:r,c:[a,o,n,t,c,i,s,e.CNM,e.CLCM,e.CBCM]}});hljs.registerLanguage("glsl",function(e){return{k:{keyword:"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly",type:"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBufferiimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow",literal:"true false"},i:'"',c:[e.CLCM,e.CBCM,e.CNM,{cN:"meta",b:"#",e:"$"}]}});hljs.registerLanguage("julia",function(e){var r={keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",a={l:t,k:r,i:/<\//},n={cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},o={cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={cN:"subst",b:/\$\(/,e:/\)/,k:r},l={cN:"variable",b:"\\$"+t},c={cN:"string",c:[e.BE,i,l],v:[{b:/\w*"""/,e:/"""\w*/,r:10},{b:/\w*"/,e:/"\w*/}]},s={cN:"string",c:[e.BE,i,l],b:"`",e:"`"},d={cN:"meta",b:"@"+t},u={cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]};return a.c=[n,o,c,s,d,u,e.HCM,{cN:"keyword",b:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{b:/<:/}],i.c=a.c,a});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:_,l:i,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:i,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("qml",function(r){var e={keyword:"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise"},t="[a-zA-Z_][a-zA-Z0-9\\._]*",a={cN:"keyword",b:"\\bproperty\\b",starts:{cN:"string",e:"(:|=|;|,|//|/\\*|$)",rE:!0}},n={cN:"keyword",b:"\\bsignal\\b",starts:{cN:"string",e:"(\\(|:|=|;|,|//|/\\*|$)",rE:!0}},o={cN:"attribute",b:"\\bid\\s*:",starts:{cN:"string",e:t,rE:!1}},i={b:t+"\\s*:",rB:!0,c:[{cN:"attribute",b:t,e:"\\s*:",eE:!0,r:0}],r:0},c={b:t+"\\s*{",e:"{",rB:!0,r:0,c:[r.inherit(r.TM,{b:t})]};return{aliases:["qt"],cI:!1,k:e,c:[{cN:"meta",b:/^\s*['"]use (strict|asm)['"]/},r.ASM,r.QSM,{cN:"string",b:"`",e:"`",c:[r.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},r.CLCM,r.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:r.CNR}],r:0},{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/\s*[);\]]/,r:0,sL:"xml"}],r:0},n,a,{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[r.CLCM,r.CBCM]}],i:/\[|%/},{b:"\\."+r.IR,r:0},o,i,c],i:/#/}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber", +c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("autoit",function(e){var t="ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",r="True False And Null Not Or",i="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait",l={v:[e.C(";","$",{r:0}),e.C("#cs","#ce"),e.C("#comments-start","#comments-end")]},n={b:"\\$[A-z0-9_]+"},o={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},a={v:[e.BNM,e.CNM]},S={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin"},c:[{b:/\\\n/,r:0},{bK:"include",k:{"meta-keyword":"include"},e:"$",c:[o,{cN:"meta-string",v:[{b:"<",e:">"},{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]}]},o,l]},C={cN:"symbol",b:"@[A-z0-9_]+"},s={cN:"function",bK:"Func",e:"$",i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:[n,o,a]}]};return{cI:!0,i:/\/\*/,k:{keyword:t,built_in:i,literal:r},c:[l,n,o,a,S,C,s]}});hljs.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},i=e.C("--","$"),o=e.C("\\(\\*","\\*\\)",{c:["self",i]}),n=[i,o,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"built_in",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"literal",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(n),i:"//|->|=>|\\[\\["}});hljs.registerLanguage("n1ql",function(e){return{cI:!0,c:[{bK:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",e:/;/,eW:!0,k:{keyword:"all alter analyze and any array as asc begin between binary boolean break bucket build by call case cast cluster collate collection commit connect continue correlate cover create database dataset datastore declare decrement delete derived desc describe distinct do drop each element else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner insert intersect into is join key keys keyspace known last left let letting like limit lsm map mapping matched materialized merge minus namespace nest not number object offset on option or order outer over parse partition password path pool prepare primary private privilege procedure public raw realm reduce rename return returning revoke right role rollback satisfies schema select self semi set show some start statistics string system then to transaction trigger truncate under union unique unknown unnest unset update upsert use user using validate value valued values via view when where while with within work xor",literal:"true false null missing|5",built_in:"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring"},c:[{cN:"string",b:"'",e:"'",c:[e.BE],r:0},{cN:"string",b:'"',e:'"',c:[e.BE],r:0},{cN:"symbol",b:"`",e:"`",c:[e.BE],r:2},e.CNM,e.CBCM]},e.CBCM]}});hljs.registerLanguage("vim",function(e){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},i:/;/,c:[e.NM,e.ASM,{cN:"string",b:/"(\\"|\n\\|[^"\n])*"/},e.C('"',"$"),{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",r:0,c:[e.TM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"symbol",b:/<[\w-]+>/}]}});hljs.registerLanguage("xquery",function(e){var t="for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update",a="false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute",s={b:/\$[a-zA-Z0-9\-]+/},n={cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},r={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},i={cN:"meta",b:"%\\w+"},c={cN:"comment",b:"\\(:",e:":\\)",r:10,c:[{cN:"doctag",b:"@\\w+"}]},o={b:"{",e:"}"},l=[s,r,n,c,i,o];return o.c=l,{aliases:["xpath","xq"],cI:!1,l:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:t,literal:a},c:l}});hljs.registerLanguage("rsl",function(e){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:"",i:"\\n"}]},a,e.CLCM,e.CBCM]},i={cN:"variable",b:"\\&[a-z\\d_]*\\b"},r={cN:"meta-keyword",b:"/[a-z][a-z\\d-]*/"},d={cN:"symbol",b:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},n={cN:"params",b:"<",e:">",c:[c,i]},s={cN:"class",b:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,e:/[{;=]/,rB:!0,eE:!0},t={cN:"class",b:"/\\s*{",e:"};",r:10,c:[i,r,d,s,n,e.CLCM,e.CBCM,c,a]};return{k:"",c:[t,i,r,d,s,n,e.CLCM,e.CBCM,c,a,b,{b:e.IR+"::",k:""}]}});hljs.registerLanguage("elm",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},c={b:"\\(",e:"\\)",i:'"',c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},i]},n={b:"{",e:"}",c:c.c};return{k:"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription",c:[{bK:"port effect module",e:"exposing",k:"port effect module where command subscription exposing",c:[c,i],i:"\\W\\.|;"},{b:"import",e:"$",k:"import as exposing",c:[c,i],i:"\\W\\.|;"},{b:"type",e:"$",k:"type alias",c:[t,c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"port",e:"$",k:"port",c:[i]},e.QSM,e.CNM,t,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}],i:/;/}});hljs.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",i="get set args call";return{k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+i,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+i,r:0},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("lasso",function(e){var r="[a-zA-Z_][\\w.]*",a="<\\?(lasso(script)?|=)",t="\\]|\\?>",n={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},i=e.C("",{r:0}),s={cN:"meta",b:"\\[noprocess\\]",starts:{e:"\\[/noprocess\\]",rE:!0,c:[i]}},l={cN:"meta",b:"\\[/noprocess|"+a},o={cN:"symbol",b:"'"+r+"'"},c=[e.CLCM,e.CBCM,e.inherit(e.CNM,{b:e.CNR+"|(-?infinity|NaN)\\b"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{v:[{b:"[#$]"+r},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"type",b:"::\\s*",e:r,i:"\\W"},{cN:"params",v:[{b:"-(?!infinity)"+r,r:0},{b:"(\\.\\.\\.)"}]},{b:/(->|\.)\s*/,r:0,c:[o]},{cN:"class",bK:"define",rE:!0,e:"\\(|=>",c:[e.inherit(e.TM,{b:r+"(=(?!>))?|[-+*/%](?!>)"})]}];return{aliases:["ls","lassoscript"],cI:!0,l:r+"|&[lg]t;",k:n,c:[{cN:"meta",b:t,r:0,starts:{e:"\\[|"+a,rE:!0,r:0,c:[i]}},s,l,{cN:"meta",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:r+"|&[lg]t;",k:n,c:[{cN:"meta",b:t,r:0,starts:{e:"\\[noprocess\\]|"+a,rE:!0,c:[i]}},s,l].concat(c)}},{cN:"meta",b:"\\[",r:0},{cN:"meta",b:"^#!",e:"lasso9$",r:10}].concat(c)}});hljs.registerLanguage("abnf",function(e){var r={ruleDeclaration:"^[a-zA-Z][a-zA-Z0-9-]*",unexpectedChars:"[!@#$^&',?+~`|:]"},a=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],b=e.C(";","$"),c={cN:"symbol",b:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},l={cN:"symbol",b:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},n={cN:"symbol",b:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},t={cN:"symbol",b:/%[si]/},s={b:r.ruleDeclaration+"\\s*=",rB:!0,e:/=/,r:0,c:[{cN:"attribute",b:r.ruleDeclaration}]};return{i:r.unexpectedChars,k:a.join(" "),c:[s,b,c,l,n,t,e.QSM,e.NM]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("step21",function(e){var i="[A-Z_][A-Z0-9_.]*",r={keyword:"HEADER ENDSEC DATA"},t={cN:"meta",b:"ISO-10303-21;",r:10},n={cN:"meta",b:"END-ISO-10303-21;",r:10};return{aliases:["p21","step","stp"],cI:!0,l:i,k:r,c:[t,n,e.CLCM,e.CBCM,e.C("/\\*\\*!","\\*/"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"'",e:"'"},{cN:"symbol",v:[{b:"#",e:"\\d+",i:"\\W"}]}]}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},o={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},r={cN:"literal",b:/\$(null|true|false)\b/},n={cN:"string",v:[{b:/"/,e:/"/},{b:/@"/,e:/^"@/}],c:[t,o,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},i={cN:"doctag",v:[{b:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]},s=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[i]});return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",built_in:"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct",nomarkup:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[t,e.NM,n,a,r,o,s]}});hljs.registerLanguage("avrasm",function(r){return{cI:!0,l:"\\.?"+r.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[r.CBCM,r.C(";","$",{r:0}),r.CNM,r.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},r.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"symbol",b:"^[A-Za-z0-9_.$]+:"},{cN:"meta",b:"#",e:"$"},{cN:"subst",b:"@[0-9]+"}]}});hljs.registerLanguage("nsis",function(e){var t={cN:"variable",b:/\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},i={cN:"variable",b:/\$+{[\w\.:-]+}/},n={cN:"variable",b:/\$+\w+/,i:/\(\){}/},r={cN:"variable",b:/\$+\([\w\^\.:-]+\)/},o={cN:"params",b:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},l={cN:"keyword",b:/\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)/},s={cN:"subst",b:/\$(\\[nrt]|\$)/},a={cN:"class",b:/\w+\:\:\w+/},S={cN:"string",v:[{b:'"',e:'"'},{b:"'",e:"'"},{b:"`",e:"`"}],i:/\n/,c:[s,t,i,n,r]};return{cI:!1,k:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib"},c:[e.HCM,e.CBCM,e.C(";","$",{r:0}),{cN:"function",bK:"Function PageEx Section SectionGroup",e:"$"},S,l,i,n,r,o,a,e.NM]}});hljs.registerLanguage("dos",function(e){var r=e.C(/^\s*@?rem\b/,/$/,{r:10}),t={cN:"symbol",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0};return{aliases:["bat","cmd"],cI:!0,i:/\/\*/,k:{keyword:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del"},c:[{cN:"variable",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:"function",b:t.b,e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{cN:"number",b:"\\b\\d+",r:0},r]}});hljs.registerLanguage("routeros",function(e){var r="foreach do while for if from to step else on-error and or not in",i="global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime",o="add remove enable disable set get print export edit find run debug error info warning",t="true false yes no nothing nil null",s="traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw",n={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},p={cN:"string",b:/"/,e:/"/,c:[e.BE,n,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["routeros","mikrotik"],cI:!0,l:/:?[\w-]+/,k:{literal:t,keyword:r+" :"+r.split(" ").join(" :")+" :"+i.split(" ").join(" :")},c:[{v:[{b:/^@/,e:/$/},{b:/\/\*/,e:/\*\//},{b:/%%/,e:/$/},{b:/^'/,e:/$/},{b:/^\s*\/[\w-]+=/,e:/$/},{b:/\/\//,e:/$/},{b:/^\[\\]$/},{b:/<\//,e:/>/},{b:/^facet /,e:/\}/},{b:"^1\\.\\.(\\d+)$",e:/$/}],i:/./},e.C("^#","$"),p,a,n,{b:/[\w-]+\=([^\s\{\}\[\]\(\)]+)/,r:0,rB:!0,c:[{cN:"attribute",b:/[^=]+/},{b:/=/,eW:!0,r:0,c:[p,a,n,{cN:"literal",b:"\\b("+t.split(" ").join("|")+")\\b"},{b:/("[^"]*"|[^\s\{\}\[\]]+)/}]}]},{cN:"number",b:/\*[0-9a-fA-F]+/},{b:"\\b("+o.split(" ").join("|")+")([\\s[(]|])",rB:!0,c:[{cN:"builtin-name",b:/\w+/}]},{cN:"built_in",v:[{b:"(\\.\\./|/|\\s)(("+s.split(" ").join("|")+");?\\s)+",r:10},{b:/\.\./}]}]}});hljs.registerLanguage("x86asm",function(s){return{cI:!0,l:"[.%]?"+s.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[s.C(";","$",{r:0}),{cN:"number",v:[{b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{b:"\\$[0-9][0-9A-Fa-f]*",r:0},{b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{b:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QSM,{cN:"string",v:[{b:"'",e:"[^\\\\]'"},{b:"`",e:"[^\\\\]`"}],r:0},{cN:"symbol",v:[{b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],r:0},{cN:"subst",b:"%[0-9]+",r:0},{cN:"subst",b:"%!S+",r:0},{cN:"meta",b:/^\s*\.[\w_-]+/}]}});hljs.registerLanguage("processing",function(e){return{k:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",literal:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",title:"setup draw",built_in:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("julia-repl",function(a){return{c:[{cN:"meta",b:/^julia>/,r:10,starts:{e:/^(?![ ]{6})/,sL:"julia"},aliases:["jldoctest"]}]}});hljs.registerLanguage("cal",function(e){var r="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",t="false true",c=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],n={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},o={cN:"string",b:/(#\d+)+/},a={cN:"number",b:"\\b\\d+(\\.\\d+)?(DT|D|T)",r:0},i={cN:"string",b:'"',e:'"'},d={cN:"function",bK:"procedure",e:/[:;]/,k:"procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[n,o]}].concat(c)},s={cN:"class",b:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",rB:!0,c:[e.TM,d]};return{cI:!0,k:{keyword:r,literal:t},i:/\/\*/,c:[n,o,a,i,e.NM,s,d]}});hljs.registerLanguage("mipsasm",function(s){return{cI:!0,aliases:["mips"],l:"\\.?"+s.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ",built_in:"$0 $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 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt "},c:[{cN:"keyword",b:"\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)",e:"\\s"},s.C("[;#]","$"),s.CBCM,s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"0x[0-9a-f]+"},{b:"\\b-?\\d+"}],r:0},{cN:"symbol",v:[{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"^\\s*[0-9]+:"},{b:"[0-9]+[bf]"}],r:0}],i:"/"}});hljs.registerLanguage("pf",function(t){var o={cN:"variable",b:/\$[\w\d#@][\w\d_]*/},e={cN:"variable",b:/<(?!\/)/,e:/>/};return{aliases:["pf.conf"],l:/[a-z0-9_<>-]+/,k:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},c:[t.HCM,t.NM,t.QSM,o,e]}});hljs.registerLanguage("mercury",function(e){var i={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",meta:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},r=e.C("%","$"),t={cN:"number",b:"0'.\\|0[box][0-9a-fA-F]*"},_=e.inherit(e.ASM,{r:0}),n=e.inherit(e.QSM,{r:0}),a={cN:"subst",b:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",r:0};n.c.push(a);var o={cN:"built_in",v:[{b:"<=>"},{b:"<=",r:0},{b:"=>",r:0},{b:"/\\\\"},{b:"\\\\/"}]},l={cN:"built_in",v:[{b:":-\\|-->"},{b:"=",r:0}]};return{aliases:["m","moo"],k:i,c:[o,l,r,e.CBCM,t,e.NM,_,n,{b:/:-/}]}});hljs.registerLanguage("scala",function(e){var t={cN:"meta",b:"@[A-Za-z]+"},a={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},r={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,a]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[a],r:10}]},c={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},i={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},s={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},n={cN:"class",bK:"class object trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends with",r:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,r:0,c:[i]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,r:0,c:[i]},s]},l={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[s]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,r,c,i,l,n,e.CNM,t]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("htmlbars",function(e){var a="action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view",t={i:/\}\}/,b:/[a-zA-Z0-9_]+=/,rB:!0,r:0,c:[{cN:"attr",b:/[a-zA-Z0-9_]+/}]},i=({i:/\}\}/,b:/\)/,e:/\)/,c:[{b:/[a-zA-Z\.\-]+/,k:{built_in:a},starts:{eW:!0,r:0,c:[e.QSM]}}]},{eW:!0,r:0,k:{keyword:"as",built_in:a},c:[e.QSM,t,e.NM]});return{cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.\-]+/,k:{"builtin-name":a},starts:i}]},{cN:"template-variable",b:/\{\{[a-zA-Z][a-zA-Z\-]+/,e:/\}\}/,k:{keyword:"as",built_in:a},c:[e.QSM]}]}});hljs.registerLanguage("erlang",function(e){var r="[a-z'][a-zA-Z0-9_']*",c="("+r+":"+r+"|"+r+")",b={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},i=e.C("%","$"),n={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a={b:"fun\\s+"+r+"/\\d+"},d={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},o={b:"{",e:"}",r:0},t={b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},f={b:"[A-Z][a-zA-Z0-9_]*",r:0},l={b:"#"+e.UIR,r:0,rB:!0,c:[{b:"#"+e.UIR,r:0},{b:"{",e:"}",r:0}]},s={bK:"fun receive if try case",e:"end",k:b};s.c=[i,a,e.inherit(e.ASM,{cN:""}),s,d,e.QSM,n,o,t,f,l];var u=[i,a,s,d,e.QSM,n,o,t,f,l];d.c[1].c=u,o.c=u,l.c[1].c=u;var h={cN:"params",b:"\\(",e:"\\)",c:u};return{aliases:["erl"],k:b,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:|;",c:[h,e.inherit(e.TM,{b:r})],starts:{e:";|\\.",k:b,c:u}},i,{b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+e.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[h]},n,e.QSM,l,t,f,o,{b:/\.$/}]}});hljs.registerLanguage("scss",function(e){var t="[a-zA-Z-][a-zA-Z0-9_-]*",i={cN:"variable",b:"(\\$"+t+")\\b"},r={cN:"number",b:"#[0-9A-Fa-f]+"};({cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{eW:!0,eE:!0,c:[r,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"meta",b:"!important"}]}});return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},i,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[i,r,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[i,e.QSM,e.ASM,r,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or equal less greater strless strgreater strequal matches"},c:[{cN:"variable",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage("delphi",function(e){var r="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs ",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],a={cN:"meta",v:[{b:/\{\$/,e:/\}/},{b:/\(\*\$/,e:/\*\)/}]},c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},i={cN:"string",b:/(#\d+)+/},o={b:e.IR+"\\s*=\\s*class\\s*\\(",rB:!0,c:[e.TM]},n={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[c,i,a].concat(t)},a].concat(t)};return{aliases:["dpr","dfm","pas","pascal","freepascal","lazarus","lpr","lfm"],cI:!0,k:r,i:/"|\$[G-Zg-z]|\/\*|<\/|\|/,c:[c,i,e.NM,o,n,a].concat(t)}});hljs.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ \\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"title",b:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ \\t\\n\\r]",eW:!0,eE:!0}]},{eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}});hljs.registerLanguage("cs",function(e){var i={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},t={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},r=e.inherit(t,{i:/\n/}),a={cN:"subst",b:"{",e:"}",k:i},c=e.inherit(a,{i:/\n/}),n={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,c]},s={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},a]},o=e.inherit(s,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},c]});a.c=[s,n,t,e.ASM,e.QSM,e.CNM,e.CBCM],c.c=[o,n,r,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\n/})];var l={v:[s,n,t,e.ASM,e.QSM]},b=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},l,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+b+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[l,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("stylus",function(e){var t={cN:"variable",b:"\\$"+e.IR},o={cN:"number",b:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},i=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],r=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],a="[\\.\\s\\n\\[\\:,]",l=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],d=["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{aliases:["styl"],cI:!1,k:"if else for in",i:"("+d.join("|")+")",c:[e.QSM,e.ASM,e.CLCM,e.CBCM,o,{b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-class",b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-id",b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\b("+n.join("|")+")"+a,rB:!0,c:[{cN:"selector-tag",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"&?:?:\\b("+r.join("|")+")"+a},{b:"@("+i.join("|")+")\\b"},t,e.CSSNM,e.NM,{cN:"function",b:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",i:"[\\n]",rB:!0,c:[{cN:"title",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{cN:"params",b:/\(/,e:/\)/,c:[o,t,e.ASM,e.CSSNM,e.NM,e.QSM]}]},{cN:"attribute",b:"\\b("+l.reverse().join("|")+")\\b",starts:{e:/;|$/,c:[o,t,e.ASM,e.QSM,e.CSSNM,e.NM,e.CBCM],i:/\./,r:0}}]}});hljs.registerLanguage("dsconfig",function(e){var i={cN:"string",b:/"/,e:/"/},r={cN:"string",b:/'/,e:/'/},s={cN:"string",b:"[\\w-?]+:\\w+",e:"\\W",r:0},t={cN:"string",b:"\\w+-?\\w+",e:"\\W",r:0};return{k:"dsconfig",c:[{cN:"keyword",b:"^dsconfig",e:"\\s",eE:!0,r:10},{cN:"built_in",b:"(list|create|get|set|delete)-(\\w+)",e:"\\s",eE:!0,i:"!@#$%^&*()",r:10},{cN:"built_in",b:"--(\\w+)",e:"\\s",eE:!0},i,r,s,t,e.HCM]}});hljs.registerLanguage("crystal",function(e){function b(e,b){var r=[{b:e,e:b}];return r[0].c=r,r}var r="(_[uif](8|16|32|64))?",c="[a-zA-Z_]\\w*[!?=]?",i="!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?",s={keyword:"abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},t={cN:"subst",b:"#{",e:"}",k:s},a={cN:"template-variable",v:[{b:"\\{\\{",e:"\\}\\}"},{b:"\\{%",e:"%\\}"}],k:s},l={cN:"string",c:[e.BE,t],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%w?\\(",e:"\\)",c:b("\\(","\\)")},{b:"%w?\\[",e:"\\]",c:b("\\[","\\]")},{b:"%w?{",e:"}",c:b("{","}")},{b:"%w?<",e:">",c:b("<",">")},{b:"%w?/",e:"/"},{b:"%w?%",e:"%"},{b:"%w?-",e:"-"},{b:"%w?\\|",e:"\\|"},{b:/<<-\w+$/,e:/^\s*\w+$/}],r:0},u={cN:"string",v:[{b:"%q\\(",e:"\\)",c:b("\\(","\\)")},{b:"%q\\[",e:"\\]",c:b("\\[","\\]")},{b:"%q{",e:"}",c:b("{","}")},{b:"%q<",e:">",c:b("<",">")},{b:"%q/",e:"/"},{b:"%q%",e:"%"},{b:"%q-",e:"-"},{b:"%q\\|",e:"\\|"},{b:/<<-'\w+'$/,e:/^\s*\w+$/}],r:0},_={b:"("+i+")\\s*",c:[{cN:"regexp",c:[e.BE,t],v:[{b:"//[a-z]*",r:0},{b:"/",e:"/[a-z]*"},{b:"%r\\(",e:"\\)",c:b("\\(","\\)")},{b:"%r\\[",e:"\\]",c:b("\\[","\\]")},{b:"%r{",e:"}",c:b("{","}")},{b:"%r<",e:">",c:b("<",">")},{b:"%r/",e:"/"},{b:"%r%",e:"%"},{b:"%r-",e:"-"},{b:"%r\\|",e:"\\|"}]}],r:0},o={cN:"regexp",c:[e.BE,t],v:[{b:"%r\\(",e:"\\)",c:b("\\(","\\)")},{b:"%r\\[",e:"\\]",c:b("\\[","\\]")},{b:"%r{",e:"}",c:b("{","}")},{b:"%r<",e:">",c:b("<",">")},{b:"%r/",e:"/"},{b:"%r%",e:"%"},{b:"%r-",e:"-"},{b:"%r\\|",e:"\\|"}],r:0},w={cN:"meta",b:"@\\[",e:"\\]",c:[e.inherit(e.QSM,{cN:"meta-string"})]},f=[a,l,u,_,o,w,e.HCM,{cN:"class",bK:"class module struct",e:"$|;",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<"}]},{cN:"class",bK:"lib enum union",e:"$|;",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"})],r:10},{cN:"function",bK:"def",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},{cN:"function",bK:"fun macro",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})],r:5},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[l,{b:n}],r:0},{cN:"number",v:[{b:"\\b0b([01_]*[01])"+r},{b:"\\b0o([0-7_]*[0-7])"+r},{b:"\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])"+r},{b:"\\b(([0-9][0-9_]*[0-9]|[0-9])(\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)"+r}],r:0}];return t.c=f,a.c=f.slice(1),{aliases:["cr"],l:c,k:s,c:f}});hljs.registerLanguage("sml",function(e){return{aliases:["ml"],k:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:/\[(\|\|)?\]|\(\)/,r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("vbscript-html",function(r){return{sL:"xml",c:[{b:"<%",e:"%>",sL:"vbscript"}]}});hljs.registerLanguage("erlang-repl",function(e){return{k:{built_in:"spawn spawn_link self",keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"meta",b:"^[0-9]+> ",r:10},e.C("%","$"),{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},e.ASM,e.QSM,{b:"\\?(::)?([A-Z]\\w*(::)?)+"},{b:"->"},{b:"ok"},{b:"!"},{b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("crmsh",function(t){var e="primitive rsc_template",r="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml",s="property rsc_defaults op_defaults",a="params meta operations op rule attributes utilization",i="read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\",o="number string",n="Master Started Slave Stopped start promote demote stop monitor true false";return{aliases:["crm","pcmk"],cI:!0,k:{keyword:a+" "+i+" "+o,literal:n},c:[t.HCM,{bK:"node",starts:{e:"\\s*([\\w_-]+:)?",starts:{cN:"title",e:"\\s*[\\$\\w_][\\w_-]*"}}},{bK:e,starts:{cN:"title",e:"\\s*[\\$\\w_][\\w_-]*",starts:{e:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{b:"\\b("+r.split(" ").join("|")+")\\s+",k:r,starts:{cN:"title",e:"[\\$\\w_][\\w_-]*"}},{bK:s,starts:{cN:"title",e:"\\s*([\\w_-]+:)?"}},t.QSM,{cN:"meta",b:"(ocf|systemd|service|lsb):[\\w_:-]+",r:0},{cN:"number",b:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",r:0},{cN:"literal",b:"[-]?(infinity|inf)",r:0},{cN:"attr",b:/([A-Za-z\$_\#][\w_-]+)=/,r:0},{cN:"tag",b:"",r:0}]}});hljs.registerLanguage("bnf",function(e){return{c:[{cN:"attribute",b://},{b:/::=/,starts:{e:/$/,c:[{b://},e.CLCM,e.CBCM,e.ASM,e.QSM]}}]}});hljs.registerLanguage("matlab",function(e){var a=[e.CNM,{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]}],s={r:0,c:[{b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},s.c[0]]},{b:"\\[",e:"\\]",c:a,r:0,starts:s},{b:"\\{",e:/}/,c:a,r:0,starts:s},{b:/\)/,r:0,starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(a)}});hljs.registerLanguage("tp",function(O){var R={cN:"number",b:"[1-9][0-9]*",r:0},E={cN:"symbol",b:":[^\\]]+"},T={cN:"built_in",b:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER| TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",e:"\\]",c:["self",R,E]},N={cN:"built_in",b:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",e:"\\]",c:["self",R,O.QSM,E]};return{k:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",literal:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},c:[T,N,{cN:"keyword",b:"/(PROG|ATTR|MN|POS|END)\\b"},{cN:"keyword",b:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{cN:"keyword",b:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{cN:"number",b:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",r:0},O.C("//","[;$]"),O.C("!","[;$]"),O.C("--eg:","$"),O.QSM,{cN:"string",b:"'",e:"'"},O.CNM,{cN:"variable",b:"\\$[A-Za-z0-9_]+"}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("scilab",function(e){var s=[e.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[e.BE,{b:"''"}]}];return{aliases:["sci"],l:/%?\w+/,k:{keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{b:"\\[",e:"\\]'*[\\.']*",r:0,c:s},e.C("//","$")].concat(s)}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("taggerscript",function(e){var c={cN:"comment",b:/\$noop\(/,e:/\)/,c:[{b:/\(/,e:/\)/,c:["self",{b:/\\./}]}],r:10},r={cN:"keyword",b:/\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,e:/\(/,eE:!0},a={cN:"variable",b:/%[_a-zA-Z0-9:]*/,e:"%"},b={cN:"symbol",b:/\\./};return{c:[c,r,a,b]}});hljs.registerLanguage("arduino",function(e){var t=e.getLanguage("cpp").exports;return{k:{keyword:"boolean byte word string String array "+t.k.keyword,built_in:"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("jboss-cli",function(e){var a={b:/[\w-]+ *=/,rB:!0,r:0,c:[{cN:"attr",b:/[\w-]+/}]},r={cN:"params",b:/\(/,e:/\)/,c:[a],r:0},o={cN:"function",b:/:[\w\-.]+/,r:0},t={cN:"string",b:/\B(([\/.])[\w\-.\/=]+)+/},c={cN:"params",b:/--[\w\-=\/]+/};return{aliases:["wildfly-cli"],l:"[a-z-]+",k:{keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source",literal:"true false"},c:[e.HCM,e.QSM,c,o,t,r]}});hljs.registerLanguage("kotlin",function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit initinterface annotation data sealed internal infix operator out by constructor super trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},r={cN:"keyword",b:/\b(break|continue|return|this)\b/,starts:{c:[{cN:"symbol",b:/@\w+/}]}},i={cN:"symbol",b:e.UIR+"@"},n={cN:"subst",b:"\\${",e:"}",c:[e.ASM,e.CNM]},a={cN:"variable",b:"\\$"+e.UIR},c={cN:"string",v:[{b:'"""',e:'"""',c:[a,n]},{b:"'",e:"'",i:/\n/,c:[e.BE]},{b:'"',e:'"',i:/\n/,c:[e.BE,a,n]}]},s={cN:"meta",b:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UIR+")?"},o={cN:"meta",b:"@"+e.UIR,c:[{b:/\(/,e:/\)/,c:[e.inherit(c,{cN:"meta-string"})]}]};return{k:t,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,r,i,s,o,{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:t,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,r:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"type",b://,k:"reified",r:0},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:t,r:0,c:[{b:/:/,e:/[=,\/]/,eW:!0,c:[{cN:"type",b:e.UIR},e.CLCM,e.CBCM],r:0},e.CLCM,e.CBCM,s,o,c,e.CNM]},e.CBCM]},{cN:"class",bK:"class interface trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[{bK:"public protected internal private constructor"},e.UTM,{cN:"type",b://,eB:!0,eE:!0,r:0},{cN:"type",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0},s,o]},c,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.CNM]}});hljs.registerLanguage("protobuf",function(e){return{k:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},c:[e.QSM,e.NM,e.CLCM,{cN:"class",bK:"message enum service",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:"function",bK:"rpc",e:/;/,eE:!0,k:"rpc returns"},{b:/^\s*[A-Z_]+/,e:/\s*=/,eE:!0}]}});hljs.registerLanguage("stata",function(e){return{aliases:["do","ado"],cI:!0,k:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",c:[{cN:"symbol",b:/`[a-zA-Z0-9_]+'/},{cN:"variable",b:/\$\{?[a-zA-Z0-9_]+\}?/},{cN:"string",v:[{b:'`"[^\r\n]*?"\''},{b:'"[^\r\n"]*"'}]},{cN:"built_in",v:[{b:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},e.C("^[ ]*\\*.*$",!1),e.CLCM,e.CBCM]}});hljs.registerLanguage("accesslog",function(T){return{c:[{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+\\b",r:0},{cN:"string",b:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'"',k:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",i:"\\n",r:10},{cN:"string",b:/\[/,e:/\]/,i:"\\n"},{cN:"string",b:'"',e:'"',i:"\\n"}]}});hljs.registerLanguage("ruleslanguage",function(T){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[T.CLCM,T.CBCM,T.ASM,T.QSM,T.CNM,{cN:"literal",v:[{b:"#\\s+[a-zA-Z\\ \\.]*",r:0},{b:"#[a-zA-Z\\ \\.]+"}]}]}});hljs.registerLanguage("clean",function(e){return{aliases:["clean","icl","dcl"],k:{keyword:"if let in with where case of class instance otherwise implementation definition system module from import qualified as special code inline foreign export ccall stdcall generic derive infix infixl infixr",literal:"True False"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{b:"->|<-[|:]?|::|#!?|>>=|\\{\\||\\|\\}|:==|=:|\\.\\.|<>|`"}]}});hljs.registerLanguage("erb",function(e){return{sL:"xml",c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("monkey",function(e){var n={cN:"number",r:0,v:[{b:"[$][a-fA-F0-9]+"},e.NM]};return{cI:!0,k:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},i:/\/\*/,c:[e.C("#rem","#end"),e.C("'","$",{r:0}),{cN:"function",bK:"function method",e:"[(=:]|$",i:/\n/,c:[e.UTM]},{cN:"class",bK:"class interface",e:"$",c:[{bK:"extends implements"},e.UTM]},{cN:"built_in",b:"\\b(self|super)\\b"},{cN:"meta",b:"\\s*#",e:"$",k:{"meta-keyword":"if else elseif endif end then"}},{cN:"meta",b:"^\\s*strict\\b"},{bK:"alias",e:"=",c:[e.UTM]},e.QSM,n]}});hljs.registerLanguage("csp",function(r){return{cI:!1,l:"[a-zA-Z][a-zA-Z0-9_-]*",k:{keyword:"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src"},c:[{cN:"string",b:"'",e:"'"},{cN:"attribute",b:"^Content",e:":",eE:!0}]}});hljs.registerLanguage("ebnf",function(a){var e=a.C(/\(\*/,/\*\)/),t={cN:"attribute",b:/^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/},r={cN:"meta",b:/\?.*\?/},b={b:/=/,e:/;/,c:[e,r,a.ASM,a.QSM]};return{i:/\S/,c:[e,t,b]}});hljs.registerLanguage("gams",function(e){var a={keyword:"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na","built-in":"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart"},o={cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0},r={cN:"symbol",v:[{b:/\=[lgenxc]=/},{b:/\$/}]},t={cN:"comment",v:[{b:"'",e:"'"},{b:'"',e:'"'}],i:"\\n",c:[e.BE]},i={b:"/",e:"/",k:a,c:[t,e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},l={b:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,eB:!0,e:"$",eW:!0,c:[t,i,{cN:"comment",b:/([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,r:0}]};return{aliases:["gms"],cI:!0,k:a,c:[e.C(/^\$ontext/,/^\$offtext/),{cN:"meta",b:"^\\$[a-z0-9]+",e:"$",rB:!0,c:[{cN:"meta-keyword",b:"^\\$[a-z0-9]+"}]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,{bK:"set sets parameter parameters variable variables scalar scalars equation equations",e:";",c:[e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,i,l]},{bK:"table",e:";",rB:!0,c:[{bK:"table",e:"$",c:[l]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},{cN:"function",b:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,rB:!0,c:[{cN:"title",b:/^[a-z0-9_]+/},o,r]},e.CNM,r]}});hljs.registerLanguage("actionscript",function(e){var a="[a-zA-Z_$][a-zA-Z0-9_$]*",t="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",c={cN:"rest_arg",b:"[.]{3}",e:a,r:10};return{aliases:["as"],k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"meta",bK:"import include",e:";",k:{"meta-keyword":"import include"}},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,c]},{b:":\\s*"+t}]},e.METHOD_GUARD],i:/#/}});hljs.registerLanguage("ada",function(e){var r="\\d(_|\\d)*",t="[eE][-+]?"+r,s=r+"(\\."+r+")?("+t+")?",n="\\w+",a=r+"#"+n+"(\\."+n+")?#("+t+")?",i="\\b("+a+"|"+s+")",c="[A-Za-z](_?[A-Za-z0-9.])*",o="[]{}%#'\"",b=e.C("--","$"),d={b:"\\s+:\\s+",e:"\\s*(:=|;|\\)|=>|$)",i:o,c:[{bK:"loop for declare others",endsParent:!0},{cN:"keyword",bK:"not null constant access function procedure in out aliased exception"},{cN:"type",b:c,endsParent:!0,r:0}]};return{cI:!0,k:{keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor",literal:"True False"},c:[b,{cN:"string",b:/"/,e:/"/,c:[{b:/""/,r:0}]},{cN:"string",b:/'.'/},{cN:"number",b:i,r:0},{cN:"symbol",b:"'"+c},{cN:"title",b:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",e:"(is|$)",k:"package body",eB:!0,eE:!0,i:o},{b:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",e:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",k:"overriding function procedure with is renames return",rB:!0,c:[b,{cN:"title",b:"(\\bwith\\s+)?\\b(function|procedure)\\s+",e:"(\\(|\\s+|$)",eB:!0,eE:!0,i:o},d,{cN:"type",b:"\\breturn\\s+",e:"(\\s+|;|$)",k:"return",eB:!0,eE:!0,endsParent:!0,i:o}]},{cN:"type",b:"\\b(sub)?type\\s+",e:"\\s+",k:"type",eB:!0,i:o},d]}});hljs.registerLanguage("django",function(e){var t={b:/\|[A-Za-z]+:?/,k:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},c:[e.QSM,e.ASM]};return{aliases:["jinja"],cI:!0,sL:"xml",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{eW:!0,k:"in by as",c:[t],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:[t]}]}});hljs.registerLanguage("mizar",function(e){return{k:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",c:[e.C("::","$")]}});hljs.registerLanguage("swift",function(e){var i={keyword:"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},t={cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},a={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0},o=e.inherit(e.QSM,{c:[r,e.BE]});return r.c=[a],{k:i,c:[o,e.CLCM,n,t,a,{cN:"function",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b://},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",a,o,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{cN:"meta",b:"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{bK:"import",e:/$/,c:[e.CLCM,n]}]}});hljs.registerLanguage("stan",function(e){return{c:[e.HCM,e.CLCM,e.CBCM,{b:e.UIR,l:e.UIR,k:{name:"for in while repeat until if then else",symbol:"bernoulli bernoulli_logit binomial binomial_logit beta_binomial hypergeometric categorical categorical_logit ordered_logistic neg_binomial neg_binomial_2 neg_binomial_2_log poisson poisson_log multinomial normal exp_mod_normal skew_normal student_t cauchy double_exponential logistic gumbel lognormal chi_square inv_chi_square scaled_inv_chi_square exponential inv_gamma weibull frechet rayleigh wiener pareto pareto_type_2 von_mises uniform multi_normal multi_normal_prec multi_normal_cholesky multi_gp multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet lkj_corr lkj_corr_cholesky wishart inv_wishart","selector-tag":"int real vector simplex unit_vector ordered positive_ordered row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix",title:"functions model data parameters quantities transformed generated",literal:"true false"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0}]}});hljs.registerLanguage("purebasic",function(e){var r={cN:"string",b:'(~)?"',e:'"',i:"\\n"},t={cN:"symbol",b:"#[a-zA-Z_]\\w*\\$?"};return{aliases:["pb","pbi"],k:"And As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect Continue Data DataSection EndDataSection Debug DebugLevel Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndEnumeration EndIf EndImport EndInterface EndMacro EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration Extends FakeReturn For Next ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface Macro NewList Not Or ProcedureReturn Protected Prototype PrototypeC Read ReDim Repeat Until Restore Return Select Shared Static Step Structure StructureUnion Swap To Wend While With XIncludeFile XOr Procedure ProcedureC ProcedureCDLL ProcedureDLL Declare DeclareC DeclareCDLL DeclareDLL",c:[e.C(";","$",{r:0}),{cN:"function",b:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",e:"\\(",eE:!0,rB:!0,c:[{cN:"keyword",b:"(Procedure|Declare)(C|CDLL|DLL)?",eE:!0},{cN:"type",b:"\\.\\w*"},e.UTM]},r,t]}});hljs.registerLanguage("q",function(e){var s={keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:s,l:/(`?)[A-Za-z0-9_]+\b/,c:[e.CLCM,e.QSM,e.CNM]}});hljs.registerLanguage("ldif",function(e){return{c:[{cN:"attribute",b:"^dn",e:": ",eE:!0,starts:{e:"$",r:0},r:10},{cN:"attribute",b:"^\\w",e:": ",eE:!0,starts:{e:"$",r:0}},{cN:"literal",b:"^-",e:"$"},e.HCM]}});hljs.registerLanguage("haml",function(s){return{cI:!0,c:[{cN:"meta",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},s.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"selector-tag",b:"\\w+"},{cN:"selector-id",b:"#[\\w-]+"},{cN:"selector-class",b:"\\.[\\w-]+"},{b:"{\\s*",e:"\\s*}",c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:":\\w+"},s.ASM,s.QSM,{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:"\\w+",r:0},s.ASM,s.QSM,{b:"\\w+",r:0}]}]}]},{b:"^\\s*[=~]\\s*"},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("verilog",function(e){var n={keyword:"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor",literal:"null",built_in:"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale $bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat $realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson $assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff $assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk $fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control $coverage_get $coverage_save $set_coverage_db_name $rose $stable $past $rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display $coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename $unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow $floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning $dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh $tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array $sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf $async$and$plane $async$nand$plane $async$or$plane $async$nor$plane $sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system $display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb $dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall $dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo $fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh $swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb $fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat $sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror"};return{aliases:["v","sv","svh"],cI:!1,k:n,l:/[\w\$]+/,c:[e.CBCM,e.CLCM,e.QSM,{cN:"number",c:[e.BE],v:[{b:"\\b((\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{b:"\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{b:"\\b([0-9_])+",r:0}]},{cN:"variable",v:[{b:"#\\((?!parameter).+\\)"},{b:"\\.\\w+",r:0}]},{cN:"meta",b:"`",e:"$",k:{"meta-keyword":"define __FILE__ __LINE__ begin_keywords celldefine default_nettype define else elsif end_keywords endcelldefine endif ifdef ifndef include line nounconnected_drive pragma resetall timescale unconnected_drive undef undefineall"},r:0}]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)",r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*",r:0},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("parser3",function(r){var e=r.C("{","}",{c:["self"]});return{sL:"xml",r:0,c:[r.C("^#","$"),r.C("\\^rem{","}",{r:10,c:[e]}),{cN:"meta",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},r.CNM]}}); \ No newline at end of file diff --git a/themes/coderockr/static/js/jquery-3.3.1.min.js b/themes/coderockr/static/js/jquery-3.3.1.min.js new file mode 100644 index 0000000..4d9b3a2 --- /dev/null +++ b/themes/coderockr/static/js/jquery-3.3.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="
",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" + +Ele também está disponível em Markdown no [nosso Github](https://github.com/Coderockr/culture-code). diff --git a/content/posts/2017/definindo-apis-com-o-api-blueprint.md b/content/posts/2017/definindo-apis-com-o-api-blueprint.md new file mode 100644 index 0000000..7d738ba --- /dev/null +++ b/content/posts/2017/definindo-apis-com-o-api-blueprint.md @@ -0,0 +1,85 @@ +--- +title: "Definindo APIs com o API Blueprint" +description: "Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos..." +author: "Elton Minetto" +date: 2017-06-28 +draft: false +categories: ["Desenvolvimento"] +tags: ["Desenvolvimento", "API", "Ferramentas"] +--- + +# Definindo APIs com o API Blueprint + +Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. + +Já usávamos [outras abordagens](http://eltonminetto.net/2016/06/01/gerando-documentacao-de-apis/), mas a maioria delas envolvia documentar a API no próprio código, usando *annotations*. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. E gerar “mocks” e testes destas anotações também é um desafio complexo. + +Com isso em mente fizemos algumas pesquisas e chegamos a duas alternativas: Swagger e API Blueprint. Ambos são padrões de documentação de APIs e tem suas vantagens e desvantagens: + +* Swagger: é o [padrão de mercado](https://www.openapis.org/) e vem sendo adotado por várias empresas como a Amazon. Para descrever a API é necessário criar arquivos JSON, o que facilita bastante para os programadores, mas é um pouco complexo para visualizar e alterar seu conteúdo por pessoas não tão envolvidas com código. Existe uma série de ferramentas que podem ajudar neste processo, mas isso tornou-se uma pequena barreira para nós. (bom, pelo menos não é YML… Já comentei que odeio YML?) + +* API Blueprint: é uma [especificação](https://apiblueprint.org/) mais recente e foi criada por uma empresa chamada [apiary](https://apiary.io/), comprada pela Oracle. A grande vantagem do API Blueprint é ser descrita em Markdown, o que facilita bastante a edição dos documentos, mesmo por quem não tem familiaridade com código. Além disso, existe uma série de ferramentas disponíveis que permitem gerar documentos no padrão Swagger, “mock servers” e testes. + +Optamos pelo API Blueprint pela facilidade de uso e agilidade que isso nos trouxe. Vou demonstrar com um pequeno exemplo. + +A definição é escrita em um arquivo no formato Markdown, que pode ser nomeado como “api.md” ou “api.apib”. Ambos funcionam, mas se usarmos a extensão .apib podemos aproveitar plugins para editores como o SublimeText que auxiliam na escrita. Os plugins podem ser encontrados no site oficial da especificação. + +Nosso exemplo: + +{{< gist eminetto c8b2a6a8e726d36c202eaae41eef8d73>}} + +No site da especificação é possível ver os detalhes, mas basicamente o que fazemos é definir as URLs, o formato das requisições e das respostas. Podemos definir estruturas de dados simples e complexas e usá-las para descrever o que a API espera de entradas e o que deve gerar de saída. O documento é relativamente simples de entender e alterar, o que foi um dos pontos de maior peso para nossa escolha. Mesmo assim, podemos melhorar a apresentação. + +## Gerando documentação + +Dentre as ferramentas disponíveis no site oficial a [aglio](https://github.com/danielgtaylor/aglio) é uma das mais interessantes para geração de uma apresentação HTML da nossa definição. Ele pode ser instalado via: + + npm install -g aglio + +Para gerar a documentação podemos usar o comando: + + aglio -i api.apib --theme-full-width --no-theme-condense -o index.html + +No site da ferramenta é possível ver todas as opções de customização de temas e apresentação. Outro comando útil é o: + + aglio -i api.apib --theme-full-width --no-theme-condense -s + +Ele gera um servidor local, na porta 3000, que fica observando alterações no arquivo .apib e atualiza automaticamente a página da documentação. Isso facilita bastante a manutenção do documento. Um exemplo da documentação gerada: + +![](https://cdn-images-1.medium.com/max/2800/0*qX1oOdJe2z_9DgdB.png) + +A documentação ajuda muito no processo de desenvolvimento dos clientes da API, mas podemos ir além. + +## Gerando um mock server + +Com a API definida as equipes de frontend (web, mobile, etc) e backend (quem vai desenvolver a API) podem trabalhar em paralelo. Para facilitar ainda mais podemos criar um “mock server” que vai gerar dados falsos baseados na definição da API. Assim a equipe de frontend pode trabalhar sem precisar esperar a equipe de backend terminar a implementação. Para isso vamos usar outra ferramenta, a [drakov](https://github.com/Aconex/drakov). + +Para instalar a ferramenta basta executar: + + npm install -g drakov + +E para gerar o servidor: + + drakov -f api.apib -p 4000 + +Desta forma temos uma API funcional que pode ser usada para testes e desenvolvimento. + +O passo final é definirmos uma forma de validarmos nossa API. + +## Testando + +Podemos usar uma ferramenta chamada [apib2swagger](https://github.com/kminami/apib2swagger) para gerar um arquivo Swagger da nossa API e realizarmos testes usando algum recurso do Swagger. Optamos por usar o [dredd](https://github.com/apiaryio/dredd) que automatiza os testes, tanto usando API Blueprint quanto Swagger. + +Para instalá-lo: + + npm install -g dredd + +E para executar os testes: + + dredd api.apib [http://localhost:4000](http://localhost:4000) + +Neste exemplo estou usando o dredd para testar nosso “mock server”, por isso o resultado deve ser positivo. Podemos colocar o dredd na execução do nosso servidor de integração contínua para garantir que a implementação da API sempre esteja de acordo com a documentação, evitando surpresas e documentos abandonados. + +Com o conjunto API Blueprint + aglio + drakov + dredd conseguimos mapear todo o ciclo de vida de uma API: definição, documentação, desenvolvimento e testes. Os resultados estão sendo bem positivos e devemos adotar essa solução em todos os novos projetos. + +*Originally published at [http://eltonminetto.net/post/2017-06-29-definindo-apis-com-api-blueprint/](http://eltonminetto.net/post/2017-06-29-definindo-apis-com-api-blueprint/) on June 29, 2017.* diff --git a/content/posts/2017/dois-anos-de-coderockr.md b/content/posts/2017/dois-anos-de-coderockr.md new file mode 100644 index 0000000..62a6fe7 --- /dev/null +++ b/content/posts/2017/dois-anos-de-coderockr.md @@ -0,0 +1,37 @@ +--- +title: "Dois Anos de Coderockr" +description: "Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência...." +author: "Vinicius Dacal" +date: 2017-02-26 +draft: false +categories: ["Coderockr Culture", "Carreira"] +tags: ["Carreira"] +--- + +Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. + +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. Porém, no local onde eu estava não havia espaço para aplicar e expandir esses conhecimentos. + +Eu estava determinado a buscar algo novo, foi então que me candidatei para uma vaga na Coderockr. Recebi um contato do Elton Minetto, passei pelo processo seletivo e fui chamado para me juntar ao [time](http://coderockr.com/about.html). + +A vaga era presencial, mesmo assim, comecei trabalhando remotamente até que pudesse me organizar para mudar para Joinville. Devido às metodologias que utilizamos para gerenciar o time e distribuir tarefas, a experiência foi a melhor possível. Também tenho que agradecer aos outros membros do time que estavam disponíveis para uma call sempre que eu precisava. + +Na Coderockr nós temos a política de que se um membro do time estiver travado por mais de meia hora, o mesmo deve pedir ajuda a outro membro. Não é vergonha não saber, o time está ali para ajudar. + +A mudança para Joinville fez com que a experiência fosse ainda mais enriquecedora. Estar com o time todo ali do lado, facilitava ainda mais a comunicação. A troca de experiência se fazia no desenvolvimento das tarefas, no Code Review e até nos bate-papos na hora do almoço. + +Joinville por si só, já é uma cidade forte na área de desenvolvimento. Temos alguns Meetups mensais para participar, com temas como [Machine Learning](https://www.meetup.com/pt-BR/Joinville-Machine-Learning/), [Artesania de Software](https://www.meetup.com/pt-BR/Comunidade-de-Artesania-de-Software-de-Joinville/) e [Frontend](https://www.facebook.com/femugjlle/?fref=ts). + +Dentro desses dois anos, eu pude aprender e aplicar inúmeras tecnologias, como Angular, React, React Native, Webpack, Docker, TDD e a lista continuaria infinitamente. Sempre há espaço para inovação dentro do trabalho e somos constantemente incentivados a aprender e a compartilhar nossos conhecimentos. + +Trabalhei em produtos incríveis como o [Planrockr](http://planrockr.com/), o [Compufácil](https://compufacil.com.br/) e o [Unoplus](http://unoplus.com.br/). Em todos eles tive a oportunidade de participar ativamente em tomadas de decisão, definição da arquitetura do sistema, implementação de testes unitários e desenvolvimento de *features*, mesmo em épocas que eu era novo no time. + +No começo de 2016, o Elton Minetto começou um projeto pessoal de mentoria com os funcionários. Isso nos ajudou a evoluir ainda mais, conseguimos atingir objetivos como escrever mais posts, palestrar em eventos, contribuir para projetos Open Source e até para o core do PHP. A evolução foi notável em todos os colaboradores. + +Esses dois anos trabalhando na Coderockr mudaram minha forma de pensar sobre desenvolvimento de Software. + +Acredito que toda a troca de experiência, liberdade e confiança que me proporcionaram, foram as coisas que mais me ajudaram a evoluir nesse período. + +Evoluir, aprender e compartilhar conhecimento são coisas que estão no DNA da Coderockr. Recentemente nós publicamos o nosso [Culture Code](https://blog.coderockr.com/culture-code-da-coderockr-17f1789e7731#.prpv7cw8a) onde é possível ver o que nos motiva a fazer o que fazemos. + +Nós estamos com vagas abertas! Se você, assim como eu, compartilha desses [valores](https://github.com/Coderockr/culture-code/blob/master/CultureCode.md#nossos-valores) e acredita nesse [propósito](https://github.com/Coderockr/culture-code/blob/master/CultureCode.md#nosso-propósito) e nessa [missão](https://github.com/Coderockr/culture-code/blob/master/CultureCode.md#nossa-missão), nós queremos trabalhar com você! [Confira a descrição](https://gist.github.com/eminetto/55c57c9d52fcbeacb83789e837ee3c1d) e nos envie seu currículo. diff --git a/content/posts/2017/gerenciando-dependencias-em-golang.md b/content/posts/2017/gerenciando-dependencias-em-golang.md new file mode 100644 index 0000000..4be76b3 --- /dev/null +++ b/content/posts/2017/gerenciando-dependencias-em-golang.md @@ -0,0 +1,56 @@ +--- +title: "Gerenciando Dependências em Golang" +description: "Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas..." +author: "Elton Minetto" +date: 2017-07-27 +draft: false +categories: ["Desenvolvimento"] +tags: ["Desenvolvimento", "GO", "Ferramentas"] +--- +# Gerenciando dependências em Golang + +Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. + +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. Para resolver isso a comunidade começou a desenvolver uma ferramenta para ser o padrão das próximas versões da linguagem. + +Esta ferramenta é o [dep](https://github.com/golang/dep) que está em acelerado desenvolvimento. Apesar de ainda não estar [pronto](https://github.com/golang/dep/wiki/Roadmap) ele já pode ser considerado “safe for production use”, segundo o site oficial. + +Neste post vou mostrar como usá-lo em um [projeto já existente](https://github.com/eminetto/goCep), o primeiro que eu desenvolvi em Go. + +O primeiro passo é instalar a ferramenta, usando o comando: + + go get -u github.com/golang/dep/cmd/dep + +Depois basta entrar no projeto e executar o comando: + + cd goCep dep init + +A saída do comando foi: + + Using ^1.4.0 as constraint for direct dep github.com/gorilla/mux Locking in v1.4.0 (bcd8bc7) for direct dep github.com/gorilla/mux Locking in v1.1 (1ea2538) for transitive dep github.com/gorilla/context Using master as constraint for direct dep github.com/andelf/go-curl Locking in master (f8b334d) for direct dep github.com/andelf/go-curl Using master as constraint for direct dep github.com/ryanuber/go-filecache Locking in master (52ce07f) for direct dep github.com/ryanuber/go-filecache + +O que o *dep* fez foi analisar os meus arquivos *.go* procurando pelos *import* e ao encontrá-lo ele fez os seguintes passos: + +* criou um diretório chamado *vendor* + +* fez o *go get* de cada dependência salvando os arquivos no *vendor* + +* criou um arquivo chamado *Gopkg.toml* com as definições das dependências + +* criou um arquivo chamado *Gopkg.lock* com os detalhes das versões instaladas, incluindo o *commit* específico que está sendo usado de cada dependência + +Para quem está usando o *Composer* do PHP vai reconhecer alguns destes passos pois o resultado é parecido com o *composer.json* e *composer.lock*. + +Agora basta salvar no repositório os arquivos *Gopkg.toml* e *Gopkg.lock*. [Alguns projetos](https://github.com/digitalocean/doctl) defendem a ideia de salvar no repositório o diretório *vendor* para facilitar a compilação, mas eu não acho uma alternativa muito válida. Prefiro salvar apenas os arquivos das definições das dependências e não o código delas. + +Para instalar as dependências novamente basta ter o *dep* instalado e executar: + + dep ensure + +Quando uma nova dependência for necessária no projeto basta adicionar ela no código usando o *import* e executar novamente o *dep ensure* que ela será instalada. + +O *dep* possui mais algumas funcionalidades que podem ser vistas no site oficial, como compatibilidade com outros gerenciadores (Glide por exemplo), atualização das dependências, configurações do arquivo *.toml*, etc. + +O plano é a ferramenta ser incluída por padrão em todas as instalações da linguagem a partir da versão 1.10, o que vai facilitar ainda mais o uso no dia a dia. Sem dúvida vai ser uma ótima adição a linguagem. + +*Originally published at [http://eltonminetto.net/post/2017-07-28-gerenciando-dependencias-golang/](http://eltonminetto.net/post/2017-07-28-gerenciando-dependencias-golang/) on July 28, 2017.* diff --git a/content/posts/2017/iniciando-com-react-1-introducao.md b/content/posts/2017/iniciando-com-react-1-introducao.md new file mode 100644 index 0000000..153709d --- /dev/null +++ b/content/posts/2017/iniciando-com-react-1-introducao.md @@ -0,0 +1,43 @@ +--- +title: "Iniciando com React - #1 Introdução" +description: "React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala..." +author: "Vinicius Dacal" +date: 2017-03-13 +draft: false +categories: ["Desenvolvimento"] +tags: ["Desenvolvimento", "JS", "React", "Programação Funcional"] +--- + +React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na *lib*, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o **V** do [MVC](https://pt.wikipedia.org/wiki/MVC), o React se propõe a controlar a camada da **View**, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + +## Interface Declarativa + +O React permite que nós construamos interfaces interativas de uma maneira fácil e elegante. Com ele, é possível desenvolver **Views** que são renderizadas de acordo com cada estado da aplicação. Ele se responsabiliza por renderizar e atualizar somente o necessário, o que lhe dá um ganho de performance em comparação a Frameworks mais antigos que reconstruíam todo o *HTML* a cada alteração no estado. Sua forma declarativa de criar componentes, torna nosso código mais previsível e fácil de debugar. + +Abaixo segue um exemplo da definição de um componente que chamaremos de **Button**: + +{{< gist viniciusdacal 14500e8af29ba3e2a9709d81c80fe656>}} + +![Componente Button renderizado.](https://cdn-images-1.medium.com/max/3646/1*3Q2z7pDtYByN2CIl0QCAEQ.png)*Componente Button renderizado.* + +> Em um próximo post, abordaremos os passos para criar um componente e explicaremos em detalhes cada item que compõe o código acima. + +## Componentes + +Somos levados a repensar o desenvolvimento de nossas aplicações de modo que toda a interface seja baseada em componentes. É possível construir componentes simples que gerenciam seu próprio estado e utilizá-los para compor componentes mais complexos. Desse modo, é possível levar a reutilização de código a um novo nível. A lógica dos componentes é toda escrita em Javascript e não em templates, isso nos permite manter separados o estado da nossa aplicação do [DOM](https://developer.mozilla.org/pt-BR/docs/DOM/Referencia_do_DOM). + +Segue abaixo um exemplo da definição de um componente **GroupButton**, que reutiliza o componente **Button** que vimos acima: + +{{< gist viniciusdacal 9d57df679a4146183b15cf018a550d11>}} + +![Componente GroupButton renderizado.](https://cdn-images-1.medium.com/max/3646/1*fF3gVcC_INGvPhieNoGA3A.png)*Componente GroupButton renderizado.* + +## Desacoplamento + +Como dissemos anteriormente, o React se responsabiliza somente pela **View** e não opina sobre o resto das tecnologias utilizadas. Sua natureza síncrona e sua propagação de dados unidirecional, permite que ele seja facilmente integrado a outras *libs*. + +## Conclusão + +Com essas características, o React se faz uma ótima escolha para construção de aplicações robustas que dependem de manutenibilidade, escalabilidade e perfomance. Inúmeras empresas estão construindo ou migrando suas aplicações para essa tecnologia, por conta disso o mercado tem se mostrado bem aquecido e semanalmente aparecem anúncios de vagas para profissionais que conhecem a biblioteca. + +No próximo post aprenderemos a criar a estrutura básica de um projeto React. diff --git a/content/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto.md b/content/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto.md new file mode 100644 index 0000000..0a9b0b9 --- /dev/null +++ b/content/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto.md @@ -0,0 +1,162 @@ +--- +title: "Iniciando com React - #2 Criando a Estrutura do Projeto" +description: "Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando..." +author: "Vinicius Dacal" +date: 2017-03-20 +draft: false +categories: ["Desenvolvimento"] +tags: ["Desenvolvimento", "Arquitetura", "JS", "React", "Programação Funcional"] +--- + +Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando [create-react-app](https://github.com/facebookincubator/create-react-app), que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. + +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + +## Instalando Create React +> Para a instalação do CLI é necessário que você já tenha o Node e o NPM instalados na sua máquina. Para verificar se eles estão instalados, execute os seguintes comandos no terminal: +> $ node -v +$ npm -v +> É aconselhável que a versão do Node seja igual ou superior à 5.10.0 e do NPM seja igual ou superior à 3.0.0. +> Caso você ainda não tenha o Node e o NPM instalados, faça [download](https://nodejs.org/en/) pelo site e siga os passos do instalador: [https://nodejs.org/en/](https://nodejs.org/en/) + +![output dos comandos node -v e npm -v](https://cdn-images-1.medium.com/max/3596/1*AXOcEwch-O1PSlGHExevug.png)*output dos comandos node -v e npm -v* + +Com o **node** e o **npm** instalados, execute o seguinte comando: + + **$** npm install -g create-react-app + +O comando acima instala globalmente o módulo *create-react-app*, para que o mesmo fique acessível pelo terminal. O Processo de instalação deve finalizar em alguns minutos. + +## Criando o primeiro projeto + +Com o comando abaixo, iremos criar um projeto chamado **my-app**: + + **$** create-react-app my-app + +O comando acima gera a estrutura do nosso projeto e a coloca em uma nova pasta com o mesmo nome, **my-app**. + +Vamos entrar no diretório do projeto utilizando o comando: + + **$** cd my-app + +E por fim, iniciaremos o build da aplicação. + + **$** npm start + +Além de iniciar o build da aplicação, o comando acima levanta um servidor e fica escutando por alterações nos arquivos. + +Já é possível acessar a url [http://localhost:3000](http://localhost:3000/) no navegador e ver uma tela de boas vindas: + +![](https://cdn-images-1.medium.com/max/3868/1*rGbFOCkAfwshq56M6_11Gw.png) + +## Explorando a estrutura do projeto + +Há inúmeras maneiras de organizar um projeto React, mas esse não é o foco desse post. Aqui, iremos explorar a estrutura default para entendermos como as partes se conectam, e o que realmente é necessário para o bootstrap do React. + +O *create-react-app* cria a seguinte estrutura inicial: + + my-app/ + README.md + node_modules/ + **package.json** + .gitignore + public/ + favicon.ico + **index.html** + src/ + **App.css + App.js + App.test.js + index.css + index.js** + **logo.svg** + +Vamos manter nosso foco nos arquivos **package.json**, **public/index.html** e nos arquivos da pasta **src**. + +### Scripts e dependências + +Observe abaixo o conteúdo do **package.json** que lista as dependências do projeto e possui alguns *aliases* para os scripts envolvidos no build: + +{{< gist viniciusdacal 58eca7aab9f7796e69047c815455aa33>}} + +Como podemos ver no arquivo acima, temos os módulos react e react-dom declarados como dependência, e o react-scripts declarado como uma dependência de desenvolvimento. O react-scripts é o módulo que encapsula todos os scripts e configs do build. + +Também podemos observar que estão sendo declarados alguns scripts, que possuem funcionalidades conforme listadas abaixo: + +* **start:** Inicia o build no modo de desenvolvimento. + +* **build**: Executa o build do projeto otimizado para produção. + +* **test**: Executa os testes do projeto. + +* **eject**: Traz para dentro do nosso projeto, toda a configuração que o react-scripts abstrai. **Não use este comando por enquanto! **Utilizaremos mais a frente para estudar o processo do build. + +### Index + +Observe abaixo o código do arquivo **public/index.html**: + +{{< gist viniciusdacal 5323369a80dc1dc2448632812a14287b>}} + +O arquivo **index.html** vem com a marcação mínima necessária para iniciar nossa aplicação. Porém, é possível observar que não há tags de scripts ou estilos. Não se preocupe, as mesmas serão injetadas automaticamente no build. + +Por ora a única coisa importante a observar é a tag div com o id** root** na linha #10, é ela que o *React* irá utilizar para renderizar nossa aplicação. + +### Componente raiz + +Vamos explorar o conteúdo da pasta **src**. Observe abaixo o arquivo **App.js**, que contém o componente raiz da aplicação: + +{{< gist viniciusdacal b24adeb867b11dadc985cc1afb09cc55>}} + +O componente acima é definido com a *class e extende a classe* Component do React. Existem duas formas de definir componentes, através de *functions* ou através de *class*. Em um futuro post veremos as diferenças entre uma e outra. + +Um componente deve sempre implementar um método ***render***, que retorna um ***JSX*** do que deve ser mostrado na tela, ou **null** quando não deve mostrar nada. + +### JSX + +O que parece ser um HTML dentro do método **render**, é na verdade [JSX](https://facebook.github.io/react/docs/introducing-jsx.html), um [sintatic sugar](https://pt.wikipedia.org/wiki/A%C3%A7%C3%BAcar_sint%C3%A1tico) para a API do React. As principais diferenças no dia-a-dia entre HTML e JSX são: + +* O **class** do html passa a se chamar **className**, porque o termo *class* é uma palavra reservada no Javascript. + +* O **for** da tag *label passa a se chamar **htmlFor**, pelo mesmo motivo do *class*, de ser uma palavra reservada. + +* O conteúdo que estiver entre chaves {}, será interpretado como Javascript. + +* Todos os atributos são nomeados em [lower camelcase](https://pt.wikipedia.org/wiki/CamelCase).Sendo assim, atributos como onclick, passam a se chamar [onClick](https://facebook.github.io/react/docs/handling-events.html). O mesmo vale para atributos que utilizam hífen -, stroke-width por exemplo, passa a se chamar strokeWidth. + +* Todo conteúdo do retorno de um render, deve estar dentro de um único wrapper, caso contrário o seguinte erro é apresentado: Adjacent JSX elements must be wrapped in an enclosing tag while parsing file. + +É importante lembrar que o JSX é convertido em um código React, por esse motivo, devemos importar o módulo React em todo arquivo que utiliza a sintaxe. + +> JSX já é utilizado por outras libs além do React e vem se tornando um padrão para definição de marcação de componentes. + +> É possível seguir em frente com as informações apresentadas acima. Mas se você ficou instigado a saber mais sobre JSX, acesse: [facebook.github.io/react/docs/introducing-jsx.html](https://facebook.github.io/react/docs/introducing-jsx.html). + +### Importação de arquivos de estilos e imagens + +Junto com a base do projeto, já vêm configurados os [loaders](https://webpack.github.io/docs/loaders.html) para os formatos **svg** e **css.** Quando importamos um arquivo **css**, o conteúdo do mesmo é injetado na nossa aplicação, permitindo assim que utilizemos os estilos e classes em nossos componentes. + +Já o **svg** funciona de uma maneira um pouco diferente. Ao importarmos um **svg**, obteremos uma referência, um caminho para o arquivo, e poderemos utilizar essa referência em tags como **** e ****. A importação de outros arquivos de imagem como **jpg**, **png** e **gif** funcionam dessa mesma maneira, porém, nessa estrutura inicial apenas o **svg** é suportado. + +### Bootstrap da aplicação + +Vamos observar abaixo o código do arquivo index.js, é nele que ocorre a inicialização da nossa aplicação: + +{{< gist viniciusdacal 04a81b9bead72c3c97e8bc3dbddd0907>}} + +Na linha #2 do arquivo acima, estamos importando o **ReactDOM**, o módulo do React responsável pela manipulação do *DOM*. + +Na linha #3, importamos nosso componente raiz, o **App.js** que acabamos de ver mais acima. + +O *bootstrap* do React se baseia em você dizer para ele, o que renderizar e onde injetar o que ele renderizou. Estamos fazendo isso na linha #6, através do método render do **ReactDOM**, que espera como primeiro parâmetro um componente, e como segundo parâmetro, um elemento do *DOM* que será utilizado para injetar todo o HTML renderizado. + +![O React renderiza os componentes e gera um output HTML](https://cdn-images-1.medium.com/max/2000/1*2gZ3Z_hfr-9zaFkN474kUQ.png)*O React renderiza os componentes e gera um output HTML* + +No nosso caso, estamos passando o componente **App** para ser o raiz e o elemento que possui o id=”root” para ser o que conterá toda a aplicação. Lembra da nossa tag no arquivo **public/index.html**? Ela mesmo! + +> Não abordamos o conteúdo dos arquivos css e svg, pois os mesmos não possuem nenhuma particularidade quanto ao React. Também não abordamos a parte de testes, porque futuramente haverá um post específico sobre este tema. Mas nada impede que você os explore. Seja curioso! + +## Conclusão + +Aprendendo como criar a estrutura do projeto e a entendendo bem, torna os próximos passos muito mais fáceis. O **React** tem alguns princípios básicos, que bem aprendidos, permitem que construamos desde aplicações simples até as mais robustas. + +No próximo post veremos como criar componentes e aprenderemos sobre o ciclo de vida de um componente React. **Siga-nos e não perca os próximos posts!** diff --git a/content/posts/2017/iniciando-com-react-3-criando-componentes.md b/content/posts/2017/iniciando-com-react-3-criando-componentes.md new file mode 100644 index 0000000..56c116c --- /dev/null +++ b/content/posts/2017/iniciando-com-react-3-criando-componentes.md @@ -0,0 +1,121 @@ +--- +title: "Iniciando com React - #3 Criando Componentes" +description: "O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes..." +author: "Vinicius Dacal" +date: 2017-03-29 +draft: false +categories: ["Desenvolvimento"] +tags: ["Desenvolvimento", "JS", "React", "Programação Funcional"] +--- + +O **React** introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + +> Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + +[< Anterior](https://blog.coderockr.com/iniciando-com-react-2-criando-a-estrutura-do-projeto-2c3b0f8e9f9) | [Proximo >](https://blog.coderockr.com/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle-bbb92b27da83) + +Componentes podem possuir diversos formatos e ter diferentes responsabilidades. Um componente pode ser desde um botão, um formulário ou até uma página completa. + +O React nos permite definir e reutilizar componentes de maneira simples, conforme veremos ao longo desse post. + +## Functional Components + +A forma mais fácil de definir componentes é através de funções Javascript, conforme o exemplo abaixo: + +{{< gist viniciusdacal 5d73a9b3823a139a97de7d5e8531b5ad>}} + +Quando o componente é definido em forma de função, o React cria o componente executando essa função e passando as **props** como primeiro parâmetro. Ele espera um retorno em **JSX** do que deve ser renderizado, ou **null** no caso de não mostrar nada. Componentes React definidos da forma descrita acima, ganham o nome de *Functional Components.* + +## Props + +A forma principal de comunicação entre componentes é utilizando as **props. **Elas são propriedades/atributos passados para os componentes filhos. Observe o exemplo abaixo: + +{{< gist viniciusdacal 84d0089114a77ea7861cd3bd3c2eb12e>}} + +No exemplo acima, na linha #4, estamos novamente definindo o componente Welcome. Na linha #11, estamos utilizando esse componente e passando para ele a prop **name** que possui como valor, a string “**Stranger**”. + +### Valores Dinâmicos + +Podemos também passar variáveis para as props, utilizando chaves {}: + +{{< gist viniciusdacal b9109e1096fee4b50b806f701ec38fff>}} + +Observe as linhas #10 e #13 do exemplo acima. Primeiro definimos uma const **strangerName** e depois passamos ela para a props **name**. No JSX, todo o conteúdo que estiver dentro de chaves será interpretado como Javascript. +> O ES6 trouxe uma feature chamada [Object Detructuring](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Atribuicao_via_desestruturacao#Desestruração_de_objeto), e é ela que estamos utilizando na linha #4 ({ name }). Basicamente, o que ela faz é extrair os atributos de um objeto e criar variáveis com o mesmo nome. Dessa forma, podemos utilizar **name** aos invés de **props.name**. + +### Funções callbacks + +É possível também, passar funções através das **props**. Normalmente fazemos isso quando precisamos passar um **callback** para um componente. +> Um callback é em suma, uma função que passamos como parâmetro para outra função, que por sua vez poderá executar o callback quando algum determinado evento ocorrer, como o final de um request, um evento de click do usuário e etc. + + + +No arquivo acima, não estamos definindo nenhum novo componente, apenas utilizando o elemento button, comum do HTML. + +De acordo com o exemplo acima, cada vez que o usuário clicar no botão, um alerta será mostrado na tela. + +O React suporta [alguns eventos básicos](https://facebook.github.io/react/docs/events.html) de interação de acordo com o componente HTML que utilizarmos, como onClick, onChange, onKeyPress, etc… + +### Children + +A **prop** “**children” **é um pouco diferente das outras.** **Ela** **é o conteúdo que passamos dentro da tag: + +
**Esse conteúdo será a prop children**
+ +Conforme o exemplo acima, todo o conteúdo que está dentro da div, será o valor de **props.children**. + +Conforme o exemplo que veremos logo abaixo, é possível passar **children** explicitamente, porém, esse modo é pouco utilizado. A forma abaixo é equivalente à anterior: + +
+ +## Button + +Vamos rever um exemplo similar ao que foi apresentado no primeiro post da série, explorando em detalhes o conteúdo: + + + +Como podemos ver no exemplo acima, na linha #4 estamos definindo um componente chamado **Button**. Mais abaixo na linha #13 estamos utilizando ele, passando o children “**Example” **e uma função para **onClick**, que quando executada, exibirá “You just clicked” no console do navegador. + +Na definição do componente na linha #4, estamos esperando as props **children**, **onClick** e **type**, e especificamos a string **“button”**, para ser o [valor padrão](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Functions/Parametros_Predefinidos) da prop **type**. + +Na linha #6, estamos utilizando o elemento button, passando para ele a prop **type** e passando a prop **className**, que é equivalente ao atributo [**class** do HTML](https://developer.mozilla.org/pt-BR/docs/Web/HTML/Global_attributes/class). No **className**, estamos passando a classe “**btn”**, que seria utilizada no CSS para definirmos o estilo do nosso botão. Além disso, repassamos a prop **onClick**. + +Na linha #7, apenas repassamos o children que recebemos. +> **Dica: **Sempre inicie o nome de componentes com uma letra maiúscula. +> Por exemplo, <**b**utton /> representa um elemento HTML padrão, mas <**B**utton /> representa um componente e exige que a variável **Button** esteja no escopo. + +## Composição de componentes + +É possível criar componentes que reutilizam outros. Dessa forma, podemos criar pequenos componentes que são úteis em várias partes de uma aplicação e então, compor esses componentes quando precisamos criar componentes mais complexos. + + + +Conforme é possível ver no exemplo acima, possuímos dois componentes: **Button** e **GroupButton**. Primeiro temos o componente mais simples, **Button**, que pode ser reaproveitado em qualquer parte da aplicação. Depois temos o **ButtonGroup**, onde reutilizamos **Button** para criarmos um componente maior. +> Dica: Componentes devem retornar um único elemento raiz. Esse é um dos motivos de termos colocado uma*
* para conter todos os componentes *
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/about/index.xml b/public/about/index.xml new file mode 100644 index 0000000..e6ef877 --- /dev/null +++ b/public/about/index.xml @@ -0,0 +1,15 @@ + + + + Sobre on Blog Coderockr + //blog.coderockr.com/about/ + Recent content in Sobre on Blog Coderockr + Hugo -- gohugo.io + pt-br + Sat, 20 Jun 2015 14:02:37 +0200 + + + + + + \ No newline at end of file diff --git a/public/categories/carreira/index.html b/public/categories/carreira/index.html new file mode 100644 index 0000000..0301735 --- /dev/null +++ b/public/categories/carreira/index.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Carreira · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+

2014

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/categories/carreira/index.xml b/public/categories/carreira/index.xml new file mode 100644 index 0000000..3ccb413 --- /dev/null +++ b/public/categories/carreira/index.xml @@ -0,0 +1,137 @@ + + + + Carreira on Blog Coderockr + //blog.coderockr.com/categories/carreira/ + Recent content in Carreira on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 30 Mar 2017 00:00:00 +0000 + + + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + Dois Anos de Coderockr + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Sun, 26 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + Aprenda a Dizer NÃO, Você Precisará Disso! + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Sat, 02 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido. +Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook. + + + + Nossas Experiências com Mentoria na Coderockr + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Fri, 01 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias. +A motivação Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer: + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Tue, 02 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira. + + + + Se eu Soubesse aos 18  —  Profissão + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Fri, 18 Dec 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca. +A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início. + + + + Se as Empresas Fossem Bandas de Rock + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Wed, 22 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas. +O Manager O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + Multitasking Só é Bom no seu Computador + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Thu, 27 Nov 2014 00:00:00 +0000 + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias. +Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + Programador Dave Grohl e Não Axl Rose + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + Mon, 26 Aug 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado. +O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”. +Traduzi/adaptei os trechos mais importantes: + Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos. + + + + \ No newline at end of file diff --git a/public/categories/coderockr-culture/index.html b/public/categories/coderockr-culture/index.html new file mode 100644 index 0000000..f6802e6 --- /dev/null +++ b/public/categories/coderockr-culture/index.html @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Coderockr Culture · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+

2014

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/categories/coderockr-culture/index.xml b/public/categories/coderockr-culture/index.xml new file mode 100644 index 0000000..f78370c --- /dev/null +++ b/public/categories/coderockr-culture/index.xml @@ -0,0 +1,333 @@ + + + + Coderockr Culture on Blog Coderockr + //blog.coderockr.com/categories/coderockr-culture/ + Recent content in Coderockr Culture on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 13 Nov 2017 00:00:00 +0000 + + + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + O Plano de Carreiras da Coderockr + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + Mon, 29 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + O que é um plano de carreira? +Citando a definição neste ótimo post publicado no site da Endeavor: + Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição. + Porque criar um plano? A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + Dois Anos de Coderockr + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Sun, 26 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. + + + + Culture Code da Coderockr + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Mon, 09 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Hoje é um dia importante para nós da Coderockr pois estamos tornando público nosso Culture Code. +Essa é uma prática que se tornou famosa desde que a Netflix publicou o seu em 2009 e desde então várias empresas fizeram o mesmo. +Citando o post da Resultados Digitais sobre o assunto: + Culture Code é um documento que serve para uma série de coisas: um guia para os colaboradores da empresa, um material para atração de novas pessoas para o time, critérios de seleção e avaliação de desempenho, um norte para onde queremos evoluir com as nossas práticas no dia a dia e em última instância até como um “manifesto” de como achamos que o trabalho deveria ser na maioria dos lugares. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + A Importância do Propósito + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Tue, 20 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais &ldquo;tradicionais&rdquo; ou &ldquo;startups&rdquo;. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como &ldquo;missão, visão, valores&rdquo;, e o que eu acho ainda mais útil: o propósito da empresa. + + + + Como Usamos o Slack na Coderockr + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Thu, 21 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Dentre os valores da Coderockr estão dois pontos importantes: cooperação e transparência. Como somos uma empresa que desenvolve software nada mais esperado do que usarmos aplicativos para ajudar nestes objetivos. E hoje a principal ferramenta para isso é o Slack, que rapidamente tornou-se o coração de muitas empresas +Nós usamos o Slack como o nosso canal de comunicação, tanto entre as equipes quanto com os clientes. Cada projeto recebe um canal específico, como no exemplo abaixo: + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Nossas Experiências com Mentoria na Coderockr + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Fri, 01 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias. +A motivação Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer: + + + + Por que Ir a Eventos? + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Fri, 26 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira. +Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Se eu Soubesse aos 18  —  Profissão + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Fri, 18 Dec 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca. +A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + O Propósito da Coderockr + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Thu, 14 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de &ldquo;golden circle&rdquo; onde mostra a importância das empresas terem foco no &ldquo;por quê&rdquo; mais do que no &ldquo;como&rdquo; ou &ldquo;o que&rdquo; fazem. +Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos. + Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + Se as Empresas Fossem Bandas de Rock + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Wed, 22 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas. +O Manager O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. + + + + Multitasking Só é Bom no seu Computador + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Thu, 27 Nov 2014 00:00:00 +0000 + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias. +Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + Programador Dave Grohl e Não Axl Rose + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + Mon, 26 Aug 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado. +O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”. +Traduzi/adaptei os trechos mais importantes: + Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos. + + + + \ No newline at end of file diff --git a/public/categories/desenvolvimento/index.html b/public/categories/desenvolvimento/index.html new file mode 100644 index 0000000..6ad4a30 --- /dev/null +++ b/public/categories/desenvolvimento/index.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Desenvolvimento · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+

2017

+ +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/categories/desenvolvimento/index.xml b/public/categories/desenvolvimento/index.xml new file mode 100644 index 0000000..4fe42f6 --- /dev/null +++ b/public/categories/desenvolvimento/index.xml @@ -0,0 +1,598 @@ + + + + Desenvolvimento on Blog Coderockr + //blog.coderockr.com/categories/desenvolvimento/ + Recent content in Desenvolvimento on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 06 Jun 2018 00:00:00 +0000 + + + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + Integração Contínua Usando o Drone + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone. +O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais: + Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando um Novo Projeto: Decisões de Arquitetura + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência. +Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real. +O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + The Code Ownership Feeling + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Fri, 30 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be +That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. + + + + O Sentimento de Propriedade do Código + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + Thu, 15 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + My precious! + Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo. +Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + Tue, 23 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser. +A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client. +Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados. + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + \ No newline at end of file diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..e90e54d --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Categories · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + +
+
+ +
+ + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..10a75ec --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,51 @@ + + + + Categories on Blog Coderockr + //blog.coderockr.com/categories/ + Recent content in Categories on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 30 Mar 2017 00:00:00 +0000 + + + + + + Carreira + //blog.coderockr.com/categories/carreira/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/categories/carreira/ + + + + + Coderockr Culture + //blog.coderockr.com/categories/coderockr-culture/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/categories/coderockr-culture/ + + + + + Desenvolvimento + //blog.coderockr.com/categories/desenvolvimento/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/categories/desenvolvimento/ + + + + + Mercado + //blog.coderockr.com/categories/mercado/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/categories/mercado/ + + + + + \ No newline at end of file diff --git a/public/categories/mercado/index.html b/public/categories/mercado/index.html new file mode 100644 index 0000000..9a75e94 --- /dev/null +++ b/public/categories/mercado/index.html @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mercado · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + + + +
+

2013

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/categories/mercado/index.xml b/public/categories/mercado/index.xml new file mode 100644 index 0000000..b0785d8 --- /dev/null +++ b/public/categories/mercado/index.xml @@ -0,0 +1,187 @@ + + + + Mercado on Blog Coderockr + //blog.coderockr.com/categories/mercado/ + Recent content in Mercado on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 14 Dec 2018 00:00:00 +0000 + + + + + + Mercado de Aplicativos: 4 Tendências para 2019 + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + O mercado de apps está sempre repleto de novidades e para o próximo ano as perspectivas não são diferentes. Esse mercado continuará em expansão, acompanhando a consolidação do crescente uso de celulares e outros dispositivos móveis, como os tablets. Os smartphones, por exemplo, já não são mais acessórios usados apenas para ligações e envio de mensagens. Com o desenvolvimento tecnológico do mercado de aplicativos, esses aparelhos se tornaram presentes em diversas etapas do dia-dia. + + + + I.A. Inteligência Artificial + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I. + + + + Presença Digital para as Organizações + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Thu, 18 Oct 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Entenda a importância! +O mercado apresenta novas tendências cada vez mais rápido e, com esta realidade, é natural que o seu cliente também esteja atento a essas mudanças e modifique o seu perfil em busca de novas oportunidades que lhe proporcionem maior retorno. +Nesse cenário, as empresas que possuem forte presença digital têm uma excelente vantagem, porque conseguem atender a esse anseio do público com maior facilidade na hora de adquirir um produto ou serviço. + + + + Entenda a Diferença de um Software Customizado e um Software Pronto + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Fri, 10 Aug 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Um software pode ser desenvolvido para uma área de mercado ou customizado para atender uma necessidade específica de negócio. Neste último caso, o desenvolvimento é adaptado a empresa, compreendendo os desejos de seu cliente e criando áreas específicas para atender 100% a demanda em questão. +Um software pronto “de prateleira” é mais fechado, geralmente desenvolvido de maneira genérica para atender o maior número de situações de negócios possível, utilizando um modelo específico. + + + + Escopo Fechado: Porque Não Optar? + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Motivos que afetam o insucesso do seu projeto digital +O mercado de desenvolvimento de soluções digitais têm frequentemente se deparado com vários problemas ao optar por métodos de desenvolvimento de software tradicionais. +Principalmente quando as necessidades do projeto mudam e os desenvolvedores não tem expertise para atender essas mudanças em curto prazo. E acredite, com certeza as necessidades do projeto vão mudar em algum momento, mesmo você afirmando que hoje é somente isso o que quer em seu projeto. + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + 5 Razões para Desenvolver um Software Personalizado para o seu Negócio + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Thu, 08 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Sua empresa enfrenta problemas relacionados a gestão, lançamentos massivos, cadastros diversos, sofre com a falta de identidade da sua marca, opções de personalização e melhorias escassas, entre outros? A solução pode estar na busca por uma Software House, empresa especializada no desenvolvimento de softwares e aplicativos, que atenda todas as suas necessidades. Veja as vantagens de investir no desenvolvimento de um software próprio: +Atende às necessidades específicas da empresa A principal vantagem de ter um software sob medida é que este foi desenvolvido para atender especialmente às necessidades do seu negócio ou empresa. + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + O Plano de Carreiras da Coderockr + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + Mon, 29 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + O que é um plano de carreira? +Citando a definição neste ótimo post publicado no site da Endeavor: + Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição. + Porque criar um plano? A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + A Importância do Propósito + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Tue, 20 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais &ldquo;tradicionais&rdquo; ou &ldquo;startups&rdquo;. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como &ldquo;missão, visão, valores&rdquo;, e o que eu acho ainda mais útil: o propósito da empresa. + + + + Aprenda a Dizer NÃO, Você Precisará Disso! + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Sat, 02 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido. +Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook. + + + + Por que Ir a Eventos? + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Fri, 26 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira. +Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Tue, 02 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira. + + + + O Propósito da Coderockr + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Thu, 14 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de &ldquo;golden circle&rdquo; onde mostra a importância das empresas terem foco no &ldquo;por quê&rdquo; mais do que no &ldquo;como&rdquo; ou &ldquo;o que&rdquo; fazem. +Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos. + Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + \ No newline at end of file diff --git a/public/css/font-awesome.min.css b/public/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/public/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/public/css/highlight.css b/public/css/highlight.css new file mode 100644 index 0000000..2321f93 --- /dev/null +++ b/public/css/highlight.css @@ -0,0 +1,99 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +code { + background: #fff; + font-size: 11px; + /*font-weight: 100;*/ + padding: 4px; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: scroll; + font-family: 'Menlo', 'Monaco', Courier, monospace; +} + +pre code { + font-size: 11px; + word-wrap: break-word; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: auto; + padding: 16px; + padding-bottom: 14px; + display: block; + color: #808080; + background: #fff; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: auto; +} + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +code.hljs { + display: block; + white-space: pre; + overflow-x: auto; + word-wrap: normal; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/public/css/monosocialiconsfont.css b/public/css/monosocialiconsfont.css new file mode 100755 index 0000000..c2eb817 --- /dev/null +++ b/public/css/monosocialiconsfont.css @@ -0,0 +1,25 @@ +@font-face { + font-family: 'Mono Social Icons Font'; + src: url('../fonts/MonoSocialIconsFont-1.10.eot'); + src: url('../fonts/MonoSocialIconsFont-1.10.eot?#iefix') format('embedded-opentype'), + url('../fonts/MonoSocialIconsFont-1.10.woff') format('woff'), + url('../fonts/MonoSocialIconsFont-1.10.ttf') format('truetype'), + url('../fonts/MonoSocialIconsFont-1.10.svg#MonoSocialIconsFont') format('svg'); + src: url('../fonts/MonoSocialIconsFont-1.10.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +.symbol, a.symbol:before { + font-family: 'Mono Social Icons Font'; + -webkit-text-rendering: optimizeLegibility; + -moz-text-rendering: optimizeLegibility; + -ms-text-rendering: optimizeLegibility; + -o-text-rendering: optimizeLegibility; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-font-smoothing: antialiased; + -ms-font-smoothing: antialiased; + -o-font-smoothing: antialiased; + font-smoothing: antialiased; +} \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..d58157e --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,1014 @@ +/* Reset */ + +@font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_lowplus-webfont.woff2') format('woff2'), + url('../fonts/gobold_lowplus-webfont.woff') format('woff'); + font-weight: 200; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_regular-webfont.woff2') format('woff2'), + url('../fonts/gobold_regular-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_thin-webfont.woff2') format('woff2'), + url('../fonts/gobold_thin-webfont.woff') format('woff'); + font-weight: 300; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_uplow-webfont.woff2') format('woff2'), + url('../fonts/gobold_uplow-webfont.woff') format('woff'); + font-weight: 700; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_lt-webfont.woff2') format('woff2'), + url('../fonts/aller_std_lt-webfont.woff') format('woff'); + font-weight: 300; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'), + url('../fonts/aller_std_rg-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'), + url('../fonts/aller_std_rg-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + margin: 0; + padding: 0 +} + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block +} + +body { + line-height: 1 +} + +blockquote, q { + quotes: none +} + +blockquote:before, blockquote:after, q:before, q:after { + content: none +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +*, *:before, *:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + + +/* Clearfix */ + +.clearfix:after { + content: ""; + display: table; + clear: both; +} + +.hidden { + display: none; +} + + +/* Icons */ + +@font-face { + font-family: 'icons'; + src: url('../fonts/icons.eot'); + src: url('../fonts/icons.eot#iefix') format('embedded-opentype'), url('../fonts/icons.woff') format('woff'), url('../fonts/icons.ttf') format('truetype'), url('../fonts/icons.svg#icons') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "icons"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + text-align: center; + font-variant: normal; + text-transform: none; + line-height: 1em; +} + +.icon-facebook:before { + content: '\e802'; +} + +.icon-facebook-squared:before { + content: '\e800'; +} + +.icon-twitter:before { + content: '\e801'; +} + +.icon-twitter-1:before { + content: '\e804'; +} + +.icon-facebook-circled:before { + content: '\e805'; +} + +.icon-twitter-circled:before { + content: '\e806'; +} + +.icon-facebook-rect:before { + content: '\e803'; +} + + +/* Spacing */ + +.post h1, h3, h4, h5, p, #post-body ul, #post-list li, #post-body ol, pre { + margin-bottom: 20px; +} + + +/* Base */ + +html, body { + height: 100%; +} + +body { + font: 16px/1 "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #666; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; +} + +h1 { + font-size: 30px; + letter-spacing: -1px; + color: #222; + font-weight: bold; +} + +h2 { + font: italic 19px/1.3em Georgia, serif; + color: #bbb; +} + +.profile #wrapper { + padding: 60px 40px 0px; + max-width: 800px; + margin: 0 auto; +} + +.profile #header { + margin-bottom: 60px; + text-align: center; + position: relative; +} + +.profile #avatar { + display: inline-block; + width: 80px; + height: 80px; + border-radius: 50%; + margin-bottom: 20px; +} + +.profile h1 { + font-family: gobold; + text-transform: lowercase; + font-weight: 400; + letter-spacing: 0px; + font-size: 26px; + color: #222; +} + +.profile h2 { + font-size: 20px; + font-weight: 300; + color: #222; + margin-top: 10px; + font-family: 'Aller', Helvetica, Arial, sans-serif; + font-style: normal; +} + +nav.main-nav { + font-family: 'Aller', Helvetica, Arial, sans-serif; + padding: 20px 20px 0; + background: #fff; + background: rgba(255, 255, 255, .90); + margin: 0 auto; + text-align: right; + z-index: 100; +} + +nav.main-nav a { + top: 8px; + right: 6px; + padding: 8px 12px; + color: #f1a10a; + font-size: 14px; + line-height: 1.35; + border-radius: 3px; +} + +nav.main-nav a.cta { + background: #f1a10a; + color: #fff; + margin-left: 12px; +} +@media (max-width: 700px) { + nav.main-nav { + padding: 20px 10px 0 0; + background: #fff; + background: rgba(255, 255, 255, .90); + margin: 0 auto; + text-align: right; + z-index: 100; + } + nav.main-nav a { + top: 8px; + right: 6px; + padding: 8px 8px; + color: #f1a10a; + font-size: 13px; + line-height: 1.35; + border-radius: 3px; + } +} +@media (max-width: 324px) { + nav.main-nav a.cta { + display: none; + } +} + +#wrapper { + max-width: 800px; + margin: 0 auto; + padding: 60px 20px 100px 20px; +} + +#wrapper.home { + max-width: 800px; + margin: 0 auto; + padding: 0px 40px 20px 40px; +} + +.home #avatar { + float: right; + width: 40px; + height: 40px; + border-radius: 50%; +} + + +/* Typography */ + + +/*Accent color*/ + +a, #title, #post-list a:hover, #title:hover, #post-list a:hover .author { + text-decoration: none; + color: #f1a10a; + color: #f1a10a; +} + +p a { + color: #f1a10a; +} + + +/*Transitions*/ + +a, #post-nav a, #post-list a { + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + transition: all 0.15s ease; +} + +ul { + margin: 0; + padding: 0; +} + +li { + list-style-position: outside; + /* text-indent: -1.5em; */ + margin-left: 1.5em; +} + +ul>li { + list-style-type: disc; +} + + +/* Line Height */ + +#post-body, p { + line-height: 1.7; +} +#post-body p > a { + word-break: break-word; + white-space: pre-wrap; +} + +b, strong { + font-weight: 500; + color: #1E2025; +} + +em, i { + font-style: italic; +} + +#title { + display: inline-block; + line-height: 100%; + font-weight: 500; + font-size: 19px; + margin: 0; + padding-bottom: 20px; +} + +.description { + float: right; + font: italic 14px/1.4em Georgia, serif; + color: #aaa; +} + +.home h1 { + font-size: 30px; + letter-spacing: -1px; + color: #222; + font-weight: bold; +} + +.home h2 { + font: italic 19px/1.3em Georgia, serif; + color: #bbb; +} + +.post header { + text-align: center; +} + +.post header .author { + margin: -20px 0 50px 0; + font-family: "Aller", helvetica, Arial, sans-serif; +} + +.post header .author span { + font-weight: 300; +} + +.post h1 { + margin-top: 40px; + margin-bottom: 20px; + color: #222; + font: 300 32px/1.4em "Gobold", Helvetica, Arial, sans-serif; + text-transform: lowercase; +} + +.post h2 { + margin-top: 20px; + margin-bottom: 10px; + font: 300 24px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #111; +} + +.post h2.headline { + font: normal 13px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: -5px 0 0 0; + color: #b2b9be; + font-size: 13px; + letter-spacing: 1px; + display: inline-block; +} + +.post h2.headline .tags { + font: normal 13px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: -5px 0 40px 0; + color: #b2b9be; + font-size: 13px; + text-transform: uppercase; + letter-spacing: 2px; + margin-top: 5px; + display: block; +} + +#post-list h2 { + font: normal 17px/1.5em "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #aaa; + margin-top: 2px; +} + +h3, h4, h5 { + color: #333; +} + +h3 { + font-size: 20px; + font-weight: 400; +} + +h4 { + font-size: 16px; + font-weight: bold; +} + +h5 { + font-size: 15px; + font-weight: bold; +} + +h6 { + font-size: 13px; + font-weight: bold; + color: #666; + margin-bottom: 6px; +} + +p.small { + color: #bbb; + font-size: 14px; + line-height: 1.5; + display: block; + text-align: center; + margin-top: 20px; +} + +blockquote { + padding-left: 15px; + border-left: 3px solid #eee; +} + +hr { + display: block; + border: none; + height: 1px; + margin: 40px auto; + background: #eee; +} + +table { + width: 100%; + margin: 40px 0; + border-collapse: collapse; + font-size: 13px; + line-height: 1.5em; +} + +th, td { + text-align: left; + padding-right: 20px; + vertical-align: top; +} + +table td, td { + border-spacing: none; + border-style: solid; + padding: 10px 15px; + border-width: 1px 0 0 0; +} + +tr>td { + border-top: 1px solid #eaeaea; +} + +tr:nth-child(odd)>td { + background: #fcfcfc; +} + +thead th, th { + text-align: left; + padding: 10px 15px; + height: 20px; + font-size: 13px; + font-weight: bold; + color: #444; + border-bottom: 1px solid #dadadc; + cursor: default; + white-space: nowrap; +} + +img { + width: 100%; + max-width: 100%; + border-radius: 3px; +} + + +/* Made with Cactus Badge */ + +#badge { + position: absolute; + bottom: 8px; + right: 8px; + height: 48px; + width: 48px; +} + + +/*========================================= +Post List +=========================================== */ + +#post-list, #archive-list { +} + +#post-list li, #archive-list li { + list-style-type: none; +} + +#post-list li:last-child { + margin-bottom: 0; +} + +#post-list li+li { + padding-top: 20px; +} + +#post-list a { + color: #333; + display: block; + font: bold 19px/1.7 "Aller", helvetica, Arial, sans-serif; +} + +#post-list .dates { + float: right; + position: relative; + top: 1px; + font: 300 17px/1.8 "Aller", helvetica, Arial, sans-serif; + color: #bbb; +} + +#post-list .author { + margin-top: 3px; + font: bold 13px/1.7 "Aller", helvetica, Arial, sans-serif; + color: #f1a10a; +} + + +#post-list-footer { + border-top: 1px solid #eee; + margin-top: 20px; + padding-top: 100px; +} + +#archive-link { + display: inline-block; + font-size: 13px; + font-weight: bold; + border-radius: 4px; + padding: 3px 10px 6px; + box-shadow: 0 0 0 1px hsla(207, 83%, 80%, 1); +} + +#archive-link:hover { + background: #f1a10a; + color: #fff; + box-shadow: 0 0 0 1px #f1a10a; +} + +#archive-link span { + position: relative; + top: 0; + font-size: 17px; +} + +#footer { + margin-top: 100px; +} + + +/* Post Page */ + +#header { +} +#wrapper.post { + max-width: 800px; +} +.post { + margin: auto; +} + +#post-meta { + font-size: 13px; + font-weight: bold; + line-height: 1.4; + border-top: 1px solid #eee; + padding-top: 40px; + margin-bottom: 40px; + padding-bottom: 40px; + margin-top: 40px; + color: #444; + border-bottom: 1px solid #eee; +} + +#post-meta div span { + color: #aaa; + font-weight: 500; + display: block; +} + +#post-meta div span.dark { + color: #1E2025; +} + +#post-meta div { + margin: 0 25px 0 0; + float: left; +} + +#sharing { + float: right; + margin: -2px; +} + +#sharing a { + font-size: 20px; + font-size: 23px; + margin-left: 1px; + margin-top: 4px; + color: #d4d4d4; + display: inline-block; + vertical-align: middle; +} + +#sharing a:hover { + opacity: 0.8; +} + + +/* Post Navigation */ + +#post-nav { + text-align: center; + padding-top: 20px; + font-size: 13px; + font-weight: 500; + margin-top: 40px; +} + +#post-nav span { + -webkit-transition: all 0.1s linear; + -moz-transition: all 0.1s linear; + -ms-transition: all 0.1s linear; + -o-transition: all 0.1s linear; + transition: all 0.1s linear; + position: relative; +} + +#post-nav span.prev { + float: left; +} + +#post-nav span.next { + float: right; +} + +#post-nav span .arrow { + position: relative; + padding: 1px; +} + +#post-nav span.prev:hover .arrow { + left: -4px; +} + +#post-nav span.next:hover .arrow { + right: -4px; +} + +/* #post-nav span.prev:hover { + left: -3px; +} + +#post-nav span.next:hover { + right: -3px; +} */ + + +/* Archive */ + +h1.archive { + margin-bottom: 0px; +} + +h2.month { + width: 100%; + font: bold 13px/1 "Helvetica Neue", helvetica, Arial, sans-serif; + text-transform: uppercase; + margin-top: 40px; + margin-bottom: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} + +#archive-list li:last-child { + margin-bottom: 0; +} + +#archive-list a { + display: block; + font: bold 17px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #333; +} + +#archive-list .dates { + float: right; + position: relative; + top: 1px; + font: 300 17px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #bbb; +} + +#archive-list li a:hover, #archive-list li:hover .dates { + color: #f1a10a; +} + +#post-meta img.avatar { + height: 36px; + width: 36px; + float: left; + border-radius: 50%; + margin-top: 3px; + margin-right: 20px; + box-shadow: 0 0 0 3px #fff, 0 0 0 4px #eee; +} + +#post-list.archive.readmore { + margin-top: 70px; +} +#post-list.archive.readmore li { + margin-bottom: 0px; +} +#post-list.archive.readmore h3 { + font: 400 20px "Helvetica Neue", Helvetica, Arial, sans-serif; + margin-bottom: 30px; +} + +#post-list.archive.readmore a { + font: 400 16px/1.6 "Helvetica Neue", helvetica, Arial, sans-serif; + color: #f1a10a; +} + +#post-list.archive.readmore a:hover { + opacity: 0.8; +} + +#post-list.archive.readmore .dates { + font: 300 16px/1.6 "Helvetica Neue", helvetica, Arial, sans-serif; +} + +#disqus_thread, #ds-thread { + margin-top: 100px; +} + +#sharing a.facebook { + background: #4361b3; +} + +#sharing a.twitter { + background: #4fafed; +} + +#sharing a { + font-size: 20px; + font-size: 13px; + font-weight: bold; + color: #fff; + padding: 6px 10px; + border-radius: 4px; + margin-left: 2px; +} + + +/* Media Queries */ + +@media screen and (max-width: 540px) { + #wrapper { + padding: 20px 20px 20px 20px; + } + #header { + margin-bottom: 60px; + } + .post { + margin: 40px 0; + } + #footer { + margin-top: 60px; + } + #post-list, #archive-list { + margin-top: 0; + } + #post-meta { + margin-top: 60px; + } + #title { + font-size: 17px; + } + #post-list .dates { + display: none; + } + #post-list-footer { + margin-top: 20px; + padding-top: 40px; + } + h1 { + font-size: 26px; + } + .post h2.headline { + font-size: 13px; + } + .post h1 { + font-size: 24px; + } + .post h2 { + font-size: 20px; + } +} + +.archive { + margin: 0 0 50px 0; + font-size: 16px; +} + +.archive h3 { + font-family: 'Aller'; +} + +.archive .post-item { + padding: 10px 0px; + overflow-x: hidden; + white-space:nowrap; +} + +.archive .post-time { + display: inline-block; + width: 60px; + margin: 0; + color: #8a8a8a; +} + +@media screen and (max-width: 768px) { + .archive .post-time { + margin: 5px 0; + width: auto; + font-size: 13px; + display: block; + } +} + +.archive .post-link { + color: #8a8a8a; +} + +.archive .post-item:hover { + color: #f1a10a; + transition: 0.3s ease-out; +} +.archive .post-item:hover .post-link { + color: #f1a10a; +} + +.fa.fa-heart:hover { + color: #ff3356; + transition: 0.7s ease-out; + cursor: pointer; +} + + +/* CUSTOM ADDITIONS */ + +#social { + text-align: center; +} + +a.symbol { + color: #cdd4da; + font-size: 2rem; + text-decoration: none; + margin-right: 0.3rem; +} + +a.symbol:hover { + color: #222; +} + + +/** + * Table of content + */ +#toc { + line-height: 1em; + font-size: .7em; + word-wrap: break-word; + padding: 8px; + padding-left: 16px; + padding-bottom: 14px; + margin: 0 0 25px 0; + display: block; + color: #808080; + background: #fff; + border: none; + box-shadow: inset 0 0 0 1px #E4EBF2; + border-radius: 4px; + overflow: hidden; + font-family: 'Menlo', 'Monaco', Courier, monospace; +} +#TableOfContents { + margin: 1em 0 0 0; + overflow-x: auto; + word-wrap: normal; + word-break: break-all; + white-space: nowrap; +} +#TableOfContents ul { + list-style-type:none; + margin: 0; + padding: 0 .5em; +} +#TableOfContents ul li { + list-style-type: none; + line-height: 1.7em; +} +#TableOfContents > ul { + padding: 0; +} +#TableOfContents > ul > li > ul { + padding: 0; +} +#TableOfContents a code{ + font-family: Menlo, Monaco, Courier; + background-color: #fff; + font-size: 11px; + padding: 2px 3px; + font-weight: 100; +} + + +/** + * tags page + */ + +#wrapper.tags { + max-width: 768px; + padding-top: 0; +} +.page-tags { + text-align: center; +} +.page-tags ul li { + margin: 10px 15px; + display: inline-block; + font-size: 1.2em; +} +.page-tags ul li a { + color: #8a8a8a; + +} +.page-tags ul li a span { + font-size: .9em; +} +.page-tags ul li a:hover { + color: #f1a10a; +} diff --git a/public/fonts/FontAwesome.otf b/public/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/public/fonts/MonoSocialIconsFont-1.10.eot b/public/fonts/MonoSocialIconsFont-1.10.eot new file mode 100755 index 0000000000000000000000000000000000000000..100b2b34e26fb99200383217fd0474f15cdc44f8 GIT binary patch literal 146870 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%0D=3vjQ$N@C^vKwzpE$vVgjcH<9kBUtd;EkW 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

wLdaLG4_ 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 PPRpyk{ww!4#K8Xq0^~?O literal 0 HcmV?d00001 diff --git a/public/fonts/MonoSocialIconsFont-1.10.svg b/public/fonts/MonoSocialIconsFont-1.10.svg new file mode 100755 index 0000000..ead38ff --- /dev/null +++ b/public/fonts/MonoSocialIconsFont-1.10.svg @@ -0,0 +1,1013 @@ + + + + +Created by Ivan Drinchev. OFL license +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/MonoSocialIconsFont-1.10.ttf b/public/fonts/MonoSocialIconsFont-1.10.ttf new file mode 100755 index 0000000000000000000000000000000000000000..20cdb85f84c042dfd1e851d4dc8b29999d1f326a GIT binary patch literal 146660 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

-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≥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 literal 0 HcmV?d00001 diff --git a/public/fonts/aller_std_lt-webfont.woff2 b/public/fonts/aller_std_lt-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..1df16d5d666e6affd01a4515263ae4e48dcb1f11 GIT binary patch literal 29064 zcmV)DK*7IvPew8T0RR910C9)_6951J0ek!a0C5-q0RR9100000000000000000000 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 LmfZ|10{{R3(#tYM literal 0 HcmV?d00001 diff --git a/public/fonts/aller_std_rg-webfont.woff b/public/fonts/aller_std_rg-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..5a74aead3f2bee84a9bee73cbb997b894c8aa6dc GIT binary patch literal 41768 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

VM1!B+-++{AfqV5tGFV&xy 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%0Dk&i%7u(!@HJPMW@}FlnS#e10!?AzSG$I)7qN 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 r;an~S*If+k_5T^*BHTa)T#hhqA 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 literal 0 HcmV?d00001 diff --git a/public/fonts/fontawesome-webfont.eot b/public/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 zcmd443w)Ht)jvM-T=tf|Uz5#kH`z;W1W0z103j^*Tev7F2#5hiQ9w~aka}5_DkxP1 zRJ3Y?7YePlysh?CD|XvjdsAv#YOS?>W2@EHO9NV8h3u2x_sp}KECIB>@9+Qn{FBV{ zJTr4<=FH5QnRCvZnOu5{#2&j@Vw_3r#2?PKa|-F4dtx{Ptp0P(#$Rn88poKQO<|X@ zOW8U$o^4<&*p=|D!J9EVI}`7V*m|~_En`<8B*M-{$Q6LOSfmND1Z!lia3ffVHQ_mu zwE*t)c_Na~v9UCh+1x2p=FeL7+|;L;bTeUAHg(eEDN-*};9m=WXwJOhO^lgVEPBX5Gh_bo8QSSFY{vM^4hsD-mzHX!X?>-tpg$&tfe27?V1mUAbb} z1dVewCjIN7C5$=lXROG% zX4%HIa)VTc_%^_YE?u@}#b58a4S8RL@|2s`UUucWZ{P9NJxp5Fi!#@Xx+(mZ+kdt3 zobw#*|6)Z(BxCGw^Gi+ncRvs|a|3xz=tRA9@HDV~1eqD)`^`KTPEg`UdXhq18})-@}JTHp30^)`L{?* z;c)alkYAc@67|W!7RDPu6Tsy@xJCK8{2T9-fJw6?@=A(w^}KCVjwlOd=JTO=3Zr+< zIdd?1zo-M^76}Jf!cpLfH`+2q=}d5id5XLcPw#xVocH5RVG7;@@%R>Sxpy8{(H9JH zY1V)?J1-AIeIxKhoG1%;AWq7C50ok3DSe?!Gatbry_zpS*VoS6`$~lK9E?(!mcrm1 z^cLZ1fmx5Ds`-ethCvMtDTz zMd=G1)gR$jic|1SaTLaL-{ePJOFkUs%j634IMp}dnR5yGMtsXmA$+JDyxRuSq*)bk zt3tSN2(J<@ooh3|!(R%VsE#5%U{m-mB7fcy&h(8kC(#>yA(JCmQ6|O1<=_U=0+$AY zC)@~M`UboR6Xm2?$e8Z$r#u8)TEP0~`viw@@+){#874R?kHRP|IU4&!?+9Cy52v^I zPV4Xd{9yc;)#l?0VS#6g@ z`#y))03Laq@^6Z#Z*uvzpl{$JzFJgn&xHlNBS|Eb!E@}~Z$^m!a9k34KX zT|VETZ;B_E$Ai8J#t5#kATCAUlqbr&P~-s)k^FfWyz}iK@`B$FI6L0u1uz5fgfqgU zRBmB>F8s_qp1HWm1!aXOEbpf`U?X|>{F`8Md500U3i;Mh9Kvbd(CeuC>077ww4g^h zKgM(A48W`XEDE~N*Th^NqP#S7&^w2Vpq+df2#@A*&4u~I+>t)9&GYcop9OtUo=;2d zGSq?IMBAYZffMC1v^|Z|AWdQ38UdJS4(H(nFI<|%=>0iAn3lvcSjIR(^7r7QuQI0a zm+@Z9QXmf!efG1**%Ryq_G-AQs-mi^*WO#v+tE9_cWLjXz1Q{L-uqzh z-Vb`UBlaT|M;ecG9GQJ&>5)s1TzBO5BM%;V{K#`h4juXPkq?e&N9{)|j&>ZKeRS#3 zOOIZ6^!B3<9)0}ib4L#y{qxZe{ss8}C5PC)Atkb2XK%PS)jPMht9Na0x_5hTckhAT zOz+FRJ-xk0*b(QE(2)^GQb*<<={mCZNczb3Bi%<19LXGc`AE-^-lOcO^Jw^J>ge2~ zT}Rg*O&{HUwEO6RqnV>GAMK$M`~TX%q<>-my#5LOBmex)pWgq|V@{jX>a;k`PLtE< zG&ohK;*_0|<6n-C93MK4I*vGc9shKE;CSEhp5tA|KOBE|yyJM=@i)g?jyD~Db^OKg zhNH*vXUCr$uRH$ec+K$#$E%LtJ6>`8&T-iBTicKH)SNMZS zB8UG!{1{Y=QL&oLMgLzR(}0Y>sN0TqgG|kLqv_VcVSLD)aJ?AC^D!bLa6K5Ut1)YA zghRXq;YBrYhrzOK23vXorq6v~v*CBb?*bYw$l-3J@cY5H}8Gr;t8{e8!J}L*5e>!hOQnM3g=8eoXDiYZBlmBW?=(Qvo;ib;hP4-|5>J zo6*MD%*UW90?aI=ncV;fJZB$fY|a73<^rd=!0(I%TsLE9TH#hRHV<&~b~82~@n<2= z1-*oTQL{zWh}4H zGjX>}SbW{R;(k^VBouiebp<&Q9S1P`GIlM(uLaz7TNt~37h`FJ-B1j-jj@}iF}B$Yhy1^cv|oM`3X|20-GXwq z0QapK#%@FUZ9ik|D}cWpad#li_7EK6?wrrq4l5kOc5H@2*p5ENc6Pxb%`OEl1=q{i zU1`Sdjxcu562^8fWbEEDi1(A=o?`5)DC_=i#vVX^45ZpSrpE35`g>WA+_QYDo!1%Byk?;4A*Y^%H_McC{^)mJp(mf6Mr$1rr8Klp< z@9$&m+0Bd{OfmMH!q^XxU*>tneq@E)#@LU6-}5Nz`DYpXi4*QA#$MRP*w045^)U8x zl=XAu_Y36n%QPIqUi^r$mjH7JWgdEmv0oiv>}BNj>jtO;GSSiGr=LO--M;f3$4%-kcdA5=kp1;?w1)iU%_3WyqWQmjf@AcVZ3xc<7I~# zFHgbYU4b-}3LN4>NEZft6=17@TlH$jBZ!NjjQC2%Yu;hJu9NWwZ@DynQp=tBj8Wjw$e9<5A{>pD{iW zZqogXPX_!HxT$LypN98z;4>ox_a@^r4>R7`&G@Wh#%HG(p9^;e{AczsK5r7^^FxfE z1>DZ=f&=UVl(8@Y2be_)+!n?cUjPUAC8+bcuQI+Aab3F@Uxu=lJpt$oQq38DE=X{7U3=m6P!eKVy6&>UK5q-?WYKFCon} zcwbuv_Xy+HBi;48;XYwJy_)eGknfFvzbOHS_{~WFRt)zJ zijpU?=0x zkwe%IkXL3J<39wBKYX6?A1iQgGX8uw<3E|t_zN{~?=k)}E8{7uHGX6%I@xLJ5o5hU3g}A@9GyXR4dV3$^??m7ZGyeD0jQ;~={sZ6d0>}3fa8JQ~ z#Q6Kj>z^jLM;Px_;9g|>2lp6?Oy32JW8UD|ZH#LugXW9=mzl&9Ov2uUBsVZgS;-{zFeKKwOfnbOFe$i&Nu~HMe}YLB^Wk1(Qs^2cg^_pF zV@!&4GARo9*fb`^0bBDClWMmysSaUvuQREB7n2(BZbV*M)y$0@8CXG!nX&m5FyO}f|^_bYrq)EtQ3jEW$ z;E;a$iwt`}|2xOlf`@fNIFLzjYz@1@vMcQB;TbKpR_b1>hK{W@uw#sVI6JqW86H;C ztQ;P%k-Nf8ey^cATop^SG>2V0mP~Z;=5SL5H#}UQ-NIABSS;9=rYBEjx70^!0%|%? z6H%vBBRb1si5UK{xwWyrI#6mdl~NhlB{DFSQ4f#HYnQ4Tr9_9++!S!BCwdbtt-PhV z2|9^MD=%7f(aK494ZCcz4t6dY`X;_62ywrIPovV+sT0pH?+{mwxjh%^> zh_?T`uiv2^KX}>z4HVY!Y%V1QDcBvi>!sD@MEbj99(bg@lcBxTD9~gYzfIm>7jFFl;^hEgOD8Clhu+6jw>0z&OhJ=2DoJ42R3QaA zWOOLCseE6;o!xG!?ra~f^>o~D+1yBE?qxT0^k{Eo?@YU;MW)Dk7u-Ja^-t=jry`Nm z^!iU;|I=I9eR|&CLf`eUDtM5Q2iZ}-MO8dOpsgMv)7Ge`r77T1(I!FduCuw%>+xyh zv~lQApLDjitE7#8{D!C9^9KL8O}^S6)E?BVMw_qP`rdoia-YG@KjOf%Qh4Bnt8Mcoi9h#JRYY3kEvn*UVbReO50BrmV+ z;MZw4c4)uX7XS38vL%mZ(`R5ww4GL|?R_+gqd5vmpyBRdmy(bdo1(0=sB8@yxdn)~lxbJjigu9=)pPhNBHJ@OCr@Hfy7 zMKpelG=3bck_~6$*c^5qw$ra?cd)OqZ$smlOvLJWm7$z_{bM*t_;dW+m52!n&yhSI z0)LYKbKpO(yrBb!r(;1ei=F17uvjq5XquDp?1L{4s1~Hu@I46id3j>UeJTcx0fQ!$ z&o9RBJJn}4D52n3P@|_Z2y%SzQ!WJ22E$LC;WNiX*{T?@;Pj!}DC|#~nZ>-HpIS<2 za>P22_kUiz%sLYqOLTT7B=H>lmeZ$;kr+*xoe54)>BRz1U!muO7@@$$G=552gn*!9 zJ(lYeq-%(OX#D?e|IqRz)>flsYTDXrc#58b-%`5Jmp#FEV%&+o&w?z>k%vUF^x&@! zd}aqf<-yN_(1OoX0~BNi5+XV}sW1Mo_rky5sw&#MPqeg*Iv+ow^-qi|g!>=1)d@|( zIJ=tJ4Yw%YfhiFbenxIIR1N1mmKeveFq!eFI?k+2%4<3`YlV3hM zS45R<;g^uVtW5iZbSGet@1^}8sBUEktA@_c>)?i}IE-EQTR@N-j%b9$Syc1{S3U?8e~d3B1?Lij0H27USiF&gR}A>wG-vBGIPuh*4ry;{Khxekv}wCTm%_>vhFZSJ)Pw2iv6Q4YVoQ`J2w?yCkiavVTWeVa)j|q=T9@J0pTtcQX!VHnIM6Al- z^*7Og!1y$xN4)5fYK&2X5x-Om4A;1k20|=O+$wl^1T}IRHkcq<^P$a{C0fAii(ypB z{ef1n(U1a&g|>5}zY?N{!tOqN_uYr3yPejjJ>KeR7IW!#ztw(g!*Hj~SpH|bkC%t5kd^Q2w*f{D8tJPwQ z++kT&2yEHVY_jXXBg!P7SUbSC;y1@rj$sqoMWF2=y$%ua1S%Nn_dvGwR*;O^!Fd?1 z8#WkKL1{>+GcdW?sX2^RC#k8D;~{~1M4#fpPxGDbOWPf?oRS^(Y!}arFj}-9Ta5B$ zZhP0#34P$Fx`;w}a*AU%t?#oPQ+U$umO}+(WIxS!wnBcQuM;%yiYhbKnNwXa7LiRjmf+(2(ZG}wiz%sgWJi>jgGIsPnZ=KfX?8mJ2^L!4-hBx#UR zZa((80+3k2t!n9h@La(dm&Qrs_teRTeB}Y= zShqm6zJdPGS+juA6^_Mu3_1sz1Hvx#*|M6pnqz`jk<&F@Wt;g%i&gunm7lM5)wE@q zvbn6Q=6IU;C_@UMWs|fmylAcBqr(MowarQT7@9BsXzyH534G z1e0`Rlnqb_RAIW{M7dQoxdg$ z;&VZRA?1jrgF9nN0lg?)7VU>c#YI}iVKVtMV&I^SUL2sA9Xn2<8mY@_)qZF;^OV!$ z;QVMjZTMUtC^eDXuo)DkX75sJ*#d6g{w?U1!Fbwid(nlSiF_z zStRqVrV`8MJBg{|ZM^Kzrps2`fI(Eq&qUZ%VCjWLQn)GthGkFz0LcT(tUy)_i~PWb ze1obC@Hu0-n}r4LO@8%lp3+uoAMDWnx#|WFhG&pQo@eXSCzjp(&Xl4$kfY60LiIx^ zs+SA=sm(K<-^V>WxOdf!NXC0qN&86q?xh#r;L)>)B|KXvOuO+4*98HO?4jfcxpk`^ zU^8+npM|PWn*7Nj9O_U%@pt)^gcu2m|17^}h}J6KWCJ>t zv@Qsc2z0711@V0%PDVqW?i)a)=GC>nC+Kx~*FeS}p5iNes=&dpY_lv9^<|K`GOJMG zE5^7&yqgjFK*qz6I-su3QFo4`PbRSbk|gNIa3+>jPUVH}5I6C)+!U&5lUe4HyYIe4 z>&a$lqL(n;XP)9F?USc6ZA6!;oE+i8ksYGTfe8;xbPFg9e&VVdrRpkO9Zch#cxJH7 z%@Bt~=_%2;shO9|R5K-|zrSznwM%ZBp3!<;&S0$4H~PJ&S3PrGtf}StbLZKDF_le= z9k)|^Do10}k~3$n&#EP*_H_-3h8^ZuQ2JXaU@zY|dW@$oQAY%Z@s0V8+F~YQ=#aqp z=je#~nV5}oI1J`wLIQ^&`Mj01oDZ;O`V>BvWCRJd%56g!((T@-{aY6fa;a0Vs+v@O z0IK2dXum&DKB?-ese^F~xB8#t6TFirdTy3(-MedKc;2cI&D}ztv4^I%ThCj* ziyQ90UpuyI`FYm%sUlWqP(!Qcg-7n%dk-&uY15{cw0HD+gbuz}CQP*u8*(+KCYFiz80m1pT=kmx0(q(xrCPMsUH1k{mefDSp) zD5G^q?m1N%Jbl&_iz65-uBs{~7YjNpQ%+H^=H7i%nHnwimHSGDPZ(Z;cWG1wcZw|v z%*juq&!(bo!`O7T>Wkon^QZ-rLvkd_^z#)5Hg zxufObryg!`lzZc#{xRRv6592P5fce0Hl-xEm^*nBcP$v z0`KR64y6=xK{a*oNxW9jv+9)$I9SxN-Oig_c%UK7hZDj_WEb$BDlO#*M?@b>eU7 zxN!%UE+w#Wg$bqFfc# zeDOpwnoY)%(93rx(=q9nQKg6?XKJZrRP#oo(u>h_l6NOMld)_IF( zs6M+iRmTC+ALc}C7V>JEuRjk9o)*YO8Y}oKQNl2t?D;qFLv4U`StSyoFzFYuq>i@C zEa1!N?B0BK0gjTwsL04McVmu=$6B!!-4bi1u_j7ZpCQm-l2u7AlYMmx zH!4a*@eEhENs{b-gUMy{c*AjMjcwAWGv@lW4YQtoQvvf*jQ2wL8+EGF4rQjAc;uiEzG%4uf z9wX{X3(U5*s$>6M z)n+q=_&#l6nEa|4ez8YOb9q{(?8h1|AYN<53x+g()8?U_N+)sEV;tdoV{pJ^DTD)ZvO|;^t&(V6L2z~TSiWu zI&#bLG#NGMHVY^mJXXH_jBGA?Np1q;)EYzS3U=1VKn3aXyU}xGihu`L8($R|e#HpJ zzo`QozgXO&25>bM*l>oHk|GV&2I+U-2>)u7C$^yP7gAuth~}8}eO^2>X_8+G@2GX0 zUG8;wZgm*=I4#ww{Ufg2!~-Uu*`{`!$+eE)in1}WPMJ%i|32CjmFLR8);bg^+jrF* zW0A!Zuas6whwVl!G+Vp(ysAHq9%glv8)6>Sr8w=pzPe1s`fRb9oO^yGOQW^-OZ=5? zNNaJk+iSAxa}{PtjC&tu_+{8J_cw=JiFhMqFC!}FHB@j}@Q$b&*h-^U)Y&U$fDWad zC!K&D&RZgww6M(~`@DA92;#vDM1_`->Ss*g8*57^PdIP-=;>u#;wD4g#4|T7ZytTY zx(Q8lO+5Ris0v-@GZXC@|&A*DPrZ51ZeSyziwc>%X>dNyCAL zOSDTJAwK7d2@UOGmtsjCPM9{#I9Gbb7#z25{*;Tyl-Zho(Oh~-u(5CLQl;2ot%#Nl z_cf{VEA=LuSylKv$-{%A=U+QBv0&8bP;vDOcU|zc3n!Nu{9=5j6^6DL&6tm-J4|~) z9#1w(@m3N|G3n9Xf)O<|NO+P)+F(TgqN3E#F8`eIrDZn0=@MQ%cDBb8e*D_eBUXH+ zOtn|s5j9y2W~uaQm*j{3fV=j|wxar?@^xjmPHKMYy0eTPkG*<=QA$Wf)g`tfRlZ0v ztEyRwH(8<%&+zbQ+pg>z^Ucf8Jj>x$N*h{buawh;61^S+&ZX>H^j?#nw!}!~35^Z# zqU|=INy-tBD+E^RCJdtvC_M2+Bx*2%C6nTfGS!1b*MJvhKZZPkBfkjIFf@kLBCdo) zszai4sxmBgklbZ>Iqddc=N%2_4$qxi==t>5E!Ll+-y(NJc+^l)uMgMZH+KM<|+cUS^t~AUy&z{UpW?AA~QO;;xntfuA^Rj7SU%j)& zVs~)K>u%=e(ooP|$In{9cdb}2l?KYZinZ8o+i;N-baM#CG$-JMDcX1$y9-L(TsuaT zfPY9MCb3xN8WGxNDB@4sjvZ10JTUS1Snvy5l9QPbZJ1#AG@_xCVXxndg&0Cz99x`Z zKvV%^1YbB2L)tU+ww(e6EZYzc6gI5g;!?*}TsL=hotb0Mow8kxW*HVdXfdVep4yL` zdfTcM*7nwv5)3M-)^@ASp~`(sR`IsMgXV>xPx0&5!lR8(L&vn@?_Oi2EXy)sj?Q8S$Mm zP{=PsbQ)rJtxy*+R9EqNek1fupF(7d1z|uHBZdEQMm`l!QnDTsJ_DX2E=_R?o*D5) z4}Rh2eEvVeTQ^UXfsDXgAf@6dtaXG>!t?(&-a~B^KF@z*dl$BLVOt|yVElz!`rm5n z&%<$O{7{?+>7|f%3ctTlD}Sc0Zs_hY;YO-&eOIT+Kh%FJdM|_@8b7qIL;aj#^MhF1 z(>x4_KPKYTl+AOj0Q$t3La4&;o`HP%m8bgb`*0vs83ZT@J#{j%7e8dKm;){k%rMw* zG9eKbw_mh1PHLUB$7VNcJ=oL;nV~#W;r|rv;ISD5+Q-FH5g~=&gD`RrnNm>lGJ1GE zw`K+PW!P*uxsEyAzhLvBOEUkj>)1sV6q-RhP*nGS(JD%Z$|wijTm)a5S+oj03MzBz zPjp$XjyM!3`cFtv`8wrA`EpL(8Soof9J(X7wr2l^Y-+>){TrmrhW&h}yVPonlai>; zrF!_zz4@5^8y@95z(7+GLY@+~o<>}!RDp|@N4vi4Y-r@AF@6Q7ET8d9j~&O$3l#Yuo`voKB12v8pK*p3sJO+k{- zak5sNppfOFju-S9tC#^&UI}&^S-3TB^fmi<0$e%==MK3AqBrn!K@ZCzuah-}pRZc{ z?&7p`mEU5_{>6x=RAFr4-F+FYOMN%GSL@mvX-UT3jRI;_TJH7}l*La_ztFn+GQ3;r zNk;eb?nh&>e?Z$I<$LDON!e1tJ26yLILq`~hFYrCA|rj2uGJHxzz@8b<} z&bETBnbLPG9E*iz!<03Ld4q;C140%fzRO5j*Ql#XY*C-ELCtp24zs*#$X0ZhlF~Qj zq$4Nq9U@=qSTzHghxD(IcI0@hO0e}l7_PKLX|J5jQe+67(8W~90a!?QdAYyLs6f^$ zgAUsZ6%aIOhqZ;;;WG@EpL1!Mxhc_XD!cTY%MEAnbR^8{!>s|QGte5Y=ivx6=T9Ei zP_M&x-e`XKwm+O(fpg~P{^7QV&DZPW)$j@GX#kClVjXN6u+n=I$K0{Y-O4?f;0vgV zY+%5cgK;dNK1}{#_x-Zyaw9sN`r9jST(^5&m&8IY?IBml#h0G3e?uSWfByzKHLe8) z9oCU{cfd~u97`w2ATe{wQPagk*)FX|S+YdySpplm-DSKB*|c>@nSp$=zj{v3WyAgw zqtk_K3c5J|0pC zSpww86>3JZSitYm_b*{%7cv?=elhCFy1v6m)^n?211803vG_;TRU3WPV`g7=>ywvsW6B76c-kXXYuS7~J+@Lc zSf%7^`HIJ4D|VX9{BlBG~IV;M->JId%#U?}jR@kQ&o5A3HyYDx}6Nc^pMjj0Jeun)M=&7-NLZ9@2 z)j60}@#z8oft^qhO`qgPG;Gf4Q@Zbq!Fx_DP1GkX<}_%EF`!5fg*xCsir}$yMH#85 zT3Y4bdV)bucC=X;w24>D>XjaA@K`En^++$6E!jmvauA$rc9F%b=P&f^I7M+{{--HM z0JXFl21+}*Oz8zr@T8JQp9Td0TZ7rr0+&rWePPKdaG}l-^)$@O*ON;2pkAjf4ZSg# zy{PLo>hhTUUK_q5L{o!vKb^7AIkbXB zm3BG{rbFE>fKfZsL4iKVYubQMO_AvYWH<3F_@;7*b}ss*4!r5a-5Mr{qoVbpXW1cja+YCd!nQ3xt*CEBq_FNhDc93rhj=>>F59=AN5 zoRmKmL))oDox0VF;gltwNSdcF9cb*OX3{Gx?X{Q-krC~b9}_3yG8Bn{`W6m}6YD#q zAkEzk)zB|ZA2Ao`dW^gC77j#kXk7>zOYg~2Y0NyG9@9L)X=yRL!=`tj7; z^S=K3l)dWTz%eniebMP!Z)q@7d(l_cR;2OvPv7I~Va{X>R@4XXh- zOMOMef=}m)U?`>^E`qUO(+Ng$xKwZ1|FQ|>X41&zvAf`(9 zj3GGCzGHqa8_lMGV+Q3A(d5seacFHJ92meB0vj+?SfQ~dL#3UE!1{}wjz|HPWCEHI zW{zYTeA(UwAEq6F%|@%!oD5ebM$D`kG45gkQ6COfjjk-==^@y6=Tp0-#~0px=I@H# z7Z|LQii;EBSfjse{lo}m?iuTG`$i6*F?L9m*kGMV_JUqsuT##HNJkrNL~cklwZK&3 zgesq4oycISoHuCg>Jo;0K(3&I(n-j7+uaf)NPK7+@p8+z!=r!xa45cmV`Mna1hT=i zAkgv-=xDHofR+dHn7FZvghtoxVqmi^U=Tk5i*(?UbiEGt9|mBN4tXfwT0b zIQSzTbod84Y<){2C!IJja=k65vqPM|!xFS?-HOK!3%&6=!T(Z$<>g6+rTpioPBf57 z$!8fVo=}&Z?KB-UB4$>vfxffiJ*^StPHhnl@7Fw@3-N|6BAyp|HhmV#(r=Ll2Y3af zNJ44J*!nZfs0Z5o%Qy|_7UzOtMt~9CA*sTy5=4c0Q9mP-JJ+p-7G&*PyD$6sj+4b>6a~%2eXf~A?KRzL4v_GQ!SRxsdZi`B(7Jx*fGf@DK z&P<|o9z*F!kX>I*;y78= z>JB#p1zld#NFeK3{?&UgU*1uzsxF7qYP34!>yr;jKktE5CNZ3N_W+965o=}3S?jx3 zv`#Wqn;l-4If#|AeD6_oY2Y||U?Fss}Sa>HvkP$9_KPcb_jB*Jc;M0XIE+qhbP$U2d z&;h?{>;H=Sp?W2>Uc{rF29ML>EiCy?fyim_mQtrgMA~^uv?&@WN@gUOPn(379I}U4Vg~Qo)jwJb7e_Pg^`Gmp+s5vF{tNzJVhBQ z$VB8M@`XJsXC!-){6wetDsTY94 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fontawesome-webfont.ttf b/public/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/public/fonts/fontawesome-webfont.woff2 b/public/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/public/fonts/glyphicons-halflings-regular.eot b/public/fonts/glyphicons-halflings-regular.eot new file mode 100755 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/glyphicons-halflings-regular.ttf b/public/fonts/glyphicons-halflings-regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/public/fonts/glyphicons-halflings-regular.woff2 b/public/fonts/glyphicons-halflings-regular.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/public/fonts/gobold_lowplus-webfont.woff b/public/fonts/gobold_lowplus-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..1ade33ec4c62ab99addfd00792b8a9fa29d5dde9 GIT binary patch literal 20696 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μ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 literal 0 HcmV?d00001 diff --git a/public/fonts/gobold_regular-webfont.woff b/public/fonts/gobold_regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..5b6e2e69ebac6df174fab813b3b81d1404354b0b GIT binary patch literal 19348 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 PQ(OQ500CFCYzY7WB=$-G literal 0 HcmV?d00001 diff --git a/public/fonts/gobold_regular-webfont.woff2 b/public/fonts/gobold_regular-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..e3a238d948e74ba3f1a93bd59929200ffedd8a02 GIT binary patch literal 14700 zcmV-yIg`eBPew8T0RR9106A;`6951J0Gz}C066^s0U4SA00000000000000000000 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 ZA_wh1D~S0QF3Vr>00001SF>$2008gf^JM@4 literal 0 HcmV?d00001 diff --git a/public/fonts/gobold_thin-webfont.woff2 b/public/fonts/gobold_thin-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..2d0b137623e929791ac554dc1fe8a5dd9b7815fc GIT binary patch literal 15028 zcmV;lI!ncOPew8T0RR9106Me)6951J0G*fs06Inh0U4SA00000000000000000000 z0000#Mn+Uk92y`Sg<>2q24Db#LI^?$gk=#33WAM1f$l;9HUcCAhYSmYNB{&N1&06! zg*Oa>Wj}XiVrB*#2#Y1`*o1)d0Hp3i3N$L}2Pfs3{r}ekI)+%#6cxAqB12@hs#ID_ z6|j(DpHeTQingjx07 z>>PDsr!b*rabpFvA>!BSV5f}0q@VtLk#Jp^?NC0o@=aH=a*rL71d%0(?Ee3&duI2Z z2QmZ|@e9oC=m!ZHfevDLhv(L8ykQ@!{FtgnGSD~o{n6K=GU&HUYd8C4b zYyY?QeOA>iyu}Ut`t{=({y6iAmW14(Q1OxL;_TA#*+_v901XbH9eCMEJ;2-XfX7>S z3{Mtj;V{g?Fr0lh91gSWX}Mw2^eH@I!p^!W&7qjgmrV#y{`&)1wBK*`jx>u(6H8*A z;BFWENhFcKhEgzVzxP#D5ueFTTF#XeAmxfQ9?1WRQ`@O9C=`*B-FNy`6sI}16Uk|l zKfUOUJk7g%sFVW8!Bz-4h6a!;6_5~cgsk~Z-{ih7TCdUznzUvX!opy9t{|*m89G4b z9XwAq)0s%V)0uY;ioi739A!)$;m&H$eWzB#FCgQ{xcn z817=yjPq{3xqS55C;ZS2{tm#P8z85<0ZAaFkwB0$0;mL1+HE8Xq&O;2p^6)FCJ2SJ zfzl?8oHXl@)7|CUU9+e0ZGH3c>g&-KOIHR`yc!}J(kw`jTO&cP^vA3HjJf}RVBN7_ zHm0e$FhLPe#=+|Uy~w7|#f;tI!=x=GwS;Xqg#dVO^}7!M;Dc>TJ_3CDwc4lJZyXF5 zo0DLbc)<+h26x)qACU{XZrTzQ1@LDbpO+1`n4Y5Rs&042nJ2SgVVx)i&x=^F%(nXN z9D&G3jw%8o6CodAQ6CeW;WMr_`}D}5j7c&S9l%n+a=;3}DnE3D1`B~=j0us~w-mhT zb8P_zq4L6jJ!58%(%ldsLcQ=F#o6{8_>ZtC-0Is|V+zD#AUkp?_udJBIL@BrntA$- zHAQeGUd6-p+7&!I6c*^BM0)gc@EHt{pojzogs6t46o-A|n}u03S|ObwTX;w05TOTE z)C4*qK!{d&A=PzCVx7%;GGtLiA)HY`#ZA|w8*97(>o^w&)?#(1bQy%Uw_@M|byILS zAkV>Ubt5_YRb$BVL!)HOjKFlREPxUTH3^aq#b;JROm^v0I6oUA9RMxzvWN4ie^{TD zJZ-MYM1mZCH5nQh0t6j~%vrHv$AKd!Ui^iMMiP%~%Jhr-8BLh=sswT_u3pMG_d-E7 zM;a?2CaANPk3mg&Afe!gUk5z34}cxMXxnx{5OE_j>))38KNa*#SjAKTh5@v%jI)5L z;6NBuniJo$c`rk>ohCvO0A_-cF9wo~avS+mTY3{Tav7F+*)GTBc6qV<8al11b@;!( z#X%qfi|-E5(4||Zt)BlXbiZ}W9sc+4ABmA?*IjYh1q06LQptMj`d7VZPV9&lj7vv; zd{iI&KN3(X3XQ?yq&7**;AJ-tE6S>F+O8kQDMmGQ4MP#oM>Tb zWo=_?XYb(nkCU^DtDC!rrnub+QFU{G*KXjpheWK?uaY#b>*ftUK38 zIMmkJ(bdy^LU`)r=`-if_MI0G^bcMbx^nsIHNZ;e5G7;bvM0~We16FpVCO@C4V-!@ z066O^(EB1cEgJyNzIyS58*V-bz$c&1&P`2U>;~}D_fG(D`4?Y)y>i6v3x4Wek zG(U3uD7g7*F5n74_iuaoiM)|z?S@=6Zo(}yR!BUuXvvfIx9g=>UVCFBgvb%2LUC2I z;?>9%5kx@p#xOpu7(IzdxT_elRy*SE7j_-#6_8g~96*J>VQT}JjLqr*N1v<#a#T!s zH?4j(6$7{&*TJ*D&_DNnbT(Jif43GLdx%=a;7QyY6@+T9kc`#kxOdZ1Ol`~i-tP6a}KbEbhZ(ir6)7d zvs|{z_GEc0^gNd_htHrMs&-Y0hInx6n3Q(6kEb@epOj=>$(A7-++tg7cPgD9IEn6p zghsbKbngv_y%8pTn^eaHT0T7o1Ll+RRcgmk6k3a%ndJP-!DogP_p$1x; zqB0>{4qCO!rlzB2*&sh=uE&EPVObqD?Wt*VCvHhAt2=1!RVrX!irNKrU0PTk-+>#5 zLYAbb>wLp1E;;dYwA|X8$enxd?Dj>_;&`yIAA_neuqcG8qRS2S{LUbF#9nKMqvOHK zjsF_0!)!h7bTH8w)LbhrY(D*#w*%)Zxt?vy`O$KY*dYfgNDI}*wdQWT6Gi50M2=D- zw}5=St2_4`1t17ifc>5hz)R4XKX;-kD95>2(l9#k;IKzw(b|CpTVc7YlnjCk71sNR z5g9x8P(MZ=h&V|l?+kOPDCM@LpVB+Kd42zZ*2ILOPY=^G|AU#z zs)inycQfqfNzTS_Cmd}d&CJBL@~atVTjg@zL_ONa)8j{4`EAtcHQI*bGpL`wq&Ggc zeyxu__zSPoAG}YleS8$uE;|~OLvHG7C!<_2f=*nS%X;~2)pv)r?VTT~ymd07MWMDD z%zXSkcQxdW+L0MNybTd9<35^kXod#sv`{2By*BHnl_ofcVyU{#c7!tx| zkI)&xzQyF53xgR@&w-td55iJ-GiUqb>76CF7l13}fRYmRstLJI=b*FS=hwBCJY!Sq zIXj@I7stef2A*g<9&{9qjHsk~v1r#(T!AP4ppXM9HZPZ_pF-=%gf1?G5H-)R-8J4#1j%0YD|Mz?5V+lU_xk9vE(p+VQ zu8ioN+1W*s(`T2RcuV>=X3UToYtQf^LtET;GS?&MV>{bO1j^Gg)*ml8wkSgF6&*Ox zAzKPnz~c4^B-bR))UZjoG^&)+CE4E2A}Oh|1CjE$wQVWuDI{Ypde_?G7iKVHgJk=V zhY~s)Z8vwaPSq`n-)oHNARFqJ-TSCYQrY=-VcT@4xZluSi&9k-^87eyusW2;wj=vC)d#Ax1xtx2T%#0dRMG09Nc z7IJCQ-3V1`tzI(cd#3JqV6hc;I?o?!9O%cnDyJqJ0Ly=S?^3u1P|$k+;d_B^VPQzIgsftBdRVUH`qupX%IM`KS!JrJVahKeV@N**SP^Fri+BI5wT4O(cN5*{L*?s^H33b2#Ag13?!$Wqji*+a@ zP24-#Dvc$V5EpZgP$WXD!*CfW_v6ZXp#8*)z zf_x_q=)sTBK9{nB!?_E5QQhK65iQ0(T(oOa8FSSU%2+K#KWi0W1Bi3R5w?7+kj4jk zN*Pl(v~P_Y&|}7wtje#vht-x-G|ZB^5=fT6Ag`q?L4Z&J}ZlpbX@9#jI0_$ z2lniSsqGi=ITlj-hvlfa?KmR#aJL-r%=97X5iHRI0=k6^ds9f7PR4^h|MbH1t6gCu`PNYx_8KogODf4%h`ztFv=x~ zFQ)F$M-9sPXv%7Bm(cgg_uc%KlfUg67+8V}3_duPys*8``(#AR=K+8V3_duK)xX&*?_Z|cAHsQrX8h4SG;9%Xv?2Gt| zu{jkp<*=|gKfAcP{@HoP0y8s%xsa2Apyyx@s+iKmY|~h=VKPCvdH6Kr{ejFJ{Hfak zr|0lFb&&%jl#%oS%N!$Bk(pkuy+VP##QtE4tXO@EC{y~VWkIU`VVIyn(s233<=>?~ z_|2NmBg&eq=~X}ebHP8WL3aHXfFr58oLZJI4smt@^pQFeQp|$)0Q9f!y0V{yG*=5{ z!Ml&42gIT-UF=Nw6OG~RRc=!bA*y^heu(8aREFCWlm?KgzOrUg?ydtzDvn%HGTRb- zPSqhu>N&xu71LdC?D;lbpX(aBLyK1bTHjthud9BhKu67bt&?>O=dJp}PbMEzT`D#* z6dNu+&1jA~!4yqRs`@7)6rr6i-X+%J0D>qn5UU&%4~D;a0UYX5Bahd()WGAd*7x%H zy-U4q@U~t@E@GJg%v-|pPaq%2FS~P*EeOOVjXU6hJ;LK~zEDKBu8GHMYQ-WiYuxQR zth*e~rGA!t?iIB4hQd3~VVNtrXSTpk+4QyvdXvfJiaUv1>SM{{>)#5G%AZeMWS`|C@l-_#{J_SGUy-WDl)9a0S^0)d zJ}Hi2BObJ-YPociqKw{8VO`41QgpAB@eT9~ooi+$*Ie~;siK>zMs}rPTJJ3Do>lcl zuBj9}u;5Zd2S?IJCT?#i1!bJ<^EdVTP-iP{!8lb z^*pm8Hk?&tSZ&x}Wc{bvUUu<~+cUFsF1Kgbzcn&7GBNQ9;^<;_UU4-Wu#4}rNkZuX zY@&2GGU3b{`?DzyXJhv3;jBp_E&_z2ZYpTB=&Hv|8L(_92ErGDHlZaaRqv8l$x4am ztyF^oi<51Fcm|aVdP6tCanUAMq%X+HBMr5H7gb68aA|QkzhNKukGZrwS+jp-f6e5w z@9C*&-o&PUH?NdDdzO=DBs3SAWaD`8&PZ6Qr$!@5NWwaD0PQP5qN$HfyUZ1QrAhv} zO62@vY`x1IJ!%t2q~4!gHaS$hQ&yZ*`hRi_Uuh9EY=SPkh0vV^P+5U#JJ%Hcufsmo z58)s@&#_HoiF&01Q%TA4Z z$V<5ET(d78jIrS`MX#VE^zJN6FUvDa8P2+LX#Am9Q}?2gg$i?c-Pu?8p0^A4O~M(q zC?rY`pgm&xUg8JMwYB{^J~>C;WIeT@>4jFd0(%~P|JBLzsq$5Y>iMzNHo75<%U$yq zd?~^cioPo89}G|nJF`WR z7k<;+(O%t(1k_VS1Zw!V_b+e2dw=}BGFJbg#-+KjCM`B8PP(6wDBYEr5dX%$IK`nj z##0YxH8n&w8H~wa2eOP{ByNPn$0sNuj9tD3pOFe(^eVYk;yID3O_ym=<4txxY(~@cOOeLWerrBxmj|;{wO-$PDzqQ|Pa@_aylz+V|JK%crL`fZ4 ziOYjA$;O*bvMK&``RmU+BjF{C)$Bqgq0NG}W`N>Jep!hDNgE>q5k=a9pp1!$W85sz zY<&8r#eraelF%CNws@DIbGL=iH98s=UszLEd9t9sI2he+eeD{ZI@^c*p_4xhpJsBV z^v1S6KMd~wq9pY1cxopR>D{F4llW~Dee686v02c*h9QFp7pE$%dNn6~%|6X-E&k;n zoPQS#Wb=xOBq=E(E}3E1xuS)WALQ;HjR9omt6pBs@8D_lBRiL0B&zP$>;9aOo^Z`y zNf?D?#}!(ex;Myy!n-L{7E$ykNO$dU`?Gvw2%^YbTidVWlSv?47c^ZQ#Uc$yvDtFU zQlz0Mau$;o#Bu}y9`N5rdu?7a?^s%@nqO5v(X_6p7LJ>NQZnH7tw1<%M8I%7Gd^cH zz$fUiGoXju5Cf!0qR>zS2qbk=PCQff5=3C8!T<}_6W}X6j%2i_I4f~)p;Q>MCN!h{9`rpFMbZyV zYI(FEzq}M4#6M(fA2$*&Ic+N~JQT^yDN0&}6IM3kYjy*{;SG(amkk6bjV7oQMoqPK zO+MK#dmG}o&?uG~d*m#s!F0KnYu?#j;izB{(=Mo~p-^)uW23ng3bneXUBDqKIN;n4 zMf+=EGIQfEU(F#gn7`YFe1TA*w@rI_Y_#vF2hJLtuLSX*SJchRo8`AfOVF}Z+2vdR zs-p3o=-npmKO>?MQ%v<9)GBH9@UMuf+z5Y(f9rw$t#>uM;QO5LMqWlkP-b;*=4iMT z{N{c9Ip`ex$kf(;;mLj@aW4$sJFp9@Z+PYEmH)0>yJF69iIwpQ{;n|z@zs8oFFEVF z{4+Br^V!Dn&ySyfh&*Bm3*?tNmgeP^n)A&6{`}E`7(QWF<@trZ2_?~lLVUB`X6I}6a-Trqk{WM~DpmIJPMkuEi0qyYGp-*;Ji z{HtFU_C(D@w4a(ik?b`_CffULi@sZumwynTKOgTtu8h^Y2SJ)ibomYCP)B=5xAq`T zZyU0W=&{i6>q-4zP%7Hf|JmMs8K;Xt(#xC-SVm3-qhfJpcJXcV{yl#ri>Xw%%yhID zzKT)J%F1FbMvuhlY|Au+{)q_|M~%kmZQ{nmv$>3_qmhQsJzU+kkqz1h(zu>nkF^|D_BLW(dxW}> z0WjkI0HdiFuCZV1zelG+G1Wn@#V@;7?~_1#H&+KIM-hTp>!)1oy)_}k1iKHNWa5;V zf`KVX3-aLmu-g7~K95hwy~A7|Oijez;cwrDmlwm`&Y9W$dN1Kz4pIS9Sfz z-5-x(pT=+xc6&fybzIpj3PHXR_)poa#@IUCdE1@luD(P47xj0=O~h~>k>81k9!l=7 zWK=GM7y4;#J4S>WpD5~Ih#rlFtej&^i0BXnRQ59~8QeRJo_!nrj{bD62Tq>{q6FV# zEdRNIp0CK>a`Qd&llrUjGpF3Y(^aTzl1bE)v8 z%+?9T4m^o(=6k!5-`7%+C9(!Pl}u3-4*g=KStMQ2L(Q6GBX(&S`-)$|1cQ|)l!f~# zrRI#_7vw7$2XPUyBNcWCKy=m}udMF^bWmMM$NammVfBQ7|N5Td3r*J>!a+SG<-Ei?>n_rLc^!wn-JKN9Pdl|O#`@NrqiqlX6)$vyVq&_VcGvB_IBcSRWY z)n-1q-$*T>@6fTC3v;8=Q9F^F%VyeJpq?}ME6j#n`~u-NN%s&1j>B;@2f#K1a(JTawz z?5LL>_UR0Zp?4~Yfa|5MM$MWc+v`=<<4t5aLuGGlD?Bba%qI`2Z;CkKBtrrH?5_q$ zQPN#mW1ho(GU8%i*_Yynmqt4q;5_GYBb=8`8Q0%)W72j1zx&-LZ(J&y&F~gpp3?*Q zMxi<5^QPnyl}#>88+I5fPob)$Ra?hRP}Td3F!D7;RVh0R>P*p{w1*`$1F+qYglT=| zHZ5akA6`)(gE7=TX3DOdG2^a6jTB5>jrbOV+G;;$T@;Yzr9_TX%~6~8Ldije9_mEMTPupNEq(Is z1u)fR{m6bP+dD;R>jK{$1>!ipWUDV=m(w9w^CAqN{doeJq+qVSDs`lEHt zvOH6_%X5PDP$Tcv!SeiSVQu4jXsNLYQU<0IiALvAyIgita}>$dIZ`y0eC-Ud`tE&U zxxw)|>pp3*@)0F&K&*__wR|ksv4TLt>eUiVFqG}pcTagn7dkJr%Jg%~Tgb+#?J=zGz2=zXw=+s6%g@78D z@-h5j`Ps;fCiicK%1(b6mHEFn1Jb=$gg8me3ss!`?-X=?^Fb0pQX?mG1WyIkHA5D- z2;&N|zF3z^0#ueLRwg&50Tek{L&m%J3c$#a#7I-393xN)OEM?Bk$DVNfRryZ=%h-m zNwaAx&uhex6hu8P?+boNs&wgUGejOu5(b-97Ahn)pd<=CY-^~H#)u;K-3)E1N7 zMcn|nTfKVo-)|2XZX9g-{`&3aZa!dVtM$zr9afSgb>_O67Z{q&I39v}lOGN{Jz+UZ z6}>FCq=eiNa`BNw&m^tJ`jb7aj=?wBs*$*X?bC@;~WX%G#{LlH>ShxV{XXY%?YJ^&bM zYoXQlBr1_a7v0Ydg=XfAoF;`s7o|Q@3{1CBm*o6#{h(HMcyLx^E3rj|kLSg&{<@Pu zpd0An2JS9z+8#%bmWJJNjN@HqeB38}lajni>I8s01vbs8d$twUt zDnZudOfDC4R$K$z5m-{{Hq` zx0oIKLpmJby(9PR!-#whr#1aRFLn1r^YIICy}s`1&Gr5pt|v;soAZ()e_?3Ds@thI zF78eQ(veKefiNman>Z;!fF?{jCunOh1=i^Oae+x137p~*rcT2~If0B|B-+b%2pce! z7?gf>r9S;ImTh%?L>Ec|k}C?*4$pO1rbq?FtD=pgAr*-$fuj1Xi~0KMV>2+%;7n z8M@%b&Jrthh#ku@l5~107i&Wcz`^Ji%~3`e%mdmb6_rKAJ{Bw;ecQY!=5t)sbJN<( zFGEFGvJih!lOGnBqcx``A=3ANi6u+)robyHenjzwp-^qR=WIg~~i;kDkO3dIn63`yk`8^!GH#pV&%*9_M- z?20JlyBBxwPCLaXN4aPe|~kPRaX3ak$MDi+orG z&+Eb*(rOiw3fve;!};7C_u4|?SS)^JTu}uxRL~VTiYamwiq`-ueF~izTU<%<_*mRF zZ?#^r&3NBCOBFtvEp~gkm9Qv9Rw8*s+Sq+FjI~N?XSw3q%vPE>@Ey1lW#84HNtVn< zYDhPcSvqw&*`7p+nR*rCxH45Ecl1pc-{YFE%J`7V;gcx=s^uEjomYMJMu%-h@7Kx# zPS-Qs&a;-|*vcja&BA_lBt|9zqLNO^bS%~@U1J)~qbI4ncK7!6%{RV&Sd!10mwQLn zEcOUqG8nQt`p#RS<6L{uZD+^bG{YGucmnd<&?Q_#Dl$ply{2+Zf;;nthel8K-v|z~ znkf|@=`DbR8f;*H^!9`qv|I9bF>!*P{r8r&L(% z%G8@Ta(sSW>u&SLOlCB@yIof_YeLt2#4O`A+5v{? z_!FHZ%f$2jeulPO3kC&3;7mJy@BL};FS~vTuCC^;e--9`P_SQTWd_yV?K)%S)JpZz zdd#SlHVy*fiL>d*Lue%zaBm|!D-R2+{X+3!bg;De-FrnWi#aP(L6mo8w647XimO*# zQ(1zJV=#TO4rhkn}&>e_>~r!&SNl~B2#Q*;L2P*uIvC70*GKa;f)SSY$PnP zYn!DgS{!NHNLw!2-IgYLkOw7NUnz@wfJ#{lY>$A6-R8Ba-Vc&|sX>zza9_ff3!Q$5 z;@SvoneVYAF{c?D2Taksdl zS(&rkiTnfWnyIqt`r*!|Ab3fPo8(|NB2;&5RBYL3zLVDtun&q#I&HHl8Lj@1h_4jy zJ*9-35>2lqar}-kwCK8l>%z!Uz z0+1@-W3>8NzPKLozisfJSN>8M;HBaqq@_gnrB(n|*vhu5{>Y$e;V`2VMGitvNQo5+ zf|udArNkrA2!_P!Dpaus-xnaL%ad>)L-$doPyi99YN)x+7y#J@niY-_U@r}MA-c}N z_3t7LMVbj%Gl%2N;Tm+kHbO~%q;@?4aI)~AgvkN*L+UoX8PDXW?76&#|R zkP5R=vbdI04Ubl{I#Ye+jo2BT8TC_6Y~`0Q8p4g{lwx>liID60sL9j)jjD1$AQY{w`4@G&Dm$O;CzVpy&_YL55v*9rG;A#$$mj5~kFt zwE{EM!?iIFnJKIZp;DztC^?b9NPoC9hPXqyauTaER$mDjD+4=z%~9jfg7^o7B{Zb# zHoL(q?+Gaamct*Df%?>)l@cJegtE+1(Q%U;YAhIW$^_0xUC*q{_ zom5{ld_jwYCAGwm{nQ)gjXUVP;H!5IC#{i|iil+)Sh}dLLuQRB5(zu-XyadLQRK*4 zLv`~s+EsI~I4_(TbvmnbrlQ#kss&;RTXHaJcImsv?LEgEURH(PBzq?}=5VA=aeM9X z+gsn2){zz&1%9jIjLJ-OR1}z&7qVz2t09^YPDV#b4={q0U3h?w_{Q-zr(Oj2MhVHR z`op+yBtY+g1iKBiV|DP6QhkbbT}7tIM|`1pguZOijAf4CW!hf-;c)Pej#5D%aWt(w z`M53@V(V9w0)7Z)wvPbDqcmMX+#1?*>1=y>_TtrYRQ%2^K3%<4V)G#k57I&l9v6iv za6g*LE(!!)Dh z+0iTY!kLGcS^Du|_rRyx7PfnRQl#-YQHDQI9Cj05^X5QCazUA3&+q|xRY|FAf?m=Y2xpgW zX`IGOc1N**>3Ei9*3<<}p2wBt5tClBcGV_&$WUXl2Ok0Rn{rt(K^(nV(+*Ev0bkP8#_iO|O z(0;>WSno<7aRiBG?Pb%#hT6!*LXBz~Sm<6YVsjVOGE*BJTj~KVccH*716prIJr0R2 zs%fVnPC*+|^h^dOqF=BF);vXQNS^3f4Rt#E^&P5^{XgaliM~DHK9wbbuGiXCNnH#H zHkqfhqR zxHp;{8U2@M`D{xIbk9;hC zxPN%_qdHO^y$mm@EP6H4SL4C{F@PZZApE?RjfN3hKwB*R+Tc@o3jox)J`L>#_oLIZ zr`yo)gus}9rM=v&mjWnahBj9a2&Hcy1^9*KcB?dOF~V|)xK*m5T`V<%Ha(z_Fuir2 zq=ahk~kaTtwnp@Lb7e%Gt zCHrBK?-4dbgsmcqz3ou(esNU11~!?Ar2K54xB)!{#axhPBfK&)lL8Vyib|L`Rei}b zD$GJNP*qp1L5Gci(ZY;v7?!gx4isCL5K#pId8jt0{umTb&3;pMKf|SAbL$S_*Krt! z)|J_w)unDmnOt$|b{(Nj@>pmR6C4-08X(Fu(ve&tc>OfRbBp06;?&70MG@f13ke+i zF@lSg26SW12C0~T?Gbz1QBJSwoVJ$oI|Am4Ea!=epYqajAC4&Ik*~8nX3DV_k2gNU zkDtC!_2+>SxX`FaV*^MjZnr|)CAS_X^a5X=UCF!qY2ucirg?UB`Jwn#u8;Ej$YVwJ zR!*KFa#==|q2TiVrFP9kj%hl!X5$!DX;oQzYs0yX>A=DD8tjXfEV|!qOL_B@_$&bYG&d6Om-DT|@Zw7+{^RkTYbf*fG7vLX7jKh;TCqU_9nL%)pDU*)sJ(U}4T1_-!;i!gH&~kQRsS~$n&8Yec z+A9U>$uCc(KGLg?2Wi~Mr!2&MI-9c3~2EZaVm6hN!_WafuwpooneRYSnM$D zEHm|nWV<%S&{LjHufkdE(8|iwt0|`i=B$A9B$i0e0WKRZb@>MGti8iApCylO6T5Qk zJ5fIR*wDGn_8{OA*WL8Z@x@4PvacXiJbbIdt$R39AlqpsZ zGNI!egy8S!DQd`B3AQ@rn3m@#3T-V&))_ZU`NUT#q+E0)G(G`TNA=v71v2qHIgc3@ zu#a?UP8T)-YfG^2JNWs$UwXFxL+(uiHSE>}t!>_T_2&BLRW~1`O&Ztj9`ER<&LO{VB4@IATNMjn>*7p9{-Dem#w%gXdPqq$4 zY1lGe$uAt*9E##3nlN6d-!p$^6!drRF_26I!`4=l0h_Q-B51d*PWc+3Cns@!0#gKI zK}zv3^B8S%H-kXTFJyMhuqhTp{f=w_79@)6(UW>ZIKHW1S|`sZ%gX%7X2pnPUINK5 zFkOkWDj?01(KwPYpESSmDfEp}yiwpqsGWv8uidOAGtspCe@4cTyJ7;c>bOOOL<;EO z8YflnM;gPo23t)+nfgxgbd}>o)LP zbGj+;k;9mE)ua(q z$W9Z~$5G`vaExPXHjYu1b+;RiuX(6Sya`Yw(Ay@A)EG^%352R>pgRqlrZE=7F~g-& zTNn-58fhuZC)C?L8a%Xvd9~#%?YZ{J(7M(G{+i2*63TAeeJR%7?<&w$=kkBVp@KMYJlQh8+)}k2TX9ok z=k3;p@LI8KtCF%8=0l>ZyO0YZO%}aLo!xyG! z05lV{8SKdo&WB&UzWw22q-qY^!>xNo>p(=~Co4~!0eyMWa$+CNY^H4^MAU`dS*YJP z1a;sTK+Pm>D`<#y`b0258~E>O4C8eoGmxlwHs*I%GyxhnMJhVS?%zRTeJkZOO$7Wj zi>AUM5lpQM;fXk9L|qdDUxz|mbMLu~KY+w^VIv@i^twt5&=Ta{bbpBtEYp8RNCZf0 zr?oW%HqcOiQCcz!)d^0=YvXJ~5g{3p5h!Gqg|YXWrrj0N^dKIKyqK?Zo2`T5_KC}o zY&l-&)mS-V>b^BxG?Hrv*}hZhzwrv_nlSOVm=VT0uUav#s8h>U&}wP5`46>NtI={q ze9|&eFJEf^N+m9~UA^oUyF|6XDJ|Pao8R%@w%##ZOM^zekCE1lX#wBXcw+}cSYAD6 za7Lk@#ushnnl>1jnxq3on|i{Ix|q7kij#~F#l(@rlJ*(=;tc>vanvdpT+#u}k@--W zH))f)+3l>OIQwD}xZdzRsFWDW#BoHn6K~eTl%nDR!>NoFPoopft85y_n2wXc(?CNM zk<*5CqQ;mLfza`yMVOWbgO`mRnnSi@76_cEJsSH|lSZJMWo#U=cv>#p&jwbea1a%z zZ6LtFHBQj_OgfCY8S2++6m{R@AOCpKoyBN!ZrXAW(+Ok5Vw!{(y zbg%nT=pRT$3``NOwWFON}J)|FKA)?jHr znM0gx_ted**bXJu{a45-N+sNly2m(SxViXk%J&S)r(Ai0?A^^(rBM_z?!s0WizeN3iMZNk-FYf{J{;5m9 zCKb2Qh$ujj#U0irD_T|tacX>3RhEvJnR_K!Rnx67$Mwj_lLA$7r@P;#b^~QIdpZjF z(z95SFp?DwQP2yduHZ*lk@nsb6uOqQ&I;SzH2>5aomA}=)^tu1Al&q^IG_m*JxlFO z>+UyP5;NVpJJO{asw>AD#3@ZJmM`--_Ohs{-^=Dy=0NbKt7;l232NyUH#O?#hywK^ z86<;LL77oEf}e9GDl8x4AeQkk#-&bW9zCU~XK$2o0Mt1OAlCtLokUY}?*riMWv?<^ zOK}hPK>PwuB2jK()r1+taT%KINr6JQeEv}t&h7@(`P8cer}pMsb+=#n{kA{<_2vVW zfB-w6WrrGj`(A1U13&?*H~^fq!SewaC5;1ccpU=>M12EDdY%oSI0bqDO(8s@$Zm@m z3`i*t)&N0Rd>ELZlx`2*LQLC%+wjTz<~yXb`8Q==U`q=2=Vzp4La8h!CmW(N3!xqP zj2t$^ETFKUJURu+N+~Xa(wQ_i@WqrWzkQZ;5aIWalp#;P9p9f05+X%0Vs$eEu|#CS zin;Exs_u{o8EEM8uMp%*di`!0bDUp(tg`z?98g3ubaT zMBAkx!iF4Oh|ir!EsT5{qX;`3n1r_2nq12pjte&z*&x)3L|)-@r0lq9SP&_9G!{N2 z-yc64%?oas@H7i1W1TpM@|ifnQa?mt zPQCRRay&7ZPYI>}hCFl>BP#?N0VAE%XN!$ZAP5?@B2kolTj73d&@_fEFW7KoT?xlF zVHrPR%Zn6LDNlvS18ogf;99^%NTgi94OZy!tly`9v)!Cl;xqmgh=d^k0ul-u1{RK# zA0_?cfG2A+Ir0b;C{m(Kg{m#K+D45!4G>LQwCT{LN1p*hMvR#-Wyaj^?v|`rvti4Q z{U44H{}jJn&Rn>10 z6ccWH;I4b_dxdJ!Lyw$8^I@NvzesU2bZ@NLWrqxz7_wv&V9J&ACh3+hPXUhC3SSJ5 zr9_!h7qqKTt`gTE5jQm30 zbp76EQuzDzcc1?ohSG1-=YdooG&k|h+v;0+{$*To*!idr&OhwKosUHDNqRXz<}MVZ z?=q*L4!A_B@~T`3dEhR!BLurkJ|cdXm~?wgugb!{b*DrLyPtEyD?b(}PNXk}dfVGMPKX^~Lmh#it@8^1fr=$6+R6d=5?Odv!uB$&%{d9fZg=UASju7qr-Hlm?M0H;3 K*W+)V0002;Hwc&j literal 0 HcmV?d00001 diff --git a/public/fonts/gobold_uplow-webfont.woff b/public/fonts/gobold_uplow-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..148714f9ed8d8f11edd54493a35bdebae31e2f2f GIT binary patch literal 20356 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

1+9XJGOY^=l~Oz|=t(4g;x2-)mQJ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/icomoon.eot b/public/fonts/icomoon.eot new file mode 100755 index 0000000000000000000000000000000000000000..5be5557adad7427e08c2ed10b55b19cee14cc172 GIT binary patch literal 4928 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 YPq0_e9tu8PE%rWL)!=oUJs)=cKQ?Wly#N3J literal 0 HcmV?d00001 diff --git a/public/fonts/icomoon.svg b/public/fonts/icomoon.svg new file mode 100755 index 0000000..494b188 --- /dev/null +++ b/public/fonts/icomoon.svg @@ -0,0 +1,22 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/icomoon.ttf b/public/fonts/icomoon.ttf new file mode 100755 index 0000000000000000000000000000000000000000..5324b80d8b4a224406d4975ed72cd036a6a9403a GIT binary patch literal 4764 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 literal 0 HcmV?d00001 diff --git a/public/fonts/icomoon.woff b/public/fonts/icomoon.woff new file mode 100755 index 0000000000000000000000000000000000000000..85ad855e0c1655ebb6c8e46b29bc149c410a3415 GIT binary patch literal 4840 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 + + +Copyright (C) 2013 by original authors @ fontello.com + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/icons.ttf b/public/fonts/icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b4e5a0020b888202ad5283a355e561efdcdc0f3 GIT binary patch literal 5812 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 literal 0 HcmV?d00001 diff --git a/public/fonts/icons.woff b/public/fonts/icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..a6469ba82a7102ef48f2e2868c98693bf7edf6fb GIT binary patch literal 3664 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 literal 0 HcmV?d00001 diff --git a/public/fonts/plyr.svg b/public/fonts/plyr.svg new file mode 100755 index 0000000..aab6e3e --- /dev/null +++ b/public/fonts/plyr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/fonts/selection.json b/public/fonts/selection.json new file mode 100755 index 0000000..e0943a8 --- /dev/null +++ b/public/fonts/selection.json @@ -0,0 +1 @@ +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M332.8 85.333h358.4c136.533 0 247.467 110.933 247.467 247.467v358.4c0 136.672-110.795 247.467-247.467 247.467l-0-0h-358.4c-136.533 0-247.467-110.933-247.467-247.467v-358.4c0-136.672 110.795-247.467 247.467-247.467l-0-0zM324.267 170.667c-84.831-0-153.6 68.769-153.6 153.6h0v375.467c0 84.907 68.693 153.6 153.6 153.6h375.467c84.831 0 153.6-68.769 153.6-153.6v0-375.467c0-84.907-68.693-153.6-153.6-153.6h-375.467zM736 234.667c29.455 0 53.333 23.878 53.333 53.333v0c0 29.455-23.878 53.333-53.333 53.333v0c-29.455 0-53.333-23.878-53.333-53.333v0c0-29.455 23.878-53.333 53.333-53.333v0zM512 298.667c117.821 0 213.333 95.513 213.333 213.333v0c0 117.821-95.513 213.333-213.333 213.333v0c-117.821 0-213.333-95.513-213.333-213.333v0c0-117.821 95.513-213.333 213.333-213.333v0zM512 384c-70.692 0-128 57.308-128 128v0c0 70.692 57.308 128 128 128v0c70.692 0 128-57.308 128-128v0c0-70.692-57.308-128-128-128v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["instagram"]},"attrs":[{}],"properties":{"order":2,"id":12,"name":"instagram","prevSize":32,"code":59648},"setIdx":0,"setId":0,"iconIdx":0},{"icon":{"paths":["M1020.414 236.542l-309.245 504.319-221.186-360.449 175.615-286.208c8.702-13.314 25.602-18.942 39.937-14.845l314.878 157.184zM1024 910.339c0 29.181-25.602 40.448-56.831 24.575l-241.154-120.322 297.985-486.397v582.145zM358.401 918.529c0 28.67-22.017 41.985-47.618 28.67l-282.622-140.291c-15.362-8.192-28.161-28.67-28.161-46.081v-651.263c0-23.037 16.894-32.767 37.889-23.554l305.149 152.578 15.362 23.554v656.382zM680.45 791.554l-270.846-135.678v-307.197l270.846 442.882z"],"isMulticolor":false,"isMulticolor2":false,"tags":["medium"],"defaultCode":59648,"grid":0},"properties":{"id":1,"order":3,"ligatures":"","prevSize":32,"code":59649,"name":"medium"},"setIdx":0,"setId":0,"iconIdx":1},{"icon":{"paths":["M0 470.080v80.64c0 82.88 10.24 165.76 10.24 165.76s9.984 70.4 40.704 101.568c38.912 40.768 90.112 39.488 112.896 43.776 81.92 7.872 348.16 10.24 348.16 10.24s215.168-0.256 358.4-10.624c20.096-2.432 63.744-2.56 102.656-43.392 30.72-31.104 40.704-101.632 40.704-101.632s10.24-82.816 10.24-165.76v-80.512c0-82.944-10.24-165.76-10.24-165.76s-9.984-70.528-40.704-101.632c-38.912-40.832-82.56-40.96-102.656-43.392-143.232-10.368-358.4-10.624-358.4-10.624s-266.24 2.304-348.16 10.24c-22.784 4.288-73.984 3.008-112.896 43.776-30.72 31.168-40.704 101.568-40.704 101.568s-10.24 82.944-10.24 165.76zM406.272 644.8v-287.68l276.672 144.32-276.608 143.36z"],"isMulticolor":false,"isMulticolor2":false,"tags":["youtube-custom"],"defaultCode":59649,"grid":0},"properties":{"id":2,"order":4,"ligatures":"","prevSize":32,"code":59650,"name":"youtube-custom"},"setIdx":0,"setId":0,"iconIdx":2},{"icon":{"paths":["M512 736.853l263.68 159.147-69.973-299.947 232.96-201.813-306.773-26.453-119.893-282.453-119.893 282.453-306.773 26.453 232.533 201.813-69.547 299.947 263.68-159.147z"],"isMulticolor":false,"isMulticolor2":false,"tags":["star"],"defaultCode":59650,"grid":0},"properties":{"id":3,"order":5,"ligatures":"","prevSize":32,"code":59651,"name":"star"},"setIdx":0,"setId":0,"iconIdx":3},{"icon":{"paths":["M374.863 345.574c1.2-12.003 1.8-26.047 2.281-39.371s1.2-29.408 2.521-42.132c3.961-36.010 13.564-141.399 14.404-158.563 0-2.041 0-4.801 0-8.162 1.015-9.712 1.594-20.984 1.594-32.39 0-9.005-0.361-17.925-1.068-26.748-2.699-18.134-17.061-33.427-35.628-37.551-1.818-0.241-3.567-0.345-5.341-0.345-16.909 0-31.599 9.501-39.023 23.456-18.361 30.487-23.162 79.22-25.683 105.507-0.96 10.443-4.801 42.372-7.802 67.939l-1.080 9.483c-1.608-1.751-3.293-3.36-5.078-4.854-10.55-8.157-23.383-13.688-37.381-15.51-3.495-0.639-7.063-0.981-10.711-0.981-10.18 0-19.739 2.663-28.017 7.329-7.022 3.538-13.018 8.88-17.374 15.41-11.252-8.066-25.264-13.010-40.432-13.010-4.458 0-8.817 0.427-13.037 1.243-10.478 1.897-20.149 6.107-28.47 12.079 0.128-7.414-0.523-14.467-1.701-21.34-0.728-4.731-1.568-10.373-2.289-16.014s-1.68-12.003-2.521-17.285c0-2.161-0.6-4.321-0.96-6.482-1.178-18.105-7.202-34.599-16.774-48.454-6.231-5.791-14.955-9.549-24.558-9.549-0.492 0-0.982 0.010-1.47 0.029-0.65-0.049-1.492-0.075-2.339-0.075-12.006 0-22.772 5.309-30.078 13.708-17.686 21.414-16.846 39.779-16.846 70.268v5.882c0.6 24.007 1.921 45.612 3.241 68.899 0 9.843 1.2 19.685 1.68 29.888 0.127 4.211 0.199 9.166 0.199 14.136 0 18.401-0.988 36.572-2.913 54.461-0.646 8.824-1.607 20.347-2.207 31.39-0.731 7.487-1.148 16.186-1.148 24.981 0 26.541 3.795 52.196 10.872 76.452l1.079 2.395c7.157 22.86 16.701 42.751 28.647 60.923l-0.56-0.907c0.84 9.963 1.44 17.645 1.921 24.007 1.241 12.592 1.948 27.219 1.948 42.011s-0.707 29.419-2.090 43.848l-0.818 19.889c-2.881 75.621 21.606 134.557 73.46 174.768l13.924 10.803v-17.645c0-6.962 0-12.003-0.84-16.324-0.418-3.458-0.656-7.462-0.656-11.522 0-6.837 0.676-13.516 1.964-19.974 39.263 48.661 40.223 86.831 41.784 152.489 0 19.085 0.96 40.691 2.521 65.298l0.96 14.524 12.003-7.922c59.989-36.361 101.445-98.136 109.496-170.011 1.089-10.465 1.657-21.408 1.657-32.483 0-29.68-4.076-58.409-11.698-85.656 12.701 10.206 27.056 15.973 42.485 18.585l20.225 4.173-10.563-16.925c-32.169-51.614-32.529-103.708-32.769-149.561 0-4.081 0-7.922 0-12.003 14.722-8.908 27.486-18.54 39.177-29.319 26.772-25.272 46.742-57.802 56.756-94.444 1.866-8.678 2.744-17.005 2.744-25.537 0-29.403-10.426-56.372-27.784-77.409zM297.921 199.735c3.241-27.007 6.842-57.616 7.922-68.299 2.401-24.847 6.962-71.179 23.286-98.067 4.452-9.626 14.027-16.185 25.134-16.185 0.829 0 1.649 0.037 2.459 0.108 11.668 3.183 20.434 13.121 21.848 25.301 0.339 6.045 0.524 12.956 0.524 19.911 0 11.802-0.534 23.478-1.58 35.007 0.109 1.876 0.109 4.757 0.109 6.797-0.84 16.925-10.323 121.473-14.404 157.603-1.44 13.444-2.041 28.688-2.641 43.332 0 8.522-0.72 17.165-1.2 25.447-19.888-13.409-43.328-23.293-68.559-28.139-0.099-10.391 0.861-28.156 2.061-48.202 0-8.402 0.84-15.604 1.080-17.405 0.12-4.801 1.921-19.925 3.961-37.21zM206.937 208.257c5.622-3.147 12.336-5.001 19.483-5.001 2.833 0 5.598 0.291 8.267 0.845 11.039 1.387 21.132 5.676 29.538 12.069 6.074 5.431 10.405 12.983 11.822 21.519 0.030 3.097 0.030 8.378-0.931 16.541-0.72 12.964-1.921 34.569-3.001 45.973-0.827-0.071-1.791-0.112-2.763-0.112-9.414 0-17.94 3.803-24.126 9.956-14.042 14.282-14.282 39.489-9.841 58.334 1.956 7.751 5.052 14.559 9.149 20.637-7.692 4.404-16.83 7.149-26.609 7.149-7.175 0-14.006-1.478-20.203-4.146-3.58-3.678-6.471-8.515-7.902-13.944l-0.048-1.533c3.814-15.756 6.002-33.845 6.002-52.445 0-0.003 0-0.007 0-0.010 0-2.4 0-4.68 0-6.721s0-7.442 0.6-11.043c0.535-6.362 0.84-13.768 0.84-21.246s-0.305-14.884-0.903-22.207c-1.103-13.818-3.23-27.344-6.304-40.506l3.366-2.344c3.282-5.151 7.899-9.19 13.37-11.684zM178.369 221.22c-2.761-10.923 1.32 4.561 0 0zM132.036 213.898c13.444-2.641 36.85 1.44 42.132 12.003 2.903 11.674 4.998 25.389 5.85 39.439 0.529 6.6 0.812 13.525 0.812 20.517s-0.283 13.917-0.839 20.766c0.059 2.821 0.059 6.662-0.541 10.383s0 4.441 0 6.842c-0.021 17.788-2.297 35.035-6.556 51.483-6.648 18.857-16.851 20.777-19.611 20.777-2.439 0.611-5.24 0.961-8.122 0.961-7.946 0-15.27-2.663-21.129-7.144-11.919-9.301-19.121-29.347-20.442-54.793 0-9.002 0-18.245 0-27.247s0-18.125 0-27.007c0-5.161-1.080-16.324-1.8-26.167 0-7.082-1.080-13.564-1.2-17.045v-1.32c5.817-12.266 17.471-20.927 31.274-22.431zM384.105 444.121c-9.613 34.345-27.747 63.67-52.004 86.579-11.943 11.14-25.203 20.959-39.498 29.179-13.465 8.041-28.24 12.93-44.050 14.097l0.395 17.064c14.13-0.83 27.259-4.283 39.184-9.878-0.653 1.356-0.653 2.316-0.653 3.396 0 42.972 0 90.985 25.327 140.558-20.286-7.082-29.408-17.525-41.651-38.651-8.058-11.068-15.93-20.73-24.278-29.952 2.54 14.658 5.465 27.128 9.196 39.244 23.485 58.047 62.015 204.006-67.74 298.112-0.96-18.245-1.32-34.689-1.68-49.694-1.8-73.1-2.881-117.152-57.736-175.728l-11.283-12.243-3.361 15.844c-3.519 12.399-5.543 26.638-5.543 41.35 0 2.344 0.051 4.675 0.153 6.994-37.462-36.34-54.386-85.073-51.626-148.331l0.96-21.846c1.254-12.844 1.969-27.764 1.969-42.852s-0.715-30.009-2.114-44.73l0.144-0.162c5.247 4.575 10.998 9.068 16.985 13.247 5.532 3.745 11.109 6.692 17.006 8.999 3.46 1.4 6.22 2.6 9.221 4.161l7.802-15.124c-3.601-1.8-6.722-3.121-9.843-4.441-5.283-2.027-9.833-4.409-14.055-7.241-7.2-4.969-13.7-10.134-19.827-15.702-3.561-3.216-6.906-6.828-9.909-10.716-11.948-17.24-21.531-36.981-27.85-58.13l-1.819-5.798c-5.978-20.656-9.417-44.383-9.417-68.913 0-8.49 0.412-16.884 1.217-25.163-0.083-9.632 1.358-20.435 2.198-31.958 1.754-15.942 2.755-34.428 2.755-53.149 0-5.454-0.085-10.888-0.254-16.301 0.020-9.412-1.061-19.374-1.661-29.217-1.32-23.046-2.641-44.772-3.241-68.299v-5.882c-0.84-29.168-1.2-42.492 12.003-58.936 4.009-4.494 9.753-7.368 16.171-7.561 0.821-0.078 1.735-0.122 2.66-0.122 4.832 0 9.383 1.199 13.373 3.317 7.587 11.59 12.427 25.78 13.044 41.058 0.005 2.319 0.005 4.599 0.965 6.88 0.84 5.642 1.68 11.403 2.521 17.165s1.56 12.003 2.401 17.045c0.988 5.486 1.552 11.802 1.552 18.249 0 2.49-0.084 4.961-0.25 7.409-0.14 2.448-0.23 5.699-0.23 8.971s0.090 6.524 0.268 9.751l-0.020 3.152c0 3.601 0.72 10.203 1.2 17.285 0.72 9.843 1.56 20.886 1.8 25.807 0 8.522 0 17.525 0 26.287s0 18.725 0 28.088c0.96 17.765 5.642 50.174 26.887 67.218 8.621 6.737 19.615 10.803 31.558 10.803 3.917 0 7.732-0.437 11.399-1.266 10.617-1.679 19.784-8.16 25.131-17.173 2.011 2.816 4.234 5.383 6.771 7.599 7.999 5.279 17.757 8.399 28.244 8.399 1.015 0 2.024-0.029 3.025-0.087 0.245 0.015 0.696 0.020 1.149 0.020 13.346 0 25.692-4.279 35.742-11.54 2.79 3.135 5.922 5.962 9.211 8.601-7.131 4.906-13.477 10.298-19.044 16.412l-3.19 3.438c-8.87 8.066-15.829 18.072-20.224 29.359l16.263 4.97c3.986-8.924 9.542-16.479 16.384-22.633l3.302-3.535c6.188-7.35 14.052-13.092 23.014-16.667 12.77 7.294 27.37 12.41 42.979 14.218l1.945-16.877c-25.030-3.014-46.775-15.131-62.195-32.889-5.21-5.981-9.070-13.069-11.18-20.877-1.714-5.045-2.655-10.434-2.655-16.044 0-9.974 2.975-19.254 8.085-27 3.48-2.984 8.228-4.917 13.428-4.917 2.416 0 4.735 0.417 6.888 1.184l1.177-0.045c29.528 7.082 60.016 14.524 80.542 36.010l1.44 1.56c15.672 18.145 25.219 41.962 25.219 68.008 0 7.498-0.791 14.811-2.294 21.86z"],"width":403,"isMulticolor":false,"isMulticolor2":false,"tags":["coderockr"],"defaultCode":59651,"grid":0},"properties":{"id":4,"order":6,"ligatures":"","prevSize":32,"code":59652,"name":"coderockr"},"setIdx":0,"setId":0,"iconIdx":4},{"icon":{"paths":["M896 896h-170.667v-288c0-45.227-50.773-82.773-96-82.773s-74.667 37.547-74.667 82.773v288h-170.667v-512h170.667v85.333c28.16-45.653 100.693-75.093 149.333-75.093 106.667 0 192 87.040 192 192.427v309.333zM298.667 896h-170.667v-512h170.667v512zM213.333 128c47.128 0 85.333 38.205 85.333 85.333s-38.205 85.333-85.333 85.333c-47.128 0-85.333-38.205-85.333-85.333s38.205-85.333 85.333-85.333z"],"isMulticolor":false,"isMulticolor2":false,"tags":["linkedin"],"defaultCode":59652,"grid":0},"properties":{"id":5,"order":7,"ligatures":"","prevSize":32,"code":59653,"name":"linkedin"},"setIdx":0,"setId":0,"iconIdx":5},{"icon":{"paths":["M763.733 741.973c-11.093-34.133-43.093-59.307-81.067-59.307h-42.667v-128c0-23.564-19.103-42.667-42.667-42.667h-256v-85.333h85.333c23.564 0 42.667-19.103 42.667-42.667v-85.333h85.333c47.128 0 85.333-38.205 85.333-85.333v-17.493c125.013 50.347 213.333 172.8 213.333 316.16 0 88.747-34.133 169.387-89.6 229.973zM469.333 850.347c-168.533-20.907-298.667-164.267-298.667-338.347 0-26.453 3.413-52.053 8.96-76.373l204.373 204.373v42.667c0 47.128 38.205 85.333 85.333 85.333zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667s-191.025-426.667-426.667-426.667z"],"isMulticolor":false,"isMulticolor2":false,"tags":["earth"],"defaultCode":59653,"grid":0},"properties":{"id":6,"order":8,"ligatures":"","prevSize":32,"code":59654,"name":"earth"},"setIdx":0,"setId":0,"iconIdx":6},{"icon":{"paths":["M512 0c-282.8 0-512 229.2-512 512s229.2 512 512 512 512-229.2 512-512-229.2-512-512-512zM384 768c-141.6 0-256-114.4-256-256s114.4-256 256-256c69.2 0 127 25.2 171.6 67l-69.6 66.8c-19-18.2-52.2-39.4-102-39.4-87.4 0-158.8 72.4-158.8 161.6s71.4 161.6 158.8 161.6c101.4 0 139.4-72.8 145.2-110.4h-145.2v-87.8h241.8c2.2 12.8 4 25.6 4 42.4 0 146.4-98 250.2-245.8 250.2zM832 512v64h-64v-64h-64v-64h64v-64h64v64h64v64h-64z"],"isMulticolor":false,"isMulticolor2":false,"tags":["google-plus"],"defaultCode":60045,"grid":0},"properties":{"id":7,"order":9,"ligatures":"","prevSize":32,"code":60045,"name":"google-plus"},"setIdx":0,"setId":0,"iconIdx":7},{"icon":{"paths":["M608 192h160v-192h-160c-123.514 0-224 100.486-224 224v96h-128v192h128v512h192v-512h160l32-192h-192v-96c0-17.346 14.654-32 32-32z"],"isMulticolor":false,"isMulticolor2":false,"tags":["facebook"],"defaultCode":60048,"grid":0},"properties":{"id":8,"order":10,"ligatures":"","prevSize":32,"code":60048,"name":"facebook"},"setIdx":0,"setId":0,"iconIdx":8},{"icon":{"paths":["M1024 226.4c-37.6 16.8-78.2 28-120.6 33 43.4-26 76.6-67.2 92.4-116.2-40.6 24-85.6 41.6-133.4 51-38.4-40.8-93-66.2-153.4-66.2-116 0-210 94-210 210 0 16.4 1.8 32.4 5.4 47.8-174.6-8.8-329.4-92.4-433-219.6-18 31-28.4 67.2-28.4 105.6 0 72.8 37 137.2 93.4 174.8-34.4-1-66.8-10.6-95.2-26.2 0 0.8 0 1.8 0 2.6 0 101.8 72.4 186.8 168.6 206-17.6 4.8-36.2 7.4-55.4 7.4-13.6 0-26.6-1.4-39.6-3.8 26.8 83.4 104.4 144.2 196.2 146-72 56.4-162.4 90-261 90-17 0-33.6-1-50.2-3 93.2 59.8 203.6 94.4 322.2 94.4 386.4 0 597.8-320.2 597.8-597.8 0-9.2-0.2-18.2-0.6-27.2 41-29.4 76.6-66.4 104.8-108.6z"],"isMulticolor":false,"isMulticolor2":false,"tags":["twitter"],"defaultCode":60054,"grid":0},"properties":{"id":9,"order":11,"ligatures":"","prevSize":32,"code":60054,"name":"twitter"},"setIdx":0,"setId":0,"iconIdx":9},{"icon":{"paths":["M1013.8 307.2c0 0-10-70.6-40.8-101.6-39-40.8-82.6-41-102.6-43.4-143.2-10.4-358.2-10.4-358.2-10.4h-0.4c0 0-215 0-358.2 10.4-20 2.4-63.6 2.6-102.6 43.4-30.8 31-40.6 101.6-40.6 101.6s-10.2 82.8-10.2 165.8v77.6c0 82.8 10.2 165.8 10.2 165.8s10 70.6 40.6 101.6c39 40.8 90.2 39.4 113 43.8 82 7.8 348.2 10.2 348.2 10.2s215.2-0.4 358.4-10.6c20-2.4 63.6-2.6 102.6-43.4 30.8-31 40.8-101.6 40.8-101.6s10.2-82.8 10.2-165.8v-77.6c-0.2-82.8-10.4-165.8-10.4-165.8zM406.2 644.8v-287.8l276.6 144.4-276.6 143.4z"],"isMulticolor":false,"isMulticolor2":false,"tags":["youtube"],"defaultCode":60061,"grid":0},"properties":{"id":10,"order":13,"ligatures":"","prevSize":32,"code":60061,"name":"youtube"},"setIdx":0,"setId":0,"iconIdx":10},{"icon":{"paths":["M512.008 12.642c-282.738 0-512.008 229.218-512.008 511.998 0 226.214 146.704 418.132 350.136 485.836 25.586 4.738 34.992-11.11 34.992-24.632 0-12.204-0.48-52.542-0.696-95.324-142.448 30.976-172.504-60.41-172.504-60.41-23.282-59.176-56.848-74.916-56.848-74.916-46.452-31.778 3.51-31.124 3.51-31.124 51.4 3.61 78.476 52.766 78.476 52.766 45.672 78.27 119.776 55.64 149.004 42.558 4.588-33.086 17.852-55.68 32.506-68.464-113.73-12.942-233.276-56.85-233.276-253.032 0-55.898 20.004-101.574 52.76-137.428-5.316-12.9-22.854-64.972 4.952-135.5 0 0 43.006-13.752 140.84 52.49 40.836-11.348 84.636-17.036 128.154-17.234 43.502 0.198 87.336 5.886 128.256 17.234 97.734-66.244 140.656-52.49 140.656-52.49 27.872 70.528 10.35 122.6 5.036 135.5 32.82 35.856 52.694 81.532 52.694 137.428 0 196.654-119.778 239.95-233.79 252.624 18.364 15.89 34.724 47.046 34.724 94.812 0 68.508-0.596 123.644-0.596 140.508 0 13.628 9.222 29.594 35.172 24.566 203.322-67.776 349.842-259.626 349.842-485.768 0-282.78-229.234-511.998-511.992-511.998z"],"isMulticolor":false,"isMulticolor2":false,"tags":["github"],"defaultCode":60080,"grid":0},"properties":{"id":11,"order":12,"ligatures":"","prevSize":32,"code":60080,"name":"github"},"setIdx":0,"setId":0,"iconIdx":11}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showCodes":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"name":"icomoon","classSelector":".icon"},"historySize":50}} \ No newline at end of file diff --git a/public/images/avatar.png b/public/images/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..3767bfbe0cc9899e24dc070c8e6f7536f8e169fb GIT binary patch literal 32806 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 KjeJG3m;VoYoH+Xc literal 0 HcmV?d00001 diff --git a/public/images/favicon.png b/public/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c61ba4a1306060144763cba5018c492c3cd4b1 GIT binary patch literal 329 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 e0G0F+0RJCm$yUKZnd|BR0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + +

+ + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..ba8774d --- /dev/null +++ b/public/index.xml @@ -0,0 +1,866 @@ + + + + Blog Coderockr + //blog.coderockr.com/ + Recent content on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 14 Dec 2018 00:00:00 +0000 + + + + + + Mercado de Aplicativos: 4 Tendências para 2019 + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + O mercado de apps está sempre repleto de novidades e para o próximo ano as perspectivas não são diferentes. Esse mercado continuará em expansão, acompanhando a consolidação do crescente uso de celulares e outros dispositivos móveis, como os tablets. Os smartphones, por exemplo, já não são mais acessórios usados apenas para ligações e envio de mensagens. Com o desenvolvimento tecnológico do mercado de aplicativos, esses aparelhos se tornaram presentes em diversas etapas do dia-dia. + + + + I.A. Inteligência Artificial + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I. + + + + Presença Digital para as Organizações + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Thu, 18 Oct 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Entenda a importância! +O mercado apresenta novas tendências cada vez mais rápido e, com esta realidade, é natural que o seu cliente também esteja atento a essas mudanças e modifique o seu perfil em busca de novas oportunidades que lhe proporcionem maior retorno. +Nesse cenário, as empresas que possuem forte presença digital têm uma excelente vantagem, porque conseguem atender a esse anseio do público com maior facilidade na hora de adquirir um produto ou serviço. + + + + Entenda a Diferença de um Software Customizado e um Software Pronto + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Fri, 10 Aug 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Um software pode ser desenvolvido para uma área de mercado ou customizado para atender uma necessidade específica de negócio. Neste último caso, o desenvolvimento é adaptado a empresa, compreendendo os desejos de seu cliente e criando áreas específicas para atender 100% a demanda em questão. +Um software pronto “de prateleira” é mais fechado, geralmente desenvolvido de maneira genérica para atender o maior número de situações de negócios possível, utilizando um modelo específico. + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Escopo Fechado: Porque Não Optar? + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Motivos que afetam o insucesso do seu projeto digital +O mercado de desenvolvimento de soluções digitais têm frequentemente se deparado com vários problemas ao optar por métodos de desenvolvimento de software tradicionais. +Principalmente quando as necessidades do projeto mudam e os desenvolvedores não tem expertise para atender essas mudanças em curto prazo. E acredite, com certeza as necessidades do projeto vão mudar em algum momento, mesmo você afirmando que hoje é somente isso o que quer em seu projeto. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + 5 Razões para Desenvolver um Software Personalizado para o seu Negócio + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Thu, 08 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Sua empresa enfrenta problemas relacionados a gestão, lançamentos massivos, cadastros diversos, sofre com a falta de identidade da sua marca, opções de personalização e melhorias escassas, entre outros? A solução pode estar na busca por uma Software House, empresa especializada no desenvolvimento de softwares e aplicativos, que atenda todas as suas necessidades. Veja as vantagens de investir no desenvolvimento de um software próprio: +Atende às necessidades específicas da empresa A principal vantagem de ter um software sob medida é que este foi desenvolvido para atender especialmente às necessidades do seu negócio ou empresa. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Usando um Bot do Telegram para Receber Notificações + //blog.coderockr.com/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/ + Mon, 12 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/ + # +Quem me conhece sabe que eu não gosto muito do WhatsApp. E o motivo principal nem é a quantia de mensagens “bonitinhas” que seus parentes enviam todos os dias. O meu principal problema, pelo menos por enquanto, é a falta de opções para nós desenvolvedores criarmos automações e integrações. +Neste post vou mostrar um exemplo simples mas que está sendo bem útil para mim. Trata-se do Integram +Com o Integram é possível integrar o Telegram com vários serviços como Trello, Gitlab, Bitbucket, etc. + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + O Plano de Carreiras da Coderockr + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + Mon, 29 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + O que é um plano de carreira? +Citando a definição neste ótimo post publicado no site da Endeavor: + Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição. + Porque criar um plano? A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + Integração Contínua Usando o Drone + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone. +O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais: + Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando um Novo Projeto: Decisões de Arquitetura + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência. +Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real. +O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + Dois Anos de Coderockr + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Sun, 26 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + Culture Code da Coderockr + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Mon, 09 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Hoje é um dia importante para nós da Coderockr pois estamos tornando público nosso Culture Code. +Essa é uma prática que se tornou famosa desde que a Netflix publicou o seu em 2009 e desde então várias empresas fizeram o mesmo. +Citando o post da Resultados Digitais sobre o assunto: + Culture Code é um documento que serve para uma série de coisas: um guia para os colaboradores da empresa, um material para atração de novas pessoas para o time, critérios de seleção e avaliação de desempenho, um norte para onde queremos evoluir com as nossas práticas no dia a dia e em última instância até como um “manifesto” de como achamos que o trabalho deveria ser na maioria dos lugares. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + The Code Ownership Feeling + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Fri, 30 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be +That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. + + + + A Importância do Propósito + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Tue, 20 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais &ldquo;tradicionais&rdquo; ou &ldquo;startups&rdquo;. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como &ldquo;missão, visão, valores&rdquo;, e o que eu acho ainda mais útil: o propósito da empresa. + + + + O Sentimento de Propriedade do Código + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + Thu, 15 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + My precious! + Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo. +Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Como Usamos o Slack na Coderockr + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Thu, 21 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Dentre os valores da Coderockr estão dois pontos importantes: cooperação e transparência. Como somos uma empresa que desenvolve software nada mais esperado do que usarmos aplicativos para ajudar nestes objetivos. E hoje a principal ferramenta para isso é o Slack, que rapidamente tornou-se o coração de muitas empresas +Nós usamos o Slack como o nosso canal de comunicação, tanto entre as equipes quanto com os clientes. Cada projeto recebe um canal específico, como no exemplo abaixo: + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + Aprenda a Dizer NÃO, Você Precisará Disso! + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Sat, 02 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido. +Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook. + + + + Nossas Experiências com Mentoria na Coderockr + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Fri, 01 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias. +A motivação Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer: + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Por que Ir a Eventos? + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Fri, 26 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira. +Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + Tue, 23 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser. +A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client. +Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados. + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Tue, 02 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Se eu Soubesse aos 18  —  Profissão + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Fri, 18 Dec 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca. +A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + O Propósito da Coderockr + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Thu, 14 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de &ldquo;golden circle&rdquo; onde mostra a importância das empresas terem foco no &ldquo;por quê&rdquo; mais do que no &ldquo;como&rdquo; ou &ldquo;o que&rdquo; fazem. +Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos. + Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + Se as Empresas Fossem Bandas de Rock + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Wed, 22 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas. +O Manager O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + Multitasking Só é Bom no seu Computador + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Thu, 27 Nov 2014 00:00:00 +0000 + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias. +Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + Programador Dave Grohl e Não Axl Rose + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + Mon, 26 Aug 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado. +O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”. +Traduzi/adaptei os trechos mais importantes: + Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos. + + + + \ No newline at end of file diff --git a/public/js/highlight.min.js b/public/js/highlight.min.js new file mode 100644 index 0000000..38349a6 --- /dev/null +++ b/public/js/highlight.min.js @@ -0,0 +1,3 @@ +/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */ +!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){s+=""}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"
":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="
",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("livecodeserver",function(e){var r={b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0},t=[e.CBCM,e.HCM,e.C("--","$"),e.C("[^:]//","$")],a=e.inherit(e.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]}),o=e.inherit(e.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:!1,k:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},c:[r,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"function",b:"\\bend\\s+",e:"$",k:"end",c:[o,a],r:0},{bK:"command on",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"meta",v:[{b:"<\\?(rev|lc|livecode)",r:10},{b:"<\\?"},{b:"\\?>"}]},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(t),i:";$|^\\[|^=|&|{"}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("clojure",function(e){var t={"builtin-name":"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",n="["+r+"]["+r+"0-9/;:]*",a="[-+]?\\d+(\\.\\d+)?",o={b:n,r:0},s={cN:"number",b:a,r:0},c=e.inherit(e.QSM,{i:null}),i=e.C(";","$",{r:0}),d={cN:"literal",b:/\b(true|false|nil)\b/},l={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+n},p=e.C("\\^\\{","\\}"),u={cN:"symbol",b:"[:]{1,2}"+n},f={b:"\\(",e:"\\)"},h={eW:!0,r:0},y={k:t,l:n,cN:"name",b:n,starts:h},b=[f,c,m,p,i,u,l,s,d,o];return f.c=[e.C("comment",""),y,h],h.c=b,l.c=b,p.c=[l],{aliases:["clj"],i:/\S/,c:[f,c,m,p,i,u,l,s,d]}});hljs.registerLanguage("vbnet",function(e){return{aliases:["vb"],cI:!0,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C("'","$",{rB:!0,c:[{cN:"doctag",b:"'''|",c:[e.PWM]},{cN:"doctag",b:"",c:[e.PWM]}]}),e.CNM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elseif end region externalsource"}}]}});hljs.registerLanguage("flix",function(e){var t={cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={cN:"string",v:[{b:'"',e:'"'}]},n={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/},c={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[n]};return{k:{literal:"true false",keyword:"case class def else enum if impl import in lat rel index let match namespace switch type yield with"},c:[e.CLCM,e.CBCM,t,i,c,e.CNM]}});hljs.registerLanguage("1c",function(s){var x="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",o="далее ",m="возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",t=o+m,l="загрузитьизфайла ",e="вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",n=l+e,a="разделительстраниц разделительстрок символтабуляции ",d="ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ",i="acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ",c="wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",r=a+d+i+c,p="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ",b="автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы ",w="виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ",h="авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ",j="использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ",z="отображениевремениэлементовпланировщика ",f="типфайлаформатированногодокумента ",k="обходрезультатазапроса типзаписизапроса ",u="видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ",y="доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ",N="типизмеренияпостроителязапроса ",g="видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ",E="wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson ",M="видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных ",_="важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения ",v="режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ",A="расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии ",C="кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip ",L="звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ",Z="направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ",$="httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений ",q="важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",B=p+b+w+h+j+z+f+k+u+y+N+g+E+M+_+v+A+C+L+Z+$+q,I="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ",P="comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив ",T=I+P,W="null истина ложь неопределено",D=s.inherit(s.NM),F={cN:"string",b:'"|\\|',e:'"|$',c:[{b:'""'}]},G={b:"'",e:"'",eB:!0,eE:!0,c:[{cN:"number",b:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},H=s.inherit(s.CLCM),J={cN:"meta",l:x,b:"#|&",e:"$",k:{"meta-keyword":t+n},c:[H]},K={cN:"symbol",b:"~",e:";|:",eE:!0},O={cN:"function",l:x,v:[{b:"процедура|функция",e:"\\)",k:"процедура функция"},{b:"конецпроцедуры|конецфункции",k:"конецпроцедуры конецфункции"}],c:[{b:"\\(",e:"\\)",endsParent:!0,c:[{cN:"params",l:x,b:x,e:",",eE:!0,eW:!0,k:{keyword:"знач",literal:W},c:[D,F,G]},H]},s.inherit(s.TM,{b:x})]};return{cI:!0,l:x,k:{keyword:t,built_in:r,"class":B,type:T,literal:W},c:[J,O,H,K,D,F,G]}});hljs.registerLanguage("capnproto",function(t){return{aliases:["capnp"],k:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},c:[t.QSM,t.NM,t.HCM,{cN:"meta",b:/@0x[\w\d]{16};/,i:/\n/},{cN:"symbol",b:/@\d+\b/},{cN:"class",bK:"struct enum",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]},{cN:"class",bK:"interface",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]}]}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[c]},{b:/(fr|rf|f)"/,e:/"/,c:[c]},e.ASM,e.QSM]},s={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",b,s,a]};return c.c=[a,s,b],{aliases:["py","gyp"],k:r,i:/(<\/|->|\?)|=>/,c:[b,s,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("fix",function(u){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:!0,rB:!1,cN:"attr"},{b:/=/,e:/([\u2401\u0001])/,eE:!0,eB:!0,cN:"string"}]}],cI:!0}});hljs.registerLanguage("thrift",function(e){var t="bool byte i16 i32 i64 double string binary";return{k:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:t,literal:"true false"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:"class",bK:"struct enum service exception",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:"\\b(set|list|map)\\s*<",e:">",k:t,c:["self"]}]}});hljs.registerLanguage("hy",function(e){var t={"builtin-name":"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~"},i="a-zA-Z_\\-!.?+*=<>&#'",a="["+i+"]["+i+"0-9/;:]*",r="[-+]?\\d+(\\.\\d+)?",o={cN:"meta",b:"^#!",e:"$"},s={b:a,r:0},n={cN:"number",b:r,r:0},l=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),d={cN:"literal",b:/\b([Tt]rue|[Ff]alse|nil|None)\b/},p={b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+a},u=e.C("\\^\\{","\\}"),f={cN:"symbol",b:"[:]{1,2}"+a},h={b:"\\(",e:"\\)"},b={eW:!0,r:0},g={k:t,l:a,cN:"name",b:a,starts:b},y=[h,l,m,u,c,f,p,n,d,s];return h.c=[e.C("comment",""),g,b],b.c=y,p.c=y,{aliases:["hylang"],i:/\S/,c:[o,h,l,m,u,c,f,p,n,d]}});hljs.registerLanguage("zephir",function(e){var i={cN:"string",c:[e.BE],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["zep"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[e.BE]},{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e.CBCM,i,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,n]}});hljs.registerLanguage("vala",function(t){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},c:[{cN:"class",bK:"class interface namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[t.UTM]},t.CLCM,t.CBCM,{cN:"string",b:'"""',e:'"""',r:5},t.ASM,t.QSM,t.CNM,{cN:"meta",b:"^#",e:"$",r:2}]}});hljs.registerLanguage("maxima",function(e){var t="if then else elseif for thru do while unless step in and or not",a="true false unknown inf minf ind und %e %i %pi %phi %gamma",r=" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest",i="_ __ %|0 %%|0";return{l:"[A-Za-z_%][0-9A-Za-z_%]*",k:{keyword:t,literal:a,built_in:r,symbol:i},c:[{cN:"comment",b:"/\\*",e:"\\*/",c:["self"]},e.QSM,{cN:"number",r:0,v:[{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",r:10},{b:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{b:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],i:/@/}});hljs.registerLanguage("profile",function(e){return{c:[e.CNM,{b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{b:"function calls",e:"$",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:"string",b:"\\(",e:"\\)$",eB:!0,eE:!0,r:0}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("lisp",function(b){var e="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"meta",b:"^#!",e:"$"},l={cN:"literal",b:"\\b(t{1}|nil)\\b"},n={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},i=b.inherit(b.QSM,{i:null}),t=b.C(";","$",{r:0}),s={b:"\\*",e:"\\*"},u={cN:"symbol",b:"[:&]"+e},d={b:e,r:0},f={b:c},m={b:"\\(",e:"\\)",c:["self",l,i,n,d]},o={c:[n,i,s,u,m,d],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:{name:"quote"}},{b:"'"+c}]},v={v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},N={b:"\\(\\s*",e:"\\)"},A={eW:!0,r:0};return N.c=[{cN:"name",v:[{b:e},{b:c}]},A],A.c=[o,v,N,l,n,i,t,s,u,f,d],{i:/\S/,c:[n,a,l,i,t,o,v,N,d]}});hljs.registerLanguage("irpf90",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"};return{cI:!0,k:n,i:/\/\*/,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),e.C("begin_doc","end_doc",{r:10}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("xl",function(e){var t="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",o={keyword:"if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree",literal:"true false nil",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons "+t},a={cN:"string",b:'"',e:'"',i:"\\n"},r={cN:"string",b:"'",e:"'",i:"\\n"},i={cN:"string",b:"<<",e:">>"},l={cN:"number",b:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},n={bK:"import",e:"$",k:o,c:[a]},s={cN:"function",b:/[a-z][^\n]*->/,rB:!0,e:/->/,c:[e.inherit(e.TM,{starts:{eW:!0,k:o}})]};return{aliases:["tao"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:o,c:[e.CLCM,e.CBCM,a,r,i,s,n,l,e.NM]}});hljs.registerLanguage("mel",function(e){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("typescript",function(e){var r={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"};return{aliases:["ts"],k:r,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:r,c:["self",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM],i:/["'\(]/}]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("groovy",function(e){return{k:{literal:"true false null",keyword:"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"symbol",b:"^\\s*[A-Za-z0-9_$]+:",r:0}],i:/#|<\//}});hljs.registerLanguage("rust",function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",r="alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default",n="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],k:{keyword:r,literal:"true false Some None Ok Err",built_in:n},l:e.IR+"!?",i:""}]}});hljs.registerLanguage("puppet",function(e){var s={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},r=e.C("#","$"),a="([A-Za-z_]|::)(\\w|::)*",i=e.inherit(e.TM,{b:a}),o={cN:"variable",b:"\\$"+a},t={cN:"string",c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]};return{aliases:["pp"],c:[r,o,t,{bK:"class",e:"\\{|;",i:/=/,c:[i,r]},{bK:"define",e:/\{/,c:[{cN:"section",b:e.IR,endsParent:!0}]},{b:e.IR+"\\s+\\{",rB:!0,e:/\S/,c:[{cN:"keyword",b:e.IR},{b:/\{/,e:/\}/,k:s,r:0,c:[t,r,{b:"[a-zA-Z_]+\\s*=>",rB:!0,e:"=>",c:[{cN:"attr",b:e.IR}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},o]}],r:0}]}});hljs.registerLanguage("fsharp",function(e){var t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",i:/\/\*/,c:[{cN:"keyword",b:/\b(yield|return|let|do)!/},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"meta",b:"\\[<",e:">\\]",r:10},{cN:"symbol",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}});hljs.registerLanguage("gauss",function(e){var t={keyword:"and bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new not open or output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint",built_in:"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname threadBegin threadEnd threadEndFor threadFor threadJoin threadStat time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin strtrim sylvester",literal:"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS"},a={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[{cN:"meta-string",b:'"',e:'"',i:"\\n"}]},e.CLCM,e.CBCM]},r=e.UIR+"\\s*\\(?",o=[{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.CNM,e.CLCM,e.CBCM]}];return{aliases:["gss"],cI:!0,k:t,i:"(\\{[%#]|[%#]\\})",c:[e.CNM,e.CLCM,e.CBCM,e.C("@","@"),a,{cN:"string",b:'"',e:'"',c:[e.BE]},{cN:"function",bK:"proc keyword",e:";",eE:!0,k:t,c:[{b:r,rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM,a].concat(o)},{cN:"function",bK:"fn",e:";",eE:!0,k:t,c:[{b:r+e.IR+"\\)?\\s*\\=\\s*",rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM].concat(o)},{cN:"function",b:"\\bexternal (proc|keyword|fn)\\s+",e:";",eE:!0,k:t,c:[{b:r,rB:!0,c:[e.UTM],r:0},e.CLCM,e.CBCM]},{cN:"function",b:"\\bexternal (matrix|string|array|sparse matrix|struct "+e.IR+")\\s+",e:";",eE:!0,k:t,c:[e.CLCM,e.CBCM]}]}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("autohotkey",function(e){var r={b:"`[\\s\\S]"};return{cI:!0,aliases:["ahk"],k:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"A|0 true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},c:[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},r,e.inherit(e.QSM,{c:[r]}),e.C(";","$",{r:0}),e.CBCM,{cN:"number",b:e.NR,r:0},{cN:"subst",b:"%(?=[a-zA-Z0-9#_$@])",e:"%",i:"[^a-zA-Z0-9#_$@]"},{cN:"built_in",b:"^\\s*\\w+\\s*,"},{cN:"meta",b:"^\\s*#w+",e:"$",r:0},{cN:"symbol",c:[r],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,"}]}});hljs.registerLanguage("openscad",function(e){var r={cN:"keyword",b:"\\$(f[asn]|t|vp[rtd]|children)"},n={cN:"literal",b:"false|true|PI|undef"},o={cN:"number",b:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",r:0},i=e.inherit(e.QSM,{i:null}),t={cN:"meta",k:{"meta-keyword":"include use"},b:"include|use <",e:">"},s={cN:"params",b:"\\(",e:"\\)",c:["self",o,i,r,n]},c={b:"[*!#%]",r:0},a={cN:"function",bK:"module function",e:"\\=|\\{",c:[s,e.UTM]};return{aliases:["scad"],k:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},c:[e.CLCM,e.CBCM,o,t,i,r,c,a]}});hljs.registerLanguage("smali",function(t){var s=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],e=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],r=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],c:[{cN:"string",b:'"',e:'"',r:0},t.C("#","$",{r:0}),{cN:"keyword",v:[{b:"\\s*\\.end\\s[a-zA-Z0-9]*"},{b:"^[ ]*\\.[a-zA-Z]*",r:0},{b:"\\s:[a-zA-Z_0-9]*",r:0},{b:"\\s("+r.join("|")+")"}]},{cN:"built_in",v:[{b:"\\s("+s.join("|")+")\\s"},{b:"\\s("+s.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",r:10},{b:"\\s("+e.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",r:10}]},{cN:"class",b:"L[^(;:\n]*;",r:0},{b:"[vp][0-9]+"}]}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],s=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},b=function(e,r,t){return{cN:e,b:r,r:t}},n={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,s("'"),s('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},b("number","#[0-9A-Fa-f]+\\b"),n,b("variable","@@?"+r,10),b("variable","@{"+r+"}"),b("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var i=c.concat({b:"{",e:"}",c:a}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},u={b:t+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:t,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:c}}]},l={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},C={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:i}},p={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:t,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,o,b("keyword","all\\b"),b("variable","@{"+r+"}"),b("selector-tag",t+"%?",0),b("selector-id","#"+t),b("selector-class","\\."+t,0),b("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:i},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,l,C,u,p),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U)?L?"',e:'"',i:"\\n",c:[t.BE]},{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("sqf",function(e){var t=e.getLanguage("cpp").exports,a={cN:"variable",b:/\b_+[a-zA-Z_]\w*/},o={cN:"title",b:/[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/},r={cN:"string",v:[{b:'"',e:'"',c:[{b:'""',r:0}]},{b:"'",e:"'",c:[{b:"''",r:0}]}]};return{aliases:["sqf"],cI:!0,k:{keyword:"case catch default do else exit exitWith for forEach from if switch then throw to try waitUntil while with",built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem addWeaponPool addWeaponTurret agent agents AGLToASL aimedAtTarget aimPos airDensityRTD airportSide AISFinishHeal alive all3DENEntities allControls allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSites allTurrets allUnits allUnitsUAV allVariables ammo and animate animateDoor animateSource animationNames animationPhase animationSourcePhase animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular blufor boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend canUnloadInCombat canVehicleCargo captive captiveNum cbChecked cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility civilian className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configHierarchy configName configNull configProperties configSourceAddonList configSourceMod configSourceModList connectTerminalToUAV controlNull controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlType ctrlVisible curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts diag_captureFrame diag_captureSlowFrame diag_codePerformance diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayNull displayParent displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle driver drop east echo edit3DENMissionAttributes editObject editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature enableAimPrecision enableAttack enableAudioFeature enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableStamina enableTeamSwitch enableUAVConnectability enableUAVWaypoints enableVehicleCargo endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagOwner flagSide flagTexture fleeing floor flyInHeight flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllHitPointsDamage getAllOwnedMines getAmmoCargo getAnimAimPrecision getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState getClientStateNumber getConnectedUAV getCustomAimingCoef getDammage getDescription getDir getDirVisual getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFatigue getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs getMissionLayerEntities getModelInfo getMousePosition getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getRelDir getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents getSlingLoad getSpeed getStamina getStatValue getSuppression getTerrainHeightASL getText getUnitLoadout getUnitTrait getVariable getVehicleCargo getWeaponCargo getWeaponSway getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId groupOwner groupRadio groupSelectedUnits groupSelectUnit grpNull gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups importance in inArea inAreaArray incapacitatedState independent inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDedicated isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isVehicleCargo isWalking isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineBreak lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith linkItem list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationNull locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual modParams moonIntensity moonPhase morale move move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberToDate objectCurators objectFromNetId objectParent objNull objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openDLCPage openMap openYoutubeVideo opfor or orderGetIn overcast overcastForecast owner param params parseNumber parseText parsingNamespace particlesQuality pi pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority private processDiaryLink productVersion profileName profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl remoteExec remoteExecCall remove3DENConnection remove3DENEventHandler remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponGlobal removeWeaponTurret requiredVersion resetCamShake resetSubgroupDirection resistance resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scriptNull scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer set3DENLinesVisible set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setAirportSide setAmmo setAmmoCargo setAnimSpeedCoef setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDetailMapBlendPars setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setFace setFaceAnimation setFatigue setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect setPitch setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setShadowDistance setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits setTargetAge setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat setUserActionText setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side sideAmbientLife sideChat sideEmpty sideEnemy sideFriendly sideLogic sideRadio sideUnknown simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan targetKnowledge targetsAggregate targetsQuery taskAlwaysVisible taskChildren taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskNull taskParent taskResult taskState taskType teamMember teamMemberNull teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text textLog textLogFormat tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent useAudioTimeForMoves vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUp vectorUpVisual vehicle vehicleCargoEnabled vehicleChat vehicleRadio vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD west WFSideText wind",literal:"true false nil"},c:[e.CLCM,e.CBCM,e.NM,a,o,r,t.preprocessor],i:/#/}});hljs.registerLanguage("hsp",function(e){return{cI:!0,l:/[\w\._]+/,k:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,{cN:"string",b:'{"',e:'"}',c:[e.BE]},e.C(";","$",{r:0}),{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib"},c:[e.inherit(e.QSM,{cN:"meta-string"}),e.NM,e.CNM,e.CLCM,e.CBCM]},{cN:"symbol",b:"^\\*(\\w+|@)"},e.NM,e.CNM]}});hljs.registerLanguage("subunit",function(s){var r={cN:"string",b:"\\[\n(multipart)?",e:"\\]\n"},t={cN:"string",b:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},e={cN:"string",b:"(\\+|-)\\d+"},c={cN:"keyword",r:10,v:[{b:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{b:"^progress(:?)(\\s+)?(pop|push)?"},{b:"^tags:"},{b:"^time:"}]};return{cI:!0,c:[r,t,e,c]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("inform7",function(e){var r="\\[",o="\\]";return{aliases:["i7"],cI:!0,k:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},c:[{cN:"string",b:'"',e:'"',r:0,c:[{cN:"subst",b:r,e:o}]},{cN:"section",b:/^(Volume|Book|Part|Chapter|Section|Table)\b/,e:"$"},{b:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,e:":",c:[{b:"\\(This",e:"\\)"}]},{cN:"comment",b:r,e:o,c:["self"]}]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("prolog",function(c){var b={b:/[a-z][A-Za-z0-9_]*/,r:0},r={cN:"symbol",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},e={b:/\(/,e:/\)/,r:0},n={b:/\[/,e:/\]/},a={cN:"comment",b:/%/,e:/$/,c:[c.PWM]},t={cN:"string",b:/`/,e:/`/,c:[c.BE]},g={cN:"string",b:/0\'(\\\'|.)/},s={cN:"string",b:/0\'\\s/},o={b:/:-/},N=[b,r,e,o,n,a,c.CBCM,c.QSM,c.ASM,t,g,s,c.CNM];return e.c=N,n.c=N,{c:N.concat([{b:/\.$/}])}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) .+?( \\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"/,starts:{e:/$/,sL:"clojure"}}]}});hljs.registerLanguage("nimrod",function(t){return{aliases:["nim"],k:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},c:[{cN:"meta",b:/{\./,e:/\.}/,r:10},{cN:"string",b:/[a-zA-Z]\w*"/,e:/"/,c:[{b:/""/}]},{cN:"string",b:/([a-zA-Z]\w*)?"""/,e:/"""/},t.QSM,{cN:"type",b:/\b[A-Z]\w+\b/,r:0},{cN:"number",r:0,v:[{b:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{b:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{b:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{b:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},t.HCM]}});hljs.registerLanguage("excel",function(E){return{aliases:["xlsx","xls"],cI:!0,l:/[a-zA-Z][\w\.]*/,k:{built_in:"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST"},c:[{b:/^=/,e:/[^=]/,rE:!0,i:/=/,r:10},{cN:"symbol",b:/\b[A-Z]{1,2}\d+\b/,e:/[^\d]/,eE:!0,r:0},{cN:"symbol",b:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,r:0},E.BE,E.QSM,{cN:"number",b:E.NR+"(%)?",r:0},E.C(/\bN\(/,/\)/,{eB:!0,eE:!0,i:/\n/})]}});hljs.registerLanguage("moonscript",function(e){var t={keyword:"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using",literal:"true false nil",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},r="[A-Za-z$_][0-9A-Za-z$_]*",s={cN:"subst",b:/#\{/,e:/}/,k:t},a=[e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'/,e:/'/,c:[e.BE]},{b:/"/,e:/"/,c:[e.BE,s]}]},{cN:"built_in",b:"@__"+e.IR},{b:"@"+e.IR},{b:e.IR+"\\\\"+e.IR}];s.c=a;var c=e.inherit(e.TM,{b:r}),n="(\\(.*\\))?\\s*\\B[-=]>",i={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(a)}]};return{aliases:["moon"],k:t,i:/\/\*/,c:a.concat([e.C("--","$"),{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+n,e:"[-=]>",rB:!0,c:[c,i]},{b:/[\(,:=]\s*/,r:0,c:[{cN:"function",b:n,e:"[-=]>",rB:!0,c:[i]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[c]},c]},{cN:"name",b:r+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("llvm",function(e){var n="([-a-zA-Z$._][\\w\\-$.]*)";return{k:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",c:[{cN:"keyword",b:"i\\d+"},e.C(";","\\n",{r:0}),e.QSM,{cN:"string",v:[{b:'"',e:'[^\\\\]"'}],r:0},{cN:"title",v:[{b:"@"+n},{b:"@\\d+"},{b:"!"+n},{b:"!\\d+"+n}]},{cN:"symbol",v:[{b:"%"+n},{b:"%\\d+"},{b:"#\\d+"}]},{cN:"number",v:[{b:"0[xX][a-fA-F0-9]+"},{b:"-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?"}],r:0}]}});hljs.registerLanguage("brainfuck",function(r){var n={cN:"literal",b:"[\\+\\-]",r:0};return{aliases:["bf"],c:[r.C("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{rE:!0,r:0}),{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:!0,c:[n]},n]}});hljs.registerLanguage("handlebars",function(e){var a={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.-]+/,k:a,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:"template-variable",b:/\{\{/,e:/\}\}/,k:a}]}});hljs.registerLanguage("haskell",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},a={cN:"meta",b:"{-#",e:"#-}"},l={cN:"meta",b:"^#",e:"$"},c={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n={b:"\\(",e:"\\)",i:'"',c:[a,l,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),i]},s={b:"{",e:"}",c:n.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{bK:"module",e:"where",k:"module where",c:[n,i],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import qualified as hiding",c:[n,i],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[c,n,i]},{cN:"class",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[a,c,n,s,i]},{bK:"default",e:"$",c:[c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[c,e.QSM,i]},{cN:"meta",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},a,l,e.QSM,e.CNM,c,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}]}});hljs.registerLanguage("gradle",function(e){return{cI:!0,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}});hljs.registerLanguage("livescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},s="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",n=e.inherit(e.TM,{b:s}),i={cN:"subst",b:/#\{/,e:/}/,k:t},r={cN:"subst",b:/#[A-Za-z$_]/,e:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},c=[e.BNM,{cN:"number",b:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",r:0,starts:{e:"(\\s*/)?",r:0}},{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,i,r]},{b:/"/,e:/"/,c:[e.BE,i,r]},{b:/\\/,e:/(\s|$)/,eE:!0}]},{cN:"regexp",v:[{b:"//",e:"//[gim]*",c:[i,e.HCM]},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+s},{b:"``",e:"``",eB:!0,eE:!0,sL:"javascript"}];i.c=c;var a={cN:"params",b:"\\(",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(c)}]};return{aliases:["ls"],k:t,i:/\/\*/,c:c.concat([e.C("\\/\\*","\\*\\/"),e.HCM,{cN:"function",c:[n,a],rB:!0,v:[{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",e:"\\->\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",e:"[-~]{1,2}>\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",e:"!?[-~]{1,2}>\\*?"}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[n]},n]},{b:s+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("d",function(e){var t={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},r="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",i="0[bB][01_]+",n="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",_="0[xX]"+n,c="([eE][+-]?"+a+")",d="("+a+"(\\.\\d*|"+c+")|\\d+\\."+a+a+"|\\."+r+c+"?)",o="(0[xX]("+n+"\\."+n+"|\\.?"+n+")[pP][+-]?"+a+")",s="("+r+"|"+i+"|"+_+")",l="("+o+"|"+d+")",u="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",b={cN:"number",b:"\\b"+s+"(L|u|U|Lu|LU|uL|UL)?",r:0},f={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+s+"(i|[fF]i|Li))",r:0},g={cN:"string",b:"'("+u+"|.)",e:"'",i:"."},h={b:u,r:0},p={cN:"string",b:'"',c:[h],e:'"[cwd]?'},m={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},w={cN:"string",b:"`",e:"`[cwd]?"},N={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},A={cN:"string",b:'q"\\{',e:'\\}"'},F={cN:"meta",b:"^#!",e:"$",r:5},y={cN:"meta",b:"#(line)",e:"$",r:5},L={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},v=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,v,N,p,m,w,A,f,b,g,F,y,L]}});hljs.registerLanguage("fortran",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{cI:!0,aliases:["f90","f95"],k:n,i:/\/\*/,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("ceylon",function(e){var a="assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",t="shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",s="doc by license see throws tagged",n={cN:"subst",eB:!0,eE:!0,b:/``/,e:/``/,k:a,r:10},r=[{cN:"string",b:'"""',e:'"""',r:10},{cN:"string",b:'"',e:'"',c:[n]},{cN:"string",b:"'",e:"'"},{cN:"number",b:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",r:0}];return n.c=r,{k:{keyword:a+" "+t,meta:s},i:"\\$[^01]|#[^0-9a-fA-F]",c:[e.CLCM,e.C("/\\*","\\*/",{c:["self"]}),{cN:"meta",b:'@[a-z]\\w*(?:\\:"[^"]*")?'}].concat(r)}});hljs.registerLanguage("gcode",function(N){var e="[A-Z_][A-Z0-9_.]*",c="\\%",E="IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR",i={cN:"meta",b:"([O])([0-9]+)"},n=[N.CLCM,N.CBCM,N.C(/\(/,/\)/),N.inherit(N.CNM,{b:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+N.CNR}),N.inherit(N.ASM,{i:null}),N.inherit(N.QSM,{i:null}),{cN:"name",b:"([G])([0-9]+\\.?[0-9]?)"},{cN:"name",b:"([M])([0-9]+\\.?[0-9]?)"},{cN:"attr",b:"(VC|VS|#)",e:"(\\d+)"},{cN:"attr",b:"(VZOFX|VZOFY|VZOFZ)"},{cN:"built_in",b:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",e:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{cN:"symbol",v:[{b:"N",e:"\\d+",i:"\\W"}]}];return{aliases:["nc"],cI:!0,l:e,k:E,c:[{cN:"meta",b:c},i].concat(n)}});hljs.registerLanguage("roboconf",function(a){var e="[a-zA-Z-_][^\\n{]+\\{",n={cN:"attribute",b:/[a-zA-Z-_]+/,e:/\s*:/,eE:!0,starts:{e:";",r:0,c:[{cN:"variable",b:/\.[a-zA-Z-_]+/},{cN:"keyword",b:/\(optional\)/}]}};return{aliases:["graph","instances"],cI:!0,k:"import",c:[{b:"^facet "+e,e:"}",k:"facet",c:[n,a.HCM]},{b:"^\\s*instance of "+e,e:"}",k:"name count channels instance-data instance-state instance of",i:/\S/,c:["self",n,a.HCM]},{b:"^"+e,e:"}",c:[n,a.HCM]},a.HCM]}});hljs.registerLanguage("scheme",function(e){var t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",a=r+"[+\\-]"+r+"i",i={"builtin-name":"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},n={cN:"meta",b:"^#!",e:"$"},c={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},l={cN:"number",v:[{b:r,r:0},{b:a,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},s=e.QSM,o=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],u={b:t,r:0},p={cN:"symbol",b:"'"+t},d={eW:!0,r:0},m={v:[{b:/'/},{b:"`"}],c:[{b:"\\(",e:"\\)",c:["self",c,s,l,u,p]}]},g={cN:"name",b:t,l:t,k:i},h={b:/lambda/,eW:!0,rB:!0,c:[g,{b:/\(/,e:/\)/,endsParent:!0,c:[u]}]},b={v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[h,g,d]};return d.c=[c,l,s,u,p,m,b].concat(o),{i:/\S/,c:[n,l,s,p,m,b].concat(o)}});hljs.registerLanguage("twig",function(e){var t={cN:"params",b:"\\(",e:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={bK:a,k:{name:a},r:0,c:[t]},c={b:/\|[A-Za-z_]+:?/,k:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",c:[r]},s="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return s=s+" "+s.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],cI:!0,sL:"xml",c:[e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:s,starts:{eW:!0,c:[c,r],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:["self",c,r]}]}});hljs.registerLanguage("haxe",function(e){var t="Int Float String Bool Dynamic Void Array ";return{aliases:["hx"],k:{keyword:"break case cast catch continue default do dynamic else enum extern for function here if import in inline never new override package private get set public return static super switch this throw trace try typedef untyped using var while "+t,built_in:"trace this",literal:"true false null _"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"},{cN:"subst",b:"\\$",e:"\\W}"}]},e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"meta",b:"@:",e:"$"},{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elseif end error"}},{cN:"type",b:":[ ]*",e:"[^A-Za-z0-9_ \\->]",eB:!0,eE:!0,r:0},{cN:"type",b:":[ ]*",e:"\\W",eB:!0,eE:!0},{cN:"type",b:"new *",e:"\\W",eB:!0,eE:!0},{cN:"class",bK:"enum",e:"\\{",c:[e.TM]},{cN:"class",bK:"abstract",e:"[\\{$]",c:[{cN:"type",b:"\\(",e:"\\)",eB:!0,eE:!0},{cN:"type",b:"from +",e:"\\W",eB:!0,eE:!0},{cN:"type",b:"to +",e:"\\W",eB:!0,eE:!0},e.TM],k:{keyword:"abstract from to"}},{cN:"class",b:"\\b(class|interface) +",e:"[\\{$]",eE:!0,k:"class interface",c:[{cN:"keyword",b:"\\b(extends|implements) +",k:"extends implements",c:[{cN:"type",b:e.IR,r:0}]},e.TM]},{cN:"function",bK:"function",e:"\\(",eE:!0,i:"\\S",c:[e.TM]}],i:/<\//}});hljs.registerLanguage("gherkin",function(e){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"symbol",b:"\\*",r:0},{cN:"meta",b:"@[^@\\s]+"},{b:"\\|",e:"\\|\\w*$",c:[{cN:"string",b:"[^|]+"}]},{cN:"variable",b:"<",e:">"},e.HCM,{cN:"string",b:'"""',e:'"""'},e.QSM]}});hljs.registerLanguage("coq",function(e){return{k:{keyword:"_ as at cofix else end exists exists2 fix for forall fun if IF in let match mod Prop return Set then Type using where with Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture Conjectures Constant constr Constraint Constructors Context Corollary CreateHintDb Cut Declare Defined Definition Delimit Dependencies DependentDerive Drop eauto End Equality Eval Example Existential Existentials Existing Export exporting Extern Extract Extraction Fact Field Fields File Fixpoint Focus for From Function Functional Generalizable Global Goal Grab Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident Identity If Immediate Implicit Import Include Inductive Infix Info Initial Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation Obligations Opaque Open Optimize Options Parameter Parameters Parametric Path Paths pattern Polymorphic Preterm Print Printing Program Projections Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused Unfold Universe Universes Unset Unshelve using Variable Variables Variant Verbose Visibility where with",built_in:"abstract absurd admit after apply as assert assumption at auto autorewrite autounfold before bottom btauto by case case_eq cbn cbv change classical_left classical_right clear clearbody cofix compare compute congruence constr_eq constructor contradict contradiction cut cutrewrite cycle decide decompose dependent destruct destruction dintuition discriminate discrR do double dtauto eapply eassumption eauto ecase econstructor edestruct ediscriminate eelim eexact eexists einduction einjection eleft elim elimtype enough equality erewrite eright esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail field field_simplify field_simplify_eq first firstorder fix fold fourier functional generalize generalizing gfail give_up has_evar hnf idtac in induction injection instantiate intro intro_pattern intros intuition inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert revgoals rewrite rewrite_strat right ring ring_simplify rtauto set setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve specialize split split_Rabs split_Rmult stepl stepr subst sum swap symmetry tactic tauto time timeout top transitivity trivial try tryif unfold unify until using vm_compute with"},c:[e.QSM,e.C("\\(\\*","\\*\\)"),e.CNM,{cN:"type",eB:!0,b:"\\|\\s*",e:"\\w+"},{b:/[-=]>/}]}});hljs.registerLanguage("elixir",function(e){var r="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",c={cN:"subst",b:"#\\{",e:"}",l:r,k:b},a={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},i={cN:"function",bK:"def defp defmacro",e:/\B\b/,c:[e.inherit(e.TM,{b:r,endsParent:!0})]},l=e.inherit(i,{cN:"class",bK:"defimpl defmodule defprotocol defrecord",e:/\bdo\b|$|;/}),s=[a,e.HCM,l,i,{cN:"symbol",b:":(?!\\s)",c:[a,{b:n}],r:0},{cN:"symbol",b:r+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];return c.c=s,{l:r,k:b,c:s}});hljs.registerLanguage("awk",function(e){var r={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},b="BEGIN END if else while do for in break continue delete next nextfile function func exit|10",n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?"""/,e:/"""/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]};return{k:{keyword:b},c:[r,n,e.RM,e.HCM,e.NM]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("mojolicious",function(e){return{sL:"xml",c:[{cN:"meta",b:"^__(END|DATA)__$"},{b:"^\\s*%{1,2}={0,2}",e:"$",sL:"perl"},{b:"<%{1,2}={0,2}",e:"={0,1}%>",sL:"perl",eB:!0,eE:!0}]}});hljs.registerLanguage("vbscript",function(e){return{aliases:["vbs"],cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("lsl",function(E){var T={cN:"subst",b:/\\[tn"\\]/},e={cN:"string",b:'"',e:'"',c:[T]},A={cN:"number",b:E.CNR},R={cN:"literal",v:[{b:"\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b"},{b:"\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b"},{b:"\\b(?:FALSE|TRUE)\\b"},{b:"\\b(?:ZERO_ROTATION)\\b"},{b:"\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\b"},{b:"\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\b"}]},O={cN:"built_in",b:"\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b"};return{i:":",c:[e,{cN:"comment",v:[E.C("//","$"),E.C("/\\*","\\*/")]},A,{cN:"section",v:[{b:"\\b(?:state|default)\\b"},{b:"\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\b"}]},O,R,{cN:"type",b:"\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("cos",function(e){var t={cN:"string",v:[{b:'"',e:'"',c:[{b:'""',r:0}]}]},r={cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",r:0},s="property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii";return{cI:!0,aliases:["cos","cls"],k:s,c:[r,t,e.CLCM,e.CBCM,{cN:"comment",b:/;/,e:"$",r:0},{cN:"built_in",b:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{cN:"built_in",b:/\$\$\$[a-zA-Z]+/},{cN:"built_in",b:/%[a-z]+(?:\.[a-z]+)*/},{cN:"symbol",b:/\^%?[a-zA-Z][\w]*/},{cN:"keyword",b:/##class|##super|#define|#dim/},{b:/&sql\(/,e:/\)/,eB:!0,eE:!0,sL:"sql"},{b:/&(js|jscript|javascript)/,eB:!0,eE:!0,sL:"javascript"},{b:/&html<\s*\s*>/,sL:"xml"}]}});hljs.registerLanguage("oxygene",function(e){var r="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",t=e.C("{","}",{r:0}),a=e.C("\\(\\*","\\*\\)",{r:10}),n={cN:"string",b:"'",e:"'",c:[{b:"''"}]},o={cN:"string",b:"(#\\d+)+"},i={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",k:r,c:[n,o]},t,a]};return{cI:!0,l:/\.?\w+/,k:r,i:'("|\\$[G-Zg-z]|\\/\\*||->)',c:[t,a,e.CLCM,n,o,e.NM,i,{cN:"class",b:"=\\bclass\\b",e:"end;",k:r,c:[n,o,t,a,e.CLCM,i]}]}});hljs.registerLanguage("leaf",function(e){return{c:[{cN:"function",b:"#+[A-Za-z_0-9]*\\(",e:" {",rB:!0,eE:!0,c:[{cN:"keyword",b:"#+"},{cN:"title",b:"[A-Za-z_][A-Za-z_0-9]*"},{cN:"params",b:"\\(",e:"\\)",endsParent:!0,c:[{cN:"string",b:'"',e:'"'},{cN:"variable",b:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]}});hljs.registerLanguage("dart",function(e){var t={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"},r={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[e.BE,t]},{b:'"""',e:'"""',c:[e.BE,t]},{b:"'",e:"'",i:"\\n",c:[e.BE,t]},{b:'"',e:'"',i:"\\n",c:[e.BE,t]}]};t.c=[e.CNM,r];var n={keyword:"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:n,c:[r,e.C("/\\*\\*","\\*/",{sL:"markdown"}),e.C("///","$",{sL:"markdown"}),e.CLCM,e.CBCM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"},{b:"=>"}]}});hljs.registerLanguage("tex",function(c){var e={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[e,{cN:"formula",c:[e],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},c.C("%","$",{r:0})]}});hljs.registerLanguage("smalltalk",function(e){var s="[a-z][a-zA-Z0-9_]*",a={cN:"string",b:"\\$.{1}"},r={cN:"symbol",b:"#"+e.UIR};return{aliases:["st"],k:"self super nil true false thisContext",c:[e.C('"','"'),e.ASM,{cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{b:s+":",r:0},e.CNM,r,a,{b:"\\|[ ]*"+s+"([ ]+"+s+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+s}]},{b:"\\#\\(",e:"\\)",c:[e.ASM,a,e.CNM,r]}]}});hljs.registerLanguage("armasm",function(s){return{cI:!0,aliases:["arm"],l:"\\.?"+s.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},c:[{cN:"keyword",b:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",e:"\\s"},s.C("[;@]","$",{r:0}),s.CBCM,s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"[#$=]?0x[0-9a-f]+"},{b:"[#$=]?0b[01]+"},{b:"[#$=]\\d+"},{b:"\\b\\d+"}],r:0},{cN:"symbol",v:[{b:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"[=#]\\w+"}],r:0}]}});hljs.registerLanguage("rib",function(e){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:"",c:[e.TM,{b:/\(/,e:/\)/,c:[n,s,e.CNM,e.CBCM]},{b:/:/,eW:!0,c:[n]},e.CLCM]};return{k:r,c:[a,o,n,t,c,i,s,e.CNM,e.CLCM,e.CBCM]}});hljs.registerLanguage("glsl",function(e){return{k:{keyword:"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly",type:"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBufferiimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow",literal:"true false"},i:'"',c:[e.CLCM,e.CBCM,e.CNM,{cN:"meta",b:"#",e:"$"}]}});hljs.registerLanguage("julia",function(e){var r={keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",a={l:t,k:r,i:/<\//},n={cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},o={cN:"string",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i={cN:"subst",b:/\$\(/,e:/\)/,k:r},l={cN:"variable",b:"\\$"+t},c={cN:"string",c:[e.BE,i,l],v:[{b:/\w*"""/,e:/"""\w*/,r:10},{b:/\w*"/,e:/"\w*/}]},s={cN:"string",c:[e.BE,i,l],b:"`",e:"`"},d={cN:"meta",b:"@"+t},u={cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]};return a.c=[n,o,c,s,d,u,e.HCM,{cN:"keyword",b:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{b:/<:/}],i.c=a.c,a});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:_,l:i,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:i,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("qml",function(r){var e={keyword:"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise"},t="[a-zA-Z_][a-zA-Z0-9\\._]*",a={cN:"keyword",b:"\\bproperty\\b",starts:{cN:"string",e:"(:|=|;|,|//|/\\*|$)",rE:!0}},n={cN:"keyword",b:"\\bsignal\\b",starts:{cN:"string",e:"(\\(|:|=|;|,|//|/\\*|$)",rE:!0}},o={cN:"attribute",b:"\\bid\\s*:",starts:{cN:"string",e:t,rE:!1}},i={b:t+"\\s*:",rB:!0,c:[{cN:"attribute",b:t,e:"\\s*:",eE:!0,r:0}],r:0},c={b:t+"\\s*{",e:"{",rB:!0,r:0,c:[r.inherit(r.TM,{b:t})]};return{aliases:["qt"],cI:!1,k:e,c:[{cN:"meta",b:/^\s*['"]use (strict|asm)['"]/},r.ASM,r.QSM,{cN:"string",b:"`",e:"`",c:[r.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},r.CLCM,r.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:r.CNR}],r:0},{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/\s*[);\]]/,r:0,sL:"xml"}],r:0},n,a,{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[r.CLCM,r.CBCM]}],i:/\[|%/},{b:"\\."+r.IR,r:0},o,i,c],i:/#/}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber", +c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("autoit",function(e){var t="ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",r="True False And Null Not Or",i="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait",l={v:[e.C(";","$",{r:0}),e.C("#cs","#ce"),e.C("#comments-start","#comments-end")]},n={b:"\\$[A-z0-9_]+"},o={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},a={v:[e.BNM,e.CNM]},S={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin"},c:[{b:/\\\n/,r:0},{bK:"include",k:{"meta-keyword":"include"},e:"$",c:[o,{cN:"meta-string",v:[{b:"<",e:">"},{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]}]},o,l]},C={cN:"symbol",b:"@[A-z0-9_]+"},s={cN:"function",bK:"Func",e:"$",i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:[n,o,a]}]};return{cI:!0,i:/\/\*/,k:{keyword:t,built_in:i,literal:r},c:[l,n,o,a,S,C,s]}});hljs.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},i=e.C("--","$"),o=e.C("\\(\\*","\\*\\)",{c:["self",i]}),n=[i,o,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"built_in",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"literal",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(n),i:"//|->|=>|\\[\\["}});hljs.registerLanguage("n1ql",function(e){return{cI:!0,c:[{bK:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",e:/;/,eW:!0,k:{keyword:"all alter analyze and any array as asc begin between binary boolean break bucket build by call case cast cluster collate collection commit connect continue correlate cover create database dataset datastore declare decrement delete derived desc describe distinct do drop each element else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner insert intersect into is join key keys keyspace known last left let letting like limit lsm map mapping matched materialized merge minus namespace nest not number object offset on option or order outer over parse partition password path pool prepare primary private privilege procedure public raw realm reduce rename return returning revoke right role rollback satisfies schema select self semi set show some start statistics string system then to transaction trigger truncate under union unique unknown unnest unset update upsert use user using validate value valued values via view when where while with within work xor",literal:"true false null missing|5",built_in:"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring"},c:[{cN:"string",b:"'",e:"'",c:[e.BE],r:0},{cN:"string",b:'"',e:'"',c:[e.BE],r:0},{cN:"symbol",b:"`",e:"`",c:[e.BE],r:2},e.CNM,e.CBCM]},e.CBCM]}});hljs.registerLanguage("vim",function(e){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},i:/;/,c:[e.NM,e.ASM,{cN:"string",b:/"(\\"|\n\\|[^"\n])*"/},e.C('"',"$"),{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",r:0,c:[e.TM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"symbol",b:/<[\w-]+>/}]}});hljs.registerLanguage("xquery",function(e){var t="for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update",a="false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute",s={b:/\$[a-zA-Z0-9\-]+/},n={cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},r={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},i={cN:"meta",b:"%\\w+"},c={cN:"comment",b:"\\(:",e:":\\)",r:10,c:[{cN:"doctag",b:"@\\w+"}]},o={b:"{",e:"}"},l=[s,r,n,c,i,o];return o.c=l,{aliases:["xpath","xq"],cI:!1,l:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:t,literal:a},c:l}});hljs.registerLanguage("rsl",function(e){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:"",i:"\\n"}]},a,e.CLCM,e.CBCM]},i={cN:"variable",b:"\\&[a-z\\d_]*\\b"},r={cN:"meta-keyword",b:"/[a-z][a-z\\d-]*/"},d={cN:"symbol",b:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},n={cN:"params",b:"<",e:">",c:[c,i]},s={cN:"class",b:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,e:/[{;=]/,rB:!0,eE:!0},t={cN:"class",b:"/\\s*{",e:"};",r:10,c:[i,r,d,s,n,e.CLCM,e.CBCM,c,a]};return{k:"",c:[t,i,r,d,s,n,e.CLCM,e.CBCM,c,a,b,{b:e.IR+"::",k:""}]}});hljs.registerLanguage("elm",function(e){var i={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},c={b:"\\(",e:"\\)",i:'"',c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},i]},n={b:"{",e:"}",c:c.c};return{k:"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription",c:[{bK:"port effect module",e:"exposing",k:"port effect module where command subscription exposing",c:[c,i],i:"\\W\\.|;"},{b:"import",e:"$",k:"import as exposing",c:[c,i],i:"\\W\\.|;"},{b:"type",e:"$",k:"type alias",c:[t,c,n,i]},{bK:"infix infixl infixr",e:"$",c:[e.CNM,i]},{b:"port",e:"$",k:"port",c:[i]},e.QSM,e.CNM,t,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),i,{b:"->|<-"}],i:/;/}});hljs.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",i="get set args call";return{k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+i,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+i,r:0},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("lasso",function(e){var r="[a-zA-Z_][\\w.]*",a="<\\?(lasso(script)?|=)",t="\\]|\\?>",n={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},i=e.C("",{r:0}),s={cN:"meta",b:"\\[noprocess\\]",starts:{e:"\\[/noprocess\\]",rE:!0,c:[i]}},l={cN:"meta",b:"\\[/noprocess|"+a},o={cN:"symbol",b:"'"+r+"'"},c=[e.CLCM,e.CBCM,e.inherit(e.CNM,{b:e.CNR+"|(-?infinity|NaN)\\b"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{v:[{b:"[#$]"+r},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"type",b:"::\\s*",e:r,i:"\\W"},{cN:"params",v:[{b:"-(?!infinity)"+r,r:0},{b:"(\\.\\.\\.)"}]},{b:/(->|\.)\s*/,r:0,c:[o]},{cN:"class",bK:"define",rE:!0,e:"\\(|=>",c:[e.inherit(e.TM,{b:r+"(=(?!>))?|[-+*/%](?!>)"})]}];return{aliases:["ls","lassoscript"],cI:!0,l:r+"|&[lg]t;",k:n,c:[{cN:"meta",b:t,r:0,starts:{e:"\\[|"+a,rE:!0,r:0,c:[i]}},s,l,{cN:"meta",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:r+"|&[lg]t;",k:n,c:[{cN:"meta",b:t,r:0,starts:{e:"\\[noprocess\\]|"+a,rE:!0,c:[i]}},s,l].concat(c)}},{cN:"meta",b:"\\[",r:0},{cN:"meta",b:"^#!",e:"lasso9$",r:10}].concat(c)}});hljs.registerLanguage("abnf",function(e){var r={ruleDeclaration:"^[a-zA-Z][a-zA-Z0-9-]*",unexpectedChars:"[!@#$^&',?+~`|:]"},a=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],b=e.C(";","$"),c={cN:"symbol",b:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},l={cN:"symbol",b:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},n={cN:"symbol",b:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},t={cN:"symbol",b:/%[si]/},s={b:r.ruleDeclaration+"\\s*=",rB:!0,e:/=/,r:0,c:[{cN:"attribute",b:r.ruleDeclaration}]};return{i:r.unexpectedChars,k:a.join(" "),c:[s,b,c,l,n,t,e.QSM,e.NM]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("step21",function(e){var i="[A-Z_][A-Z0-9_.]*",r={keyword:"HEADER ENDSEC DATA"},t={cN:"meta",b:"ISO-10303-21;",r:10},n={cN:"meta",b:"END-ISO-10303-21;",r:10};return{aliases:["p21","step","stp"],cI:!0,l:i,k:r,c:[t,n,e.CLCM,e.CBCM,e.C("/\\*\\*!","\\*/"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"'",e:"'"},{cN:"symbol",v:[{b:"#",e:"\\d+",i:"\\W"}]}]}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},o={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},r={cN:"literal",b:/\$(null|true|false)\b/},n={cN:"string",v:[{b:/"/,e:/"/},{b:/@"/,e:/^"@/}],c:[t,o,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},i={cN:"doctag",v:[{b:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]},s=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[i]});return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",built_in:"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct",nomarkup:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[t,e.NM,n,a,r,o,s]}});hljs.registerLanguage("avrasm",function(r){return{cI:!0,l:"\\.?"+r.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[r.CBCM,r.C(";","$",{r:0}),r.CNM,r.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},r.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"symbol",b:"^[A-Za-z0-9_.$]+:"},{cN:"meta",b:"#",e:"$"},{cN:"subst",b:"@[0-9]+"}]}});hljs.registerLanguage("nsis",function(e){var t={cN:"variable",b:/\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},i={cN:"variable",b:/\$+{[\w\.:-]+}/},n={cN:"variable",b:/\$+\w+/,i:/\(\){}/},r={cN:"variable",b:/\$+\([\w\^\.:-]+\)/},o={cN:"params",b:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},l={cN:"keyword",b:/\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)/},s={cN:"subst",b:/\$(\\[nrt]|\$)/},a={cN:"class",b:/\w+\:\:\w+/},S={cN:"string",v:[{b:'"',e:'"'},{b:"'",e:"'"},{b:"`",e:"`"}],i:/\n/,c:[s,t,i,n,r]};return{cI:!1,k:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib"},c:[e.HCM,e.CBCM,e.C(";","$",{r:0}),{cN:"function",bK:"Function PageEx Section SectionGroup",e:"$"},S,l,i,n,r,o,a,e.NM]}});hljs.registerLanguage("dos",function(e){var r=e.C(/^\s*@?rem\b/,/$/,{r:10}),t={cN:"symbol",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0};return{aliases:["bat","cmd"],cI:!0,i:/\/\*/,k:{keyword:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del"},c:[{cN:"variable",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:"function",b:t.b,e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{cN:"number",b:"\\b\\d+",r:0},r]}});hljs.registerLanguage("routeros",function(e){var r="foreach do while for if from to step else on-error and or not in",i="global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime",o="add remove enable disable set get print export edit find run debug error info warning",t="true false yes no nothing nil null",s="traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw",n={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},p={cN:"string",b:/"/,e:/"/,c:[e.BE,n,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["routeros","mikrotik"],cI:!0,l:/:?[\w-]+/,k:{literal:t,keyword:r+" :"+r.split(" ").join(" :")+" :"+i.split(" ").join(" :")},c:[{v:[{b:/^@/,e:/$/},{b:/\/\*/,e:/\*\//},{b:/%%/,e:/$/},{b:/^'/,e:/$/},{b:/^\s*\/[\w-]+=/,e:/$/},{b:/\/\//,e:/$/},{b:/^\[\\]$/},{b:/<\//,e:/>/},{b:/^facet /,e:/\}/},{b:"^1\\.\\.(\\d+)$",e:/$/}],i:/./},e.C("^#","$"),p,a,n,{b:/[\w-]+\=([^\s\{\}\[\]\(\)]+)/,r:0,rB:!0,c:[{cN:"attribute",b:/[^=]+/},{b:/=/,eW:!0,r:0,c:[p,a,n,{cN:"literal",b:"\\b("+t.split(" ").join("|")+")\\b"},{b:/("[^"]*"|[^\s\{\}\[\]]+)/}]}]},{cN:"number",b:/\*[0-9a-fA-F]+/},{b:"\\b("+o.split(" ").join("|")+")([\\s[(]|])",rB:!0,c:[{cN:"builtin-name",b:/\w+/}]},{cN:"built_in",v:[{b:"(\\.\\./|/|\\s)(("+s.split(" ").join("|")+");?\\s)+",r:10},{b:/\.\./}]}]}});hljs.registerLanguage("x86asm",function(s){return{cI:!0,l:"[.%]?"+s.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[s.C(";","$",{r:0}),{cN:"number",v:[{b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{b:"\\$[0-9][0-9A-Fa-f]*",r:0},{b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{b:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QSM,{cN:"string",v:[{b:"'",e:"[^\\\\]'"},{b:"`",e:"[^\\\\]`"}],r:0},{cN:"symbol",v:[{b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],r:0},{cN:"subst",b:"%[0-9]+",r:0},{cN:"subst",b:"%!S+",r:0},{cN:"meta",b:/^\s*\.[\w_-]+/}]}});hljs.registerLanguage("processing",function(e){return{k:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",literal:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",title:"setup draw",built_in:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("julia-repl",function(a){return{c:[{cN:"meta",b:/^julia>/,r:10,starts:{e:/^(?![ ]{6})/,sL:"julia"},aliases:["jldoctest"]}]}});hljs.registerLanguage("cal",function(e){var r="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",t="false true",c=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],n={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},o={cN:"string",b:/(#\d+)+/},a={cN:"number",b:"\\b\\d+(\\.\\d+)?(DT|D|T)",r:0},i={cN:"string",b:'"',e:'"'},d={cN:"function",bK:"procedure",e:/[:;]/,k:"procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[n,o]}].concat(c)},s={cN:"class",b:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",rB:!0,c:[e.TM,d]};return{cI:!0,k:{keyword:r,literal:t},i:/\/\*/,c:[n,o,a,i,e.NM,s,d]}});hljs.registerLanguage("mipsasm",function(s){return{cI:!0,aliases:["mips"],l:"\\.?"+s.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ",built_in:"$0 $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 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt "},c:[{cN:"keyword",b:"\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)",e:"\\s"},s.C("[;#]","$"),s.CBCM,s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"0x[0-9a-f]+"},{b:"\\b-?\\d+"}],r:0},{cN:"symbol",v:[{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"^\\s*[0-9]+:"},{b:"[0-9]+[bf]"}],r:0}],i:"/"}});hljs.registerLanguage("pf",function(t){var o={cN:"variable",b:/\$[\w\d#@][\w\d_]*/},e={cN:"variable",b:/<(?!\/)/,e:/>/};return{aliases:["pf.conf"],l:/[a-z0-9_<>-]+/,k:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},c:[t.HCM,t.NM,t.QSM,o,e]}});hljs.registerLanguage("mercury",function(e){var i={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",meta:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},r=e.C("%","$"),t={cN:"number",b:"0'.\\|0[box][0-9a-fA-F]*"},_=e.inherit(e.ASM,{r:0}),n=e.inherit(e.QSM,{r:0}),a={cN:"subst",b:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",r:0};n.c.push(a);var o={cN:"built_in",v:[{b:"<=>"},{b:"<=",r:0},{b:"=>",r:0},{b:"/\\\\"},{b:"\\\\/"}]},l={cN:"built_in",v:[{b:":-\\|-->"},{b:"=",r:0}]};return{aliases:["m","moo"],k:i,c:[o,l,r,e.CBCM,t,e.NM,_,n,{b:/:-/}]}});hljs.registerLanguage("scala",function(e){var t={cN:"meta",b:"@[A-Za-z]+"},a={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},r={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,a]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[a],r:10}]},c={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},i={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},s={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},n={cN:"class",bK:"class object trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends with",r:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,r:0,c:[i]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,r:0,c:[i]},s]},l={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[s]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,r,c,i,l,n,e.CNM,t]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("htmlbars",function(e){var a="action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view",t={i:/\}\}/,b:/[a-zA-Z0-9_]+=/,rB:!0,r:0,c:[{cN:"attr",b:/[a-zA-Z0-9_]+/}]},i=({i:/\}\}/,b:/\)/,e:/\)/,c:[{b:/[a-zA-Z\.\-]+/,k:{built_in:a},starts:{eW:!0,r:0,c:[e.QSM]}}]},{eW:!0,r:0,k:{keyword:"as",built_in:a},c:[e.QSM,t,e.NM]});return{cI:!0,sL:"xml",c:[e.C("{{!(--)?","(--)?}}"),{cN:"template-tag",b:/\{\{[#\/]/,e:/\}\}/,c:[{cN:"name",b:/[a-zA-Z\.\-]+/,k:{"builtin-name":a},starts:i}]},{cN:"template-variable",b:/\{\{[a-zA-Z][a-zA-Z\-]+/,e:/\}\}/,k:{keyword:"as",built_in:a},c:[e.QSM]}]}});hljs.registerLanguage("erlang",function(e){var r="[a-z'][a-zA-Z0-9_']*",c="("+r+":"+r+"|"+r+")",b={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},i=e.C("%","$"),n={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a={b:"fun\\s+"+r+"/\\d+"},d={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},o={b:"{",e:"}",r:0},t={b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},f={b:"[A-Z][a-zA-Z0-9_]*",r:0},l={b:"#"+e.UIR,r:0,rB:!0,c:[{b:"#"+e.UIR,r:0},{b:"{",e:"}",r:0}]},s={bK:"fun receive if try case",e:"end",k:b};s.c=[i,a,e.inherit(e.ASM,{cN:""}),s,d,e.QSM,n,o,t,f,l];var u=[i,a,s,d,e.QSM,n,o,t,f,l];d.c[1].c=u,o.c=u,l.c[1].c=u;var h={cN:"params",b:"\\(",e:"\\)",c:u};return{aliases:["erl"],k:b,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:|;",c:[h,e.inherit(e.TM,{b:r})],starts:{e:";|\\.",k:b,c:u}},i,{b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+e.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[h]},n,e.QSM,l,t,f,o,{b:/\.$/}]}});hljs.registerLanguage("scss",function(e){var t="[a-zA-Z-][a-zA-Z0-9_-]*",i={cN:"variable",b:"(\\$"+t+")\\b"},r={cN:"number",b:"#[0-9A-Fa-f]+"};({cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{eW:!0,eE:!0,c:[r,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"meta",b:"!important"}]}});return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},i,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[i,r,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[i,e.QSM,e.ASM,r,e.CSSNM,{b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or equal less greater strless strgreater strequal matches"},c:[{cN:"variable",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage("delphi",function(e){var r="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs ",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],a={cN:"meta",v:[{b:/\{\$/,e:/\}/},{b:/\(\*\$/,e:/\*\)/}]},c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},i={cN:"string",b:/(#\d+)+/},o={b:e.IR+"\\s*=\\s*class\\s*\\(",rB:!0,c:[e.TM]},n={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[c,i,a].concat(t)},a].concat(t)};return{aliases:["dpr","dfm","pas","pascal","freepascal","lazarus","lpr","lfm"],cI:!0,k:r,i:/"|\$[G-Zg-z]|\/\*|<\/|\|/,c:[c,i,e.NM,o,n,a].concat(t)}});hljs.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ \\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"title",b:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ \\t\\n\\r]",eW:!0,eE:!0}]},{eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}});hljs.registerLanguage("cs",function(e){var i={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},t={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},r=e.inherit(t,{i:/\n/}),a={cN:"subst",b:"{",e:"}",k:i},c=e.inherit(a,{i:/\n/}),n={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,c]},s={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},a]},o=e.inherit(s,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},c]});a.c=[s,n,t,e.ASM,e.QSM,e.CNM,e.CBCM],c.c=[o,n,r,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\n/})];var l={v:[s,n,t,e.ASM,e.QSM]},b=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},l,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+b+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[l,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("stylus",function(e){var t={cN:"variable",b:"\\$"+e.IR},o={cN:"number",b:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"},i=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],r=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],a="[\\.\\s\\n\\[\\:,]",l=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],d=["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{aliases:["styl"],cI:!1,k:"if else for in",i:"("+d.join("|")+")",c:[e.QSM,e.ASM,e.CLCM,e.CBCM,o,{b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-class",b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"selector-id",b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\b("+n.join("|")+")"+a,rB:!0,c:[{cN:"selector-tag",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"&?:?:\\b("+r.join("|")+")"+a},{b:"@("+i.join("|")+")\\b"},t,e.CSSNM,e.NM,{cN:"function",b:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",i:"[\\n]",rB:!0,c:[{cN:"title",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{cN:"params",b:/\(/,e:/\)/,c:[o,t,e.ASM,e.CSSNM,e.NM,e.QSM]}]},{cN:"attribute",b:"\\b("+l.reverse().join("|")+")\\b",starts:{e:/;|$/,c:[o,t,e.ASM,e.QSM,e.CSSNM,e.NM,e.CBCM],i:/\./,r:0}}]}});hljs.registerLanguage("dsconfig",function(e){var i={cN:"string",b:/"/,e:/"/},r={cN:"string",b:/'/,e:/'/},s={cN:"string",b:"[\\w-?]+:\\w+",e:"\\W",r:0},t={cN:"string",b:"\\w+-?\\w+",e:"\\W",r:0};return{k:"dsconfig",c:[{cN:"keyword",b:"^dsconfig",e:"\\s",eE:!0,r:10},{cN:"built_in",b:"(list|create|get|set|delete)-(\\w+)",e:"\\s",eE:!0,i:"!@#$%^&*()",r:10},{cN:"built_in",b:"--(\\w+)",e:"\\s",eE:!0},i,r,s,t,e.HCM]}});hljs.registerLanguage("crystal",function(e){function b(e,b){var r=[{b:e,e:b}];return r[0].c=r,r}var r="(_[uif](8|16|32|64))?",c="[a-zA-Z_]\\w*[!?=]?",i="!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\][=?]?",s={keyword:"abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},t={cN:"subst",b:"#{",e:"}",k:s},a={cN:"template-variable",v:[{b:"\\{\\{",e:"\\}\\}"},{b:"\\{%",e:"%\\}"}],k:s},l={cN:"string",c:[e.BE,t],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%w?\\(",e:"\\)",c:b("\\(","\\)")},{b:"%w?\\[",e:"\\]",c:b("\\[","\\]")},{b:"%w?{",e:"}",c:b("{","}")},{b:"%w?<",e:">",c:b("<",">")},{b:"%w?/",e:"/"},{b:"%w?%",e:"%"},{b:"%w?-",e:"-"},{b:"%w?\\|",e:"\\|"},{b:/<<-\w+$/,e:/^\s*\w+$/}],r:0},u={cN:"string",v:[{b:"%q\\(",e:"\\)",c:b("\\(","\\)")},{b:"%q\\[",e:"\\]",c:b("\\[","\\]")},{b:"%q{",e:"}",c:b("{","}")},{b:"%q<",e:">",c:b("<",">")},{b:"%q/",e:"/"},{b:"%q%",e:"%"},{b:"%q-",e:"-"},{b:"%q\\|",e:"\\|"},{b:/<<-'\w+'$/,e:/^\s*\w+$/}],r:0},_={b:"("+i+")\\s*",c:[{cN:"regexp",c:[e.BE,t],v:[{b:"//[a-z]*",r:0},{b:"/",e:"/[a-z]*"},{b:"%r\\(",e:"\\)",c:b("\\(","\\)")},{b:"%r\\[",e:"\\]",c:b("\\[","\\]")},{b:"%r{",e:"}",c:b("{","}")},{b:"%r<",e:">",c:b("<",">")},{b:"%r/",e:"/"},{b:"%r%",e:"%"},{b:"%r-",e:"-"},{b:"%r\\|",e:"\\|"}]}],r:0},o={cN:"regexp",c:[e.BE,t],v:[{b:"%r\\(",e:"\\)",c:b("\\(","\\)")},{b:"%r\\[",e:"\\]",c:b("\\[","\\]")},{b:"%r{",e:"}",c:b("{","}")},{b:"%r<",e:">",c:b("<",">")},{b:"%r/",e:"/"},{b:"%r%",e:"%"},{b:"%r-",e:"-"},{b:"%r\\|",e:"\\|"}],r:0},w={cN:"meta",b:"@\\[",e:"\\]",c:[e.inherit(e.QSM,{cN:"meta-string"})]},f=[a,l,u,_,o,w,e.HCM,{cN:"class",bK:"class module struct",e:"$|;",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<"}]},{cN:"class",bK:"lib enum union",e:"$|;",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"})],r:10},{cN:"function",bK:"def",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},{cN:"function",bK:"fun macro",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})],r:5},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[l,{b:n}],r:0},{cN:"number",v:[{b:"\\b0b([01_]*[01])"+r},{b:"\\b0o([0-7_]*[0-7])"+r},{b:"\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])"+r},{b:"\\b(([0-9][0-9_]*[0-9]|[0-9])(\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)"+r}],r:0}];return t.c=f,a.c=f.slice(1),{aliases:["cr"],l:c,k:s,c:f}});hljs.registerLanguage("sml",function(e){return{aliases:["ml"],k:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:/\[(\|\|)?\]|\(\)/,r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("vbscript-html",function(r){return{sL:"xml",c:[{b:"<%",e:"%>",sL:"vbscript"}]}});hljs.registerLanguage("erlang-repl",function(e){return{k:{built_in:"spawn spawn_link self",keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"meta",b:"^[0-9]+> ",r:10},e.C("%","$"),{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},e.ASM,e.QSM,{b:"\\?(::)?([A-Z]\\w*(::)?)+"},{b:"->"},{b:"ok"},{b:"!"},{b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("crmsh",function(t){var e="primitive rsc_template",r="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml",s="property rsc_defaults op_defaults",a="params meta operations op rule attributes utilization",i="read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\",o="number string",n="Master Started Slave Stopped start promote demote stop monitor true false";return{aliases:["crm","pcmk"],cI:!0,k:{keyword:a+" "+i+" "+o,literal:n},c:[t.HCM,{bK:"node",starts:{e:"\\s*([\\w_-]+:)?",starts:{cN:"title",e:"\\s*[\\$\\w_][\\w_-]*"}}},{bK:e,starts:{cN:"title",e:"\\s*[\\$\\w_][\\w_-]*",starts:{e:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{b:"\\b("+r.split(" ").join("|")+")\\s+",k:r,starts:{cN:"title",e:"[\\$\\w_][\\w_-]*"}},{bK:s,starts:{cN:"title",e:"\\s*([\\w_-]+:)?"}},t.QSM,{cN:"meta",b:"(ocf|systemd|service|lsb):[\\w_:-]+",r:0},{cN:"number",b:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",r:0},{cN:"literal",b:"[-]?(infinity|inf)",r:0},{cN:"attr",b:/([A-Za-z\$_\#][\w_-]+)=/,r:0},{cN:"tag",b:"",r:0}]}});hljs.registerLanguage("bnf",function(e){return{c:[{cN:"attribute",b://},{b:/::=/,starts:{e:/$/,c:[{b://},e.CLCM,e.CBCM,e.ASM,e.QSM]}}]}});hljs.registerLanguage("matlab",function(e){var a=[e.CNM,{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]}],s={r:0,c:[{b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},s.c[0]]},{b:"\\[",e:"\\]",c:a,r:0,starts:s},{b:"\\{",e:/}/,c:a,r:0,starts:s},{b:/\)/,r:0,starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(a)}});hljs.registerLanguage("tp",function(O){var R={cN:"number",b:"[1-9][0-9]*",r:0},E={cN:"symbol",b:":[^\\]]+"},T={cN:"built_in",b:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER| TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",e:"\\]",c:["self",R,E]},N={cN:"built_in",b:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",e:"\\]",c:["self",R,O.QSM,E]};return{k:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",literal:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},c:[T,N,{cN:"keyword",b:"/(PROG|ATTR|MN|POS|END)\\b"},{cN:"keyword",b:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{cN:"keyword",b:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{cN:"number",b:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",r:0},O.C("//","[;$]"),O.C("!","[;$]"),O.C("--eg:","$"),O.QSM,{cN:"string",b:"'",e:"'"},O.CNM,{cN:"variable",b:"\\$[A-Za-z0-9_]+"}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("scilab",function(e){var s=[e.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[e.BE,{b:"''"}]}];return{aliases:["sci"],l:/%?\w+/,k:{keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{b:"\\[",e:"\\]'*[\\.']*",r:0,c:s},e.C("//","$")].concat(s)}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("taggerscript",function(e){var c={cN:"comment",b:/\$noop\(/,e:/\)/,c:[{b:/\(/,e:/\)/,c:["self",{b:/\\./}]}],r:10},r={cN:"keyword",b:/\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,e:/\(/,eE:!0},a={cN:"variable",b:/%[_a-zA-Z0-9:]*/,e:"%"},b={cN:"symbol",b:/\\./};return{c:[c,r,a,b]}});hljs.registerLanguage("arduino",function(e){var t=e.getLanguage("cpp").exports;return{k:{keyword:"boolean byte word string String array "+t.k.keyword,built_in:"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("jboss-cli",function(e){var a={b:/[\w-]+ *=/,rB:!0,r:0,c:[{cN:"attr",b:/[\w-]+/}]},r={cN:"params",b:/\(/,e:/\)/,c:[a],r:0},o={cN:"function",b:/:[\w\-.]+/,r:0},t={cN:"string",b:/\B(([\/.])[\w\-.\/=]+)+/},c={cN:"params",b:/--[\w\-=\/]+/};return{aliases:["wildfly-cli"],l:"[a-z-]+",k:{keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source",literal:"true false"},c:[e.HCM,e.QSM,c,o,t,r]}});hljs.registerLanguage("kotlin",function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit initinterface annotation data sealed internal infix operator out by constructor super trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},r={cN:"keyword",b:/\b(break|continue|return|this)\b/,starts:{c:[{cN:"symbol",b:/@\w+/}]}},i={cN:"symbol",b:e.UIR+"@"},n={cN:"subst",b:"\\${",e:"}",c:[e.ASM,e.CNM]},a={cN:"variable",b:"\\$"+e.UIR},c={cN:"string",v:[{b:'"""',e:'"""',c:[a,n]},{b:"'",e:"'",i:/\n/,c:[e.BE]},{b:'"',e:'"',i:/\n/,c:[e.BE,a,n]}]},s={cN:"meta",b:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UIR+")?"},o={cN:"meta",b:"@"+e.UIR,c:[{b:/\(/,e:/\)/,c:[e.inherit(c,{cN:"meta-string"})]}]};return{k:t,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,r,i,s,o,{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:t,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,r:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"type",b://,k:"reified",r:0},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:t,r:0,c:[{b:/:/,e:/[=,\/]/,eW:!0,c:[{cN:"type",b:e.UIR},e.CLCM,e.CBCM],r:0},e.CLCM,e.CBCM,s,o,c,e.CNM]},e.CBCM]},{cN:"class",bK:"class interface trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[{bK:"public protected internal private constructor"},e.UTM,{cN:"type",b://,eB:!0,eE:!0,r:0},{cN:"type",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0},s,o]},c,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.CNM]}});hljs.registerLanguage("protobuf",function(e){return{k:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},c:[e.QSM,e.NM,e.CLCM,{cN:"class",bK:"message enum service",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:"function",bK:"rpc",e:/;/,eE:!0,k:"rpc returns"},{b:/^\s*[A-Z_]+/,e:/\s*=/,eE:!0}]}});hljs.registerLanguage("stata",function(e){return{aliases:["do","ado"],cI:!0,k:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",c:[{cN:"symbol",b:/`[a-zA-Z0-9_]+'/},{cN:"variable",b:/\$\{?[a-zA-Z0-9_]+\}?/},{cN:"string",v:[{b:'`"[^\r\n]*?"\''},{b:'"[^\r\n"]*"'}]},{cN:"built_in",v:[{b:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},e.C("^[ ]*\\*.*$",!1),e.CLCM,e.CBCM]}});hljs.registerLanguage("accesslog",function(T){return{c:[{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+\\b",r:0},{cN:"string",b:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'"',k:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",i:"\\n",r:10},{cN:"string",b:/\[/,e:/\]/,i:"\\n"},{cN:"string",b:'"',e:'"',i:"\\n"}]}});hljs.registerLanguage("ruleslanguage",function(T){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[T.CLCM,T.CBCM,T.ASM,T.QSM,T.CNM,{cN:"literal",v:[{b:"#\\s+[a-zA-Z\\ \\.]*",r:0},{b:"#[a-zA-Z\\ \\.]+"}]}]}});hljs.registerLanguage("clean",function(e){return{aliases:["clean","icl","dcl"],k:{keyword:"if let in with where case of class instance otherwise implementation definition system module from import qualified as special code inline foreign export ccall stdcall generic derive infix infixl infixr",literal:"True False"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{b:"->|<-[|:]?|::|#!?|>>=|\\{\\||\\|\\}|:==|=:|\\.\\.|<>|`"}]}});hljs.registerLanguage("erb",function(e){return{sL:"xml",c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("monkey",function(e){var n={cN:"number",r:0,v:[{b:"[$][a-fA-F0-9]+"},e.NM]};return{cI:!0,k:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},i:/\/\*/,c:[e.C("#rem","#end"),e.C("'","$",{r:0}),{cN:"function",bK:"function method",e:"[(=:]|$",i:/\n/,c:[e.UTM]},{cN:"class",bK:"class interface",e:"$",c:[{bK:"extends implements"},e.UTM]},{cN:"built_in",b:"\\b(self|super)\\b"},{cN:"meta",b:"\\s*#",e:"$",k:{"meta-keyword":"if else elseif endif end then"}},{cN:"meta",b:"^\\s*strict\\b"},{bK:"alias",e:"=",c:[e.UTM]},e.QSM,n]}});hljs.registerLanguage("csp",function(r){return{cI:!1,l:"[a-zA-Z][a-zA-Z0-9_-]*",k:{keyword:"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src"},c:[{cN:"string",b:"'",e:"'"},{cN:"attribute",b:"^Content",e:":",eE:!0}]}});hljs.registerLanguage("ebnf",function(a){var e=a.C(/\(\*/,/\*\)/),t={cN:"attribute",b:/^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/},r={cN:"meta",b:/\?.*\?/},b={b:/=/,e:/;/,c:[e,r,a.ASM,a.QSM]};return{i:/\S/,c:[e,t,b]}});hljs.registerLanguage("gams",function(e){var a={keyword:"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na","built-in":"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart"},o={cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0},r={cN:"symbol",v:[{b:/\=[lgenxc]=/},{b:/\$/}]},t={cN:"comment",v:[{b:"'",e:"'"},{b:'"',e:'"'}],i:"\\n",c:[e.BE]},i={b:"/",e:"/",k:a,c:[t,e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},l={b:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,eB:!0,e:"$",eW:!0,c:[t,i,{cN:"comment",b:/([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,r:0}]};return{aliases:["gms"],cI:!0,k:a,c:[e.C(/^\$ontext/,/^\$offtext/),{cN:"meta",b:"^\\$[a-z0-9]+",e:"$",rB:!0,c:[{cN:"meta-keyword",b:"^\\$[a-z0-9]+"}]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,{bK:"set sets parameter parameters variable variables scalar scalars equation equations",e:";",c:[e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,i,l]},{bK:"table",e:";",rB:!0,c:[{bK:"table",e:"$",c:[l]},e.C("^\\*","$"),e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},{cN:"function",b:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,rB:!0,c:[{cN:"title",b:/^[a-z0-9_]+/},o,r]},e.CNM,r]}});hljs.registerLanguage("actionscript",function(e){var a="[a-zA-Z_$][a-zA-Z0-9_$]*",t="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",c={cN:"rest_arg",b:"[.]{3}",e:a,r:10};return{aliases:["as"],k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"meta",bK:"import include",e:";",k:{"meta-keyword":"import include"}},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,c]},{b:":\\s*"+t}]},e.METHOD_GUARD],i:/#/}});hljs.registerLanguage("ada",function(e){var r="\\d(_|\\d)*",t="[eE][-+]?"+r,s=r+"(\\."+r+")?("+t+")?",n="\\w+",a=r+"#"+n+"(\\."+n+")?#("+t+")?",i="\\b("+a+"|"+s+")",c="[A-Za-z](_?[A-Za-z0-9.])*",o="[]{}%#'\"",b=e.C("--","$"),d={b:"\\s+:\\s+",e:"\\s*(:=|;|\\)|=>|$)",i:o,c:[{bK:"loop for declare others",endsParent:!0},{cN:"keyword",bK:"not null constant access function procedure in out aliased exception"},{cN:"type",b:c,endsParent:!0,r:0}]};return{cI:!0,k:{keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor",literal:"True False"},c:[b,{cN:"string",b:/"/,e:/"/,c:[{b:/""/,r:0}]},{cN:"string",b:/'.'/},{cN:"number",b:i,r:0},{cN:"symbol",b:"'"+c},{cN:"title",b:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",e:"(is|$)",k:"package body",eB:!0,eE:!0,i:o},{b:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",e:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",k:"overriding function procedure with is renames return",rB:!0,c:[b,{cN:"title",b:"(\\bwith\\s+)?\\b(function|procedure)\\s+",e:"(\\(|\\s+|$)",eB:!0,eE:!0,i:o},d,{cN:"type",b:"\\breturn\\s+",e:"(\\s+|;|$)",k:"return",eB:!0,eE:!0,endsParent:!0,i:o}]},{cN:"type",b:"\\b(sub)?type\\s+",e:"\\s+",k:"type",eB:!0,i:o},d]}});hljs.registerLanguage("django",function(e){var t={b:/\|[A-Za-z]+:?/,k:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},c:[e.QSM,e.ASM]};return{aliases:["jinja"],cI:!0,sL:"xml",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{eW:!0,k:"in by as",c:[t],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:[t]}]}});hljs.registerLanguage("mizar",function(e){return{k:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",c:[e.C("::","$")]}});hljs.registerLanguage("swift",function(e){var i={keyword:"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},t={cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},a={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0},o=e.inherit(e.QSM,{c:[r,e.BE]});return r.c=[a],{k:i,c:[o,e.CLCM,n,t,a,{cN:"function",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b://},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",a,o,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{cN:"meta",b:"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{bK:"import",e:/$/,c:[e.CLCM,n]}]}});hljs.registerLanguage("stan",function(e){return{c:[e.HCM,e.CLCM,e.CBCM,{b:e.UIR,l:e.UIR,k:{name:"for in while repeat until if then else",symbol:"bernoulli bernoulli_logit binomial binomial_logit beta_binomial hypergeometric categorical categorical_logit ordered_logistic neg_binomial neg_binomial_2 neg_binomial_2_log poisson poisson_log multinomial normal exp_mod_normal skew_normal student_t cauchy double_exponential logistic gumbel lognormal chi_square inv_chi_square scaled_inv_chi_square exponential inv_gamma weibull frechet rayleigh wiener pareto pareto_type_2 von_mises uniform multi_normal multi_normal_prec multi_normal_cholesky multi_gp multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet lkj_corr lkj_corr_cholesky wishart inv_wishart","selector-tag":"int real vector simplex unit_vector ordered positive_ordered row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix",title:"functions model data parameters quantities transformed generated",literal:"true false"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0}]}});hljs.registerLanguage("purebasic",function(e){var r={cN:"string",b:'(~)?"',e:'"',i:"\\n"},t={cN:"symbol",b:"#[a-zA-Z_]\\w*\\$?"};return{aliases:["pb","pbi"],k:"And As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect Continue Data DataSection EndDataSection Debug DebugLevel Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndEnumeration EndIf EndImport EndInterface EndMacro EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration Extends FakeReturn For Next ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface Macro NewList Not Or ProcedureReturn Protected Prototype PrototypeC Read ReDim Repeat Until Restore Return Select Shared Static Step Structure StructureUnion Swap To Wend While With XIncludeFile XOr Procedure ProcedureC ProcedureCDLL ProcedureDLL Declare DeclareC DeclareCDLL DeclareDLL",c:[e.C(";","$",{r:0}),{cN:"function",b:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",e:"\\(",eE:!0,rB:!0,c:[{cN:"keyword",b:"(Procedure|Declare)(C|CDLL|DLL)?",eE:!0},{cN:"type",b:"\\.\\w*"},e.UTM]},r,t]}});hljs.registerLanguage("q",function(e){var s={keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:s,l:/(`?)[A-Za-z0-9_]+\b/,c:[e.CLCM,e.QSM,e.CNM]}});hljs.registerLanguage("ldif",function(e){return{c:[{cN:"attribute",b:"^dn",e:": ",eE:!0,starts:{e:"$",r:0},r:10},{cN:"attribute",b:"^\\w",e:": ",eE:!0,starts:{e:"$",r:0}},{cN:"literal",b:"^-",e:"$"},e.HCM]}});hljs.registerLanguage("haml",function(s){return{cI:!0,c:[{cN:"meta",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},s.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"selector-tag",b:"\\w+"},{cN:"selector-id",b:"#[\\w-]+"},{cN:"selector-class",b:"\\.[\\w-]+"},{b:"{\\s*",e:"\\s*}",c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:":\\w+"},s.ASM,s.QSM,{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:"\\w+",r:0},s.ASM,s.QSM,{b:"\\w+",r:0}]}]}]},{b:"^\\s*[=~]\\s*"},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("verilog",function(e){var n={keyword:"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor",literal:"null",built_in:"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale $bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat $realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson $assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff $assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk $fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control $coverage_get $coverage_save $set_coverage_db_name $rose $stable $past $rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display $coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename $unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow $floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning $dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh $tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array $sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf $async$and$plane $async$nand$plane $async$or$plane $async$nor$plane $sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system $display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb $dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall $dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo $fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh $swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb $fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat $sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror"};return{aliases:["v","sv","svh"],cI:!1,k:n,l:/[\w\$]+/,c:[e.CBCM,e.CLCM,e.QSM,{cN:"number",c:[e.BE],v:[{b:"\\b((\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{b:"\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{b:"\\b([0-9_])+",r:0}]},{cN:"variable",v:[{b:"#\\((?!parameter).+\\)"},{b:"\\.\\w+",r:0}]},{cN:"meta",b:"`",e:"$",k:{"meta-keyword":"define __FILE__ __LINE__ begin_keywords celldefine default_nettype define else elsif end_keywords endcelldefine endif ifdef ifndef include line nounconnected_drive pragma resetall timescale unconnected_drive undef undefineall"},r:0}]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)",r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*",r:0},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("parser3",function(r){var e=r.C("{","}",{c:["self"]});return{sL:"xml",r:0,c:[r.C("^#","$"),r.C("\\^rem{","}",{r:10,c:[e]}),{cN:"meta",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},r.CNM]}}); \ No newline at end of file diff --git a/public/js/jquery-3.3.1.min.js b/public/js/jquery-3.3.1.min.js new file mode 100644 index 0000000..4d9b3a2 --- /dev/null +++ b/public/js/jquery-3.3.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" + + + + + + + + + + + + + + + + diff --git a/public/page/3/index.html b/public/page/3/index.html new file mode 100644 index 0000000..48f44fd --- /dev/null +++ b/public/page/3/index.html @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/page/4/index.html b/public/page/4/index.html new file mode 100644 index 0000000..30abbff --- /dev/null +++ b/public/page/4/index.html @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/page/5/index.html b/public/page/5/index.html new file mode 100644 index 0000000..48429e7 --- /dev/null +++ b/public/page/5/index.html @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/page/6/index.html b/public/page/6/index.html new file mode 100644 index 0000000..db761cd --- /dev/null +++ b/public/page/6/index.html @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/page/7/index.html b/public/page/7/index.html new file mode 100644 index 0000000..7940311 --- /dev/null +++ b/public/page/7/index.html @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/page/8/index.html b/public/page/8/index.html new file mode 100644 index 0000000..770e5b0 --- /dev/null +++ b/public/page/8/index.html @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2013/carreira-e-nao-emprego/index.html b/public/posts/2013/carreira-e-nao-emprego/index.html new file mode 100644 index 0000000..bc8deaa --- /dev/null +++ b/public/posts/2013/carreira-e-nao-emprego/index.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Carreira, e não Emprego · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Carreira, e não Emprego +

+

+ Sep 1, 2013 00:00 + · 486 words + · 3 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início.

+ +

A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos!). Estava conversando com outros palestrantes, profissionais experientes e com trajetórias similares a minha (programador que virou gerente de desenvolvimento, de projetos ou de empresas) e constatamos que um problema que ocorre em algumas empresas é o de desenvolvedores que parecem estar mais preocupados apenas com o salário do final do mês, em cumprir apenas a sua tarefa sem dar atenção ao projeto como um todo.

+ +

Eu resumiria essas pessoas como aquelas que procuram e se preocupam apenas em manter um emprego e não uma carreira. E são coisas bem diferentes. Ao almejar uma carreira você consegue ter uma visão de longo alcance, consegue perceber mais claramente quais empregos você precisa manter, quais empregos fazem mal para seu crescimento. Algumas vezes você pode se encontrar em um emprego que não paga o suficiente, mas que te coloca em contato com pessoas ou tecnologias que vão ser importantes no seu futuro.

+ +

Mas ter em mente uma carreira é só o começo. Ao entrar em um emprego que você identificou ser importante para sua carreira, por um motivo ou outro, você deveria se empenhar ao máximo para fazer o melhor possível para a empresa, colegas e projetos. Envolver-se realmente, tentar entender onde a empresa ou o projeto pretendem ir, visualizar onde seu trabalho influencia nisso, ajudar os colegas a também entenderem e cumprirem suas partes. Este comportamento faz muita diferença na forma como as pessoas vão ver você e isso é ótimo para sua carreira.

+ +

Concordo que as vezes determinar para onde quer chegar e que carreira seguir não é fácil. Eu mesmo passei pelo que eu chamo de mini-carreiras: programador, professor, gerente de projetos, escritor, palestrante e agora empresário. Em algumas fui melhor sucedido do que outras, mas tenho orgulho de dizer que me esforcei, e ainda me esforço, ao máximo em cada uma delas. Ainda tenho objetivos a completar em algumas delas (quero algum dia palestrar em um TED, por exemplo) e algumas eu precisei dedicar menos tempo (praticamente parei de ministrar aulas), mas todas me levaram um passo adiante na macro-carreira que escolhi: a de tecnologia (dou aulas de programação, palestro e tenho uma empresa na área).

+ +

Então, se eu puder dar mais uma dica para quem está começando, ou já está no mercado, é de escolher uma carreira e manter o foco nela. Ou identificar o quanto antes se você não está satisfeito e mudar de carreira. E sempre se esforçar ao máximo nas suas escolhas.

+ +
+
+ + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/posts/2013/programador-dave-grohl-e-nao-axl-rose/index.html b/public/posts/2013/programador-dave-grohl-e-nao-axl-rose/index.html new file mode 100644 index 0000000..7d44726 --- /dev/null +++ b/public/posts/2013/programador-dave-grohl-e-nao-axl-rose/index.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Programador Dave Grohl e Não Axl Rose · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Programador Dave Grohl e Não Axl Rose +

+

+ Aug 26, 2013 00:00 + · 355 words + · 2 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado.

+ +

O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”.

+ +

Traduzi/adaptei os trechos mais importantes:

+ +
    +
  • Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos.

  • + +
  • Jogue pelo time. Construir software é um esporte a ser jogado em grupo. Você não é dono de partes do código e sim responsável por fazer com que todo o pacote funcione como esperado. Não seja o cara que diz “na minha máquina funciona”. O software deve funcionar nas máquinas dos usuários.

  • + +
  • Seja um aprendiz. A tecnologia muda muito rápido. O que era importante 5 anos atrás não é mais a melhor coisa hoje, e o que é relevante hoje nem existia 5 anos atrás. Você deve aprender novas coisas constantemente (linguagens, bibliotecas, padrões).

  • + +
  • Seja uma pessoa em formato T. Se especialize em algum campo e tenha um conhecimento superficial em um conjunto de tecnologias. Isto o faz um recurso muito valioso dentro da empresa.

  • + +
  • Seja incansavelmente engenhoso. Torne-se a pessoa que consegue resolver qualquer problema. Você não precisa ser capaz de resolver qualquer problema sozinho, mas você sempre sabe onde ir para encontrar a resposta.

  • +
+ +

Concordo com todos os pontos que o Wiktor cita na apresentação, só não acho certo dizer que que não tem essas qualidades é um “rockstar”. Pelo menos não no modo como vejo, com os rockstars criando coisas novas e sendo ousados, quebrando o status quo.

+ +

Eu mudaria os termos para: “Não seja um programador Axl Rose, seja um programador Dave Grohl”.

+ +

Ambos são muito talentosos, mas o Axl é famoso por suas excentricidades e manias.

+ +

Enquanto isso, o Dave Grohl é conhecido com “o cara mais legal do rock” por sempre estar disposto a conversar com fãs e reporteres, por ajudar bandas que estão começando, por saber tocar diversos instrumentos, etc.

+ +

Essa é minha sugestão.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2014/multitasking-so-e-bom-no-seu-computador/index.html b/public/posts/2014/multitasking-so-e-bom-no-seu-computador/index.html new file mode 100644 index 0000000..95a8208 --- /dev/null +++ b/public/posts/2014/multitasking-so-e-bom-no-seu-computador/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Multitasking Só é Bom no seu Computador · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Multitasking Só é Bom no seu Computador +

+

+ Nov 27, 2014 00:00 + · 497 words + · 3 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+ + +

Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias.

+ +

Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. Além do objetivo principal, que era ter um relatório de horas a apresentar aos clientes, eu percebi que ganhei duas coisas importantes.

+ +

Como estou usando o meu dia?

+ +

Criei o hábito de iniciar o timer do aplicativo a cada tarefa que eu faço, desde as que trabalho por horas até coisas simples como atender uma ligação telefônica, responder e-mails, revisar um pull request, etc. Assim eu consigo ter uma visão bem detalhada de como estou usando o meu dia, que tarefas mais consomem meu tempo, quais tarefas eu posso delegar, quais estão gerando melhor retorno para a minha carreira, etc.

+ +

Uma coisa de cada vez

+ +

O outro ponto importante que percebi é que agora eu estou conseguindo focar em uma tarefa de cada vez, sem fazer o multitasking. E eu percebi o quanto isso aumenta a minha produtividade pois assim eu concentro meus esforços em uma tarefa apenas e consigo terminar mais coisas durante o dia, ou mesmo aumentar a qualidade das entregas. Com uma vantagem em relação a outras técnicas como a Pomodoro: eu tenho a flexibilidade de parar o timer e trocar de tarefa caso alguma coisa muito urgente aconteça. Com a Pomodoro e seus timers fixos eu encontrei problemas como as interrupções a cada 25 minutos ou a culpa de precisar atender uma ligação urgente da minha família no meio de um pomodoro. Agora eu tenho o foco que eu queria com a flexibilidade que preciso no dia a dia. Claro que isso exige um pouco mais de força de vontade, coisa que o Pomodoro ajuda bastante, com seus tempos fixos.

+ +

Uma sugestão importante é a escolha da ferramenta para contabilizar o tempo. Estamos usando o Tiempo. Deixo ele aberto em uma aba do navegador e continuo meu trabalho sem ter algo que tire a minha atenção na tela. Quando preciso trocar de tarefa apenas vou até a aba e anoto a mudança. Ele também tem versões para dispositivos móveis, mas eu ainda não as usei muito para poder avaliar. Outra vantagem dele é ter uma conta de administrador onde é possível tirar relatórios da sua equipe, o que é bem útil para o caso da Coderockr. Existem milhares de aplicativos para essa finalidade, então vale a pena analisar e escolher um que se adapte bem a suas necessidades.

+ +

Sei que isso não é algo que vai funcionar para todos os profissionais por isso se tiver opiniões por favor contribua nos comentários. Enquanto isso eu vou publicar este post, parar o timer e começar uma nova tarefa.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/a-importancia-da-revisao-de-codigo/index.html b/public/posts/2015/a-importancia-da-revisao-de-codigo/index.html new file mode 100644 index 0000000..1b74946 --- /dev/null +++ b/public/posts/2015/a-importancia-da-revisao-de-codigo/index.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Importância da Revisão de Código · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ A Importância da Revisão de Código +

+

+ Jun 5, 2015 00:00 + · 272 words + · 2 minute read + + + + + Desenvolvimento + + Metodologias + + Clean Code + + + + +

+

by Elton Minetto

+
+ +
+

Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu:

+ +
+

Dados olhos suficientes, todos os erros são óbvios

+
+ +

Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software.

+ +

Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. E o Pull Request só é aprovado quando uma ou mais pessoas aprovam a alteração.

+ +

Nós percebemos duas vantagens nesta abordagem. A primeira foi a melhoria do código. Sabendo que outras pessoas vão avaliar seu código a tendência é que o desenvolvedor preste mais atenção aos detalhes. E com mais pessoas analisando o código geralmente encontram-se melhorias ou possíveis bugs antes mesmo do código ir para a fase de testes/homologação.

+ +

A segunda melhoria foi a difusão do conhecimento pois agora os desenvolvedores podem acompanhar o que está sendo feito em diferentes partes do sistema, o que é importante em projetos grandes e também ajuda no processo de manutenção futura.

+ +

Para facilitar o processo de review nós criamos um Checklist que usamos para analisar os códigos. Além disto estamos sempre avaliando ferramentas que automatizem o processo como Scrutinizer, SensioLabs Insight, Codacy, Code Climate, etc.

+ +

A melhoria é um processo contínuo por isso estamos sempre tentando tornar a revisão ainda mais fácil e rápida mas já tivemos ótimos resultados desde que adotamos esta prática.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/coderockr-way/index.html b/public/posts/2015/coderockr-way/index.html new file mode 100644 index 0000000..1f7a1d1 --- /dev/null +++ b/public/posts/2015/coderockr-way/index.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Coderockr Way · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Coderockr Way +

+

+ Oct 29, 2015 00:00 + · 113 words + · 1 minute read + + + + + Metodologias + + Desenvolvimento + + + + +

+

by Elton Minetto

+
+ +
+

Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos.

+ +

O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental:

+ +

+ +

Para acompanhar o lançamento a melhor forma é assinar nosso canal e nos seguir no Twitter e Facebook.

+ +

Se sua empresa gostaria de conhecer melhor nosso trabalho entre em contato. Se você for um desenvolvedor e gostaria de trabalhar conosco envie seu currículo.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/como-gerenciamos-projetos-na-coderockr/index.html b/public/posts/2015/como-gerenciamos-projetos-na-coderockr/index.html new file mode 100644 index 0000000..a22b755 --- /dev/null +++ b/public/posts/2015/como-gerenciamos-projetos-na-coderockr/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como Gerenciamos Projetos na Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como Gerenciamos Projetos na Coderockr +

+

+ Jun 25, 2015 00:00 + · 731 words + · 4 minute read + + + + + Gerenciamento de Projetos + + Metodologias + + + + +

+

by Elton Minetto

+
+ +
+ + +

A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso.

+ +

Metodologia

+ +

Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. Na nossa experiência o Scrum mostrou-se um pouco burocrático, com suas reuniões e sprints de tamanho fixo. Nós quebramos as tarefas em tamanhos similares, para podermos calcular o tempo médio de entrega, e criamos quadros para cada projeto, com as fases:

+ +
    +
  • To Do: lista de tarefas a serem realizadas. O cliente pode adicionar tarefas a qualquer momento e reordená-las de acordo com a prioridade.

  • + +
  • In Progress: são as tarefas que estão sendo trabalhadas, seja código, análise, arquitetura, criação de servidores, design, etc.

  • + +
  • Review: todas as tarefas passam por revisão de outra pessoa. Se é uma tarefa de código cada tarefa gera um branch no git e quando o desenvolvedor move para Review ele cria um Pull Request para outra pessoa avaliar. As branches sempre são criadas a partir da *branch master *e quando aprovadas o merge é feito também para a master. Usamos algo bem similar ao Github Flow como metodologia de desenvolvimento e escrevemos um post sobre a importância da revisão de código.

  • + +
  • Testing: após o Pull Request ser aprovado fazemos o deploy da tarefa para um servidor de testes/homologação onde outra pessoa, geralmente o cliente, faz mais uma sessão de testes. Os testes unitários além de serem executados pelos desenvolvedores são feitos novamente pelo servidor de integração contínua.

  • + +
  • Done: após todos os testes e correções terem sido feitos, o deploy é realizado para o servidor de produção.

  • +
+ +

Encontramos diversas vantagens neste processo. O cliente agora não precisa esperar até o final do sprint para ver o resultado da tarefa pois fazemos entregas contínuas. Para os desenvolvedores é motivador ver o processo evoluindo e mais coisas sendo entregues. Como as tarefas são pequenas (geralmente tentamos quebrar em tarefas que não demorem mais do que 1.5 dias para serem feitas) as mudanças são mais fáceis de serem realizadas.

+ +

Equipe

+ +

Em cada projeto além dos desenvolvedores temos duas figuras importantes:

+ +
    +
  • O gerente de projetos. Ele é responsável por coordenar a equipe, conversar com o cliente e acompanhar o andamento das tarefas. Como a maioria dos contratos da Coderockr é no formato “banco de horas”, onde o cliente compra X horas/mês é papel do gerente acompanhar o consumo destas horas e manter o cliente atualizado.

  • + +
  • O líder técnico. Geralmente é uma pessoa que tem mais experiência nas tecnologias usadas no projeto ou com o próprio negócio do cliente. É seu papel auxiliar o gerente na definição das tarefas, ajudar a equipe a resolver problemas mais complexos, auxiliar na definição da arquitetura das soluções, escalabilidade, performance e qualidade.

  • +
+ +

Em alguns projetos menores estes papéis podem ser desempenhados por uma mesma pessoa e um desenvolvedor de um projeto pode ser líder técnico de outro.

+ +

Ferramentas

+ +

Dentre todos os tópicos desde post este é o mais volátil. Todos os dias surgem ótimas novas ferramentas para auxiliar no desenvolvimento de software, análise de qualidade e na gestão de projetos. Atualmente na nossa caixa de ferramentas temos:

+ +
    +
  • Bitbucket para gerenciar os repositórios privados.

  • + +
  • Github para gerenciar os repositórios públicos.

  • + +
  • Jira para os projetos mais complexos. Ele possui ótimos relatórios como o Control Chart que nos permite acompanhar o tempo médio de entrega das tarefas, entre outros. E a integração com o Bitbucket é bem interessante.

  • + +
  • Trello para projetos menores. O Trello é uma ferramenta muito útil e versátil mas faltam relatórios estatísticos que são importantes para a gestão de projetos maiores.

  • + +
  • Codeship como servidor de integração contínua. Também estamos testando o PHPCI em alguns projetos. O deploy fazemos com scripts PHP criados com o deployer.

  • + +
  • PHPCS, PHPMD, PHPCPD, PHPUnit. Usamos ferramentas para auxiliar no processo de revisão de código e testes. Também estamos avaliando ferramentas como o Codacy e o SensioLabsInsight.

  • + +
  • Tiempo para anotarmos as horas que estamos trabalhando em cada projeto.

  • +
+ +

O mais importante conceito que tentamos manter sempre em nossas mentes é a evolução. A cada erro aprendemos como fazer melhor, com cada nova ferramenta ou nova ideia que surge tentamos chegar mais próximo da perfeição.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/o-proposito-da-coderockr/index.html b/public/posts/2015/o-proposito-da-coderockr/index.html new file mode 100644 index 0000000..f43fca5 --- /dev/null +++ b/public/posts/2015/o-proposito-da-coderockr/index.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O Propósito da Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ O Propósito da Coderockr +

+

+ May 14, 2015 00:00 + · 174 words + · 1 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de “golden circle” onde mostra a importância das empresas terem foco no “por quê” mais do que no “como” ou “o que” fazem.

+ +

Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos.

+ +
+

Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.

+
+ +

Assim como uma música, um software precisa atingir em cheio o coração dos usuários, atendendo suas necessidades com a mais alta qualidade. +Queremos levar esses conceitos ao maior número possível de clientes e projetos, seja desenvolvendo soluções ou ajudando outras equipes a fazerem o mesmo.

+ +

Fazemos isso ministrando treinamentos, fazendo consultorias, criando produtos e gerando conteúdo em blogs, livros e palestras.

+ +

Nosso sucesso pode ser medido pela satisfação dos usuários que são beneficiados pelos softwares que desenvolvemos, ou que foram desenvolvidos pelas equipes que nós influenciamos.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/index.html b/public/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/index.html new file mode 100644 index 0000000..70fc785 --- /dev/null +++ b/public/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/index.html @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS +

+

+ Apr 28, 2015 00:00 + · 1352 words + · 7 minute read + + + + + Desenvolvimento + + Metodologias + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web.

+ +

Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato.

+ +

Vou citar elas abaixo e fazer alguns comentários, principalmente usando analogias e exemplos do mundo PHP, mas os conceitos se aplicam a qualquer plataforma.

+ +

I. Codebase

+ +

Todos os seus códigos devem ser gerenciados por um sistema de controle de versões como o Git ou o Subversion. Não deve haver mais de uma base de códigos no projeto e desta base são gerados diversos “deploys”. Um deploy é uma versão do código executando em máquinas de desenvolvedores, testes ou produção. Podem haver pequenas diferenças de versão entre os deploys, por exemplo um desenvolvedor possui códigos ainda não commitados em sua máquina, mas a base de códigos, o repositório deve ser sempre o mesmo.

+ +

II. Dependencies

+ +

As dependências do projeto devem ser explicitamente declaradas e isoladas do código. Em se tratando de PHP podemos usar o Composer para declarar e gerenciar as dependências. Caso o projeto dependa de alguma ferramenta externa, do sistema operacional por exemplo, o ideal é que uma versão dessa ferramenta esteja contida dentro de algum diretório do projeto. Desta forma o deploy pode ser feito para diversos servidores sem se preocupar com a falta de alguma dependência, o que facilita a escalabilidade.

+ +

III. Config

+ +

As configurações devem ser armazenadas fora do código. Aqui uma opinião minha. O 12factor sugere que todas as configurações deveriam ser feitas em variáveis de ambiente, que seriam configuradas em cada servidor e o código iria lê-las no momento da execução. Por exemplo, no Apache iríamos incluir algo como:

+ +

SetEnv DN_NAME “project_db”

+ +

E no PHP usaríamos a função getenv() para recuperar essa informação e usá-la para conectar ao banco de dados, por exemplo. E em cada máquina, de desenvolvimento ou servidor, este valor pode ser configurado de maneira diferente. +Eu prefiro uma abordagem um pouco mais simples ao incluir no Apache algo como:

+ +

SetEnv APPLICATION_ENV “development”

+ +

E criaríamos arquivos de configuração diferentes para cada ambiente, como config/development.php, config/production.php, etc. São abordagens similares, mas o conceito é o mesmo: não colocar configurações em códigos-fonte.

+ +

IV. Backing Services

+ +

Um “backing service” é um serviço que o aplicativo consome, geralmente via rede, como parte necessária para sua operação normal. Exemplos são banco de dados, servidores de cache, repositórios de arquivos, etc. O seu código deve ser criado considerando que estes recursos podem tanto estar instalados na máquina local quanto em servidores remotos, sem nenhuma mudança além de configurações. O modelo ideal é usar abstrações como um ORM e classes bem construídas para que a mudança de um banco de dados do MySQL para o PostgreSQL seja imperceptível para o projeto. Ou mesmo a mudança de armazenamento de arquivos local para o S3, mudança de cache de arquivos para o Memcached e assim por diante.

+ +

V. Build, Release, Run

+ +

Uma base de códigos é transformada em um deploy geralmente por três estágios:

+ +
    +
  • build, que consiste em pegar uma versão específica do repositório com suas dependências e transformá-la em uma versão executável, seja por compilação ou empacotamento

  • + +
  • release, que consiste no envio de um build para um servidor e a execução de todas as configurações necessárias para que ele entre no terceiro estágio

  • + +
  • execução, que é a inicialização de todos os processos necessários para que ele esteja disponível para os usuários acessarem.

  • +
+ +

Ter estas três fases bem separadas e definidas facilita a criação de scripts e procedimentos a serem executados em cada uma delas. Ferramentas como Capistrano, Ant, Deployer, Grunt, etc, podem ser usadas em conjunto ou em separado para tornar estes procedimentos automatizados e versáteis.

+ +

VI. Processes

+ +

Pense em seu aplicativo como um ou mais processos, que sejam “stateless” e “share-nothing”. A ideia é diminuir o acoplamento entre os componentes do projeto para facilitar a escala. Um exemplo bem comum é armazenarmos as sessões dos usuários no próprio servidor Apache, ou usarmos o APC como cache. O problema é que esta abordagem mantém o código atrelado a apenas um servidor e com isso torna complexo a escalabilidade, o fato de novos servidores serem adicionados ou removidos da arquitetura. O ideal é usar algo como um Memcached, Redis ou mesmo um banco de dados para diminuir o acoplamento.

+ +

VII. Port binding

+ +

A ideia é que o projeto não dependa de um servidor externo como o Apache para ser executado, mas que possa ser auto-contido e executar em uma porta específica que seria acessado por outras partes do projeto ou mesmo pelos usuários. Em um projeto Python poderíamos usar o Tornado, em um projeto Ruby o Thin, e assim por diante. +Trazendo um pouco esse conceito para o ambiente PHP eu faria uma pequena mudança indicando para que o projeto dependa de uma estrutura de nomes e endereços que podem ser configurados em arquivos de configuração. Por exemplo, em uma máquina de desenvolvimento os componentes do projeto poderiam ser:

+ +

http://coderockr.dev | http://api.coderockr.dev | http://admin.coderockr.dev

+ +

Ou

+ +

http://coderockr.dev | http://coderockr.dev:8080 | http://coderockr.dev:8888

+ +

Sendo que os três endereços podem ser configurados dentro do Apache usando o conceito de VirtualHost ao invés de criarmos um servidor próprio para cada componente, como é comum em projetos Python ou NodeJS. +E no servidor de produção o arquivo de configuração apontaria para endereços diferentes, sem alteração de código, como comentado no item III.

+ +

VIII. Concurrency

+ +

Tente pensar em seu projeto na forma de processos, como citado anteriormente, que podem ser executados em paralelo. Por exemplo, uma requisição HTTP normal pode ser executada por um processo do Apache enquanto que tarefas que demoram mais tempo podem ser encaminhadas a uma fila de processos e executadas em backgroud. Exemplos como Gearman e RabbitMQ são comuns para executar este tipo de procedimento.

+ +

IX. Disposability

+ +

Um projeto que segue os 12 fatores possui diversos processos facilmente descartáveis, ou seja, que podem ser iniciados ou parados a qualquer momento. Desenvolva-os de forma a facilitar este processo, permitindo início rápido e tornando o processo de finalização simplificado e sem traumas como perda de dados.

+ +

X. Dev/prod parity

+ +

Mantenha os ambientes de desenvolvimento, homologação e produção o mais similares possíveis. Os 12 fatores auxiliam no processo de deploy contínuo e esta similaridade evita erros durante o processo de envio do desenvolvimento para produção. Ferramentas como o Vagrant, Ansible, Puppet e Docker são muito úteis e importantes neste processo.

+ +

XI. Logs

+ +

Os logs são uma importante ferramenta para entender o comportamento de um projeto, identificando erros e pontos de melhoria. Normalmente tratamos os logs simplesmente escrevendo as mensagens em arquivos para futura análise, mas a dica aqui é que o código não deve se importar tanto com o formato de armazenamento. O projeto deve apenas enviar as mensagens para a saída padrão e esta deve ser redirecionada para locais específicos de acordo com o ambiente onde o projeto está executando. Em uma máquina de desenvolvimento isso pode ser um arquivo mas em um servidor de produção podemos usar algo mais complexo, como um Hadoop ou um serviço externo. Ferramentas como o Monolog permitem que os logs sejam tratados como streams de dados e redirecionados para diferentes localizações.

+ +

XII. Admin processes

+ +

Tarefas adiminstrativas devem ser tratadas de forma automatizada. Como agora nosso projeto pode rodar em diversos servidores, com diversos processos, coisas como limpar caches, carregar dados, atualizar bases de dados, etc, também devem ser facilitadas. O PHP possui uma interface CLI (Command Line Interface) que nos permite criar scripts poderosos e que facilitam esse processo. E frameworks como o Doctrine, Symfony, CakePHP, etc, fornecem uma série de facilidades para a criação destas tarefas.

+ +

Conclusão

+ +

Estes fatores não são uma verdade absoluta e tampouco devem ser seguidos cegamente, mas são um ótimo ponto de partida para a criação de projetos web modernos e que podem escalar mais facilmente para atender as demandas das empresas.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/se-as-empresas-fossem-bandas-de-rock/index.html b/public/posts/2015/se-as-empresas-fossem-bandas-de-rock/index.html new file mode 100644 index 0000000..9b400e0 --- /dev/null +++ b/public/posts/2015/se-as-empresas-fossem-bandas-de-rock/index.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Se as Empresas Fossem Bandas de Rock · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Se as Empresas Fossem Bandas de Rock +

+

+ Apr 22, 2015 00:00 + · 517 words + · 3 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+ + +

Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas.

+ +

O Manager

+ +

O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. A Apple ainda estaria na garagem do Woz se o Steve Jobs não tivesse colocado um terno e vendido os primeiros computadores.

+ +

O Tour Manager

+ +

É a pessoa que gerencia o dia a dia das tours. Que controla os custos, os horários, as passagens, a compra de equipamentos, o seguro da banda, etc. São os nossos gerentes de projetos, diretores, pessoas sem as quais as bandas e as empresas ficam perdidas, sem controle.

+ +

O Frontman

+ +

É aquela pessoa que serve de exemplo, de líder dentro da banda. As pessoas se inspiram nela, tanto os outros membros da banda quanto os fãs. Nas empresas esse papel é feito pelos líderes técnicos, pelos CTOs, pelas pessoas que estão no dia a dia da empresa ou de um projeto e que tem experiência e respeito do restante da equipe. São eles quem os gerentes vão procurar quando precisam detalhes mais técnicos e são eles que são procurados pelo restante da equipe para encontrar caminhos para resolver problemas. Na música temos grandes nomes como Ozzy Osbourne, Bruce Dickinson, Jimmy Page, Lemmy Kilmister.

+ +

A Banda

+ +

São os astros do show. São eles que trazem o público para os estádios, que usam seu talento e esforço para gerar lucro para a banda. Nas empresas são os desenvolvedores, os médicos, os professores de uma escola, os engenheiros, pedreiros, etc. Tanto na música quanto nas empresas é preciso encontrar um grupo talentoso, esforçado e que consiga trabalhar bem em conjunto, em sincronia para criar grandes músicas e grandes projetos.

+ +

A Road Crew

+ +

São os técnicos e pessoas que dão o suporte para que os shows aconteçam. Afinam instrumentos, garantem que o som está ajustado, que as luzes estão funcionando, que a banda tenha todos os recursos para desempenhar bem o seu papel no palco. Nas empresas são as pessoas que mantém as coisas funcionando, o pessoal do RH, da contabilidade, do financeiro, da limpeza, etc. São tão ou até mais importantes que a banda pois sem eles nada funciona.

+ +

Algumas pessoas podem acumular funções e papéis. Steve Harris é o baixista e também o Manager do Iron Maiden e em empresas pequenas é comum os sócios trabalharem em diversas funções. Também é comum um Roadie (estagiário) surgir com um grande riff de guitarra (ideia) para uma nova música (projeto) que a banda (empresa) está criando. Além disso é natural a mudança de papéis dentro da banda ou empresa, como o Lemmy que começou na road crew do Jimi Hendrix e hoje é o frontman do Motörhead.

+ +

É claro que essa é uma visão bem simplista das coisas, mas é apenas uma forma divertida de ver as funcionalidades de cada pedaço da empresa.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/se-eu-soubesse-aos-18/index.html b/public/posts/2015/se-eu-soubesse-aos-18/index.html new file mode 100644 index 0000000..40000af --- /dev/null +++ b/public/posts/2015/se-eu-soubesse-aos-18/index.html @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Se eu Soubesse aos 18  —  Profissão · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Se eu Soubesse aos 18  —  Profissão +

+

+ Dec 18, 2015 00:00 + · 1643 words + · 8 minute read + + + + + Carreira + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca.

+ +

A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início.

+ +

O Início

+ +

Em Umuarama-PR, em meados de 2011, cursando o segundo semestre da faculdade, decidi sair do emprego que eu estava para me aventurar a desenvolver websites. Na época, com um conhecimento básico de HTML e CSS, achei que daria conta de vender, desenhar e desenvolver sites, eu só não sabia o péssimo vendedor que eu era.

+ +

Resumindo: um mês depois eu estava desesperado atrás de emprego, eu precisava de dinheiro para pagar a faculdade e minhas economias, bem, eu nunca tive economias.

+ +

Nessa fase, eu decidi que já que eu não poderia trabalhar por conta própria, eu iria ao menos procurar uma vaga na minha área de estudo, então preparei meu currículo e levei nas empresas que eu conhecia na cidade.

+ +

Após um mês de procura, obtive uma resposta da ADN Múltipla, uma agência de publicidade, propaganda e tecnologia.

+ +
+

Eu obtive muitos NÃOs antes de obter um SIM, não desanimem.

+
+ +

Ainda hoje, lembro do meu primeiro dia de trabalho (01/09/2011), eu estava super empolgado para saber como era um “Ambiente de desenvolvimento”

+ +

A primeira semana não foi fácil, tinha muita coisa nova pra assimilar, e ao mesmo tempo, tinha que saber administrar meu tempo entre faculdade e emprego.

+ +

Aos poucos comecei a evoluir no meu trabalho e logo comecei a ver os benefícios de cursar uma faculdade e ao mesmo tempo trabalhar na área. Minha experiência do dia a dia começou a facilitar minha vida dentro da sala de aula, todas aquelas teorias faziam muito mais sentido quando unidas a prática. Ao mesmo tempo, muitas teorias e conceitos aprendidos na faculdade, acabavam me auxiliando no trabalho.

+ +

A cada dia eu aprendia mais e mais. Nessa fase eu me sentia o máximo e me achava o super experiente quando o assunto era desenvolvimento web.

+ +

Primeiro Evento

+ +

Em novembro de 2011 fiquei sabendo através da faculdade, que teria um evento sobre web dev no Paraná, o Frontin Londrina. Como eu já conhecia a cidade e tenho familiares lá, decidi ir no evento.

+ +

10 de dezembro de 2011, primeiro dia de evento. Auditório lotado, e eu impressionado de ver aquele tanto de gente interessados em web.

+ +

Logo na primeira palestra, com o tema “A nova semântica do HTML5”, eu já comecei a ficar perdido, em meio a tantos termos que eu nunca tinha ouvido falar na vida, e foi ai que eu tive aquele MOMENTO! Aquele que você se da conta que você não sabe NADA.

+ +

+ +

Isso mesmo, NADA, se você ainda não teve esse momento, você ainda terá!

+ +

Esse é um dos melhores, mais necessários e esclarecedores momentos da sua vida, é a hora que você se da conta que a única coisa que você sabe, é que você NADA sabe, e que não importa o quanto você estude, sempre haverá algo a ser estudado ou descoberto.

+ +

Lembra que eu falei que eu me achava o “super experiente”? Aquela visão que eu tinha, caiu por terra nesta hora.

+ +

BTW, O evento foi incrível, tive a oportunidade de conhecer alguns nomes do mundo frontendiano e voltei pra casa com uma infinidade de conteúdo para estudar.

+ +

O Frontin Londrina foi crucial para minha carreira, abriu meus olhos para este mundo de comunidade, boas práticas, padrões, Javascript, HTML5, CSS3 e etc.

+ +

Gostaria de falar que cheguei em casa no outro dia e criei uma framework que abalou o mundo web. Porem, mesmo com todo esse ânimo e decidido que iria estudar e me especializar nessa área, minha evolução foi a baby steps.

+ +

Comecei a aprender Javascript, passei pela fase de ser o programador jQuery, de pesquisar por “jQuery Carousel plugin” no google e me sentir o máximo por conseguir implementar um deles em um site, e continuei assim por um bom tempo.

+ +

+ +

Nunca parei de procurar conteúdo novo para estudar, mas aos poucos vi que todas as coisas novas que eu estava aprendendo, não se aplicavam ao meu local de trabalho, pelo próprio ritmo de agência.

+ +

Logo que terminei a faculdade, julho de 2013, decidi procurar uma vaga pra fora da cidade, onde eu tivesse a oportunidade de desenvolver ainda mais minhas skills.

+ +

Encontrei uma vaga em Curitiba, especificamente para Frontend developer, o que em 2013 era um pouco raro se comparado a hoje, e pra trabalhar principalmente com canvas. Pedi demissão, me organizei para mudar e ao mesmo tempo estava me preparando para ir para o meu primeiro BrazilJS.

+ +

Indo de ônibus de Umuarama-PR para Porto Alegre - RS recebo um e-mail da empresa de Curitiba, me avisando que a contratação havia sido cancelada e que novas contratações só seriam efetuadas no próximo ano. Fiquei um pouco desnorteado, mas ainda estava na animação para o BrazilJS.

+ +

BrazilJS 2013

+ +

Sem palavras para descrever o que foi participar desse evento, mais um marco histórico para mim. Aprender que Javascript ia MUITO ALÉM do que eu conseguia imaginar e que sim, havia vida pós jQuery.

+ +

+ +

Após o evento, acabei indo para Curitiba, já que eu tinha combinado de ficar no meu tio por um tempo e eu estava sem emprego anyway.

+ +

A história se repete, novamente começo a procurar vagas, enviar currículos e esperar respostas. O tempo foi passando, o desespero do desemprego aumentando e eu mandando currículos a torto e a direita.

+ +

Dessa vez, infelizmente, o destino foi desfavorável, não obtive respostas e acabei voltando para Umuarama, com aquele sentimento de incapacidade e derrota.

+ +

Um tempo depois recebi três propostas, uma para trabalhar com JAVA outra com PHP (Magento) e outra como “Fullstack” (com foco em Frontend), na mesma agência que eu trabalhava antes.

+ +

Mesmo as propostas salariais de Java e Magento sendo melhores, eu optei pela experiência de continuar trabalhando com Frontend, e no fim acabei voltando para meu antigo emprego.

+ +

O tempo passou mais uma vez e muito do que eu estudava eu ainda não conseguia aplicar no trabalho. Nesse meio tempo, aproveitei para evoluir minhas skills de web designer, que mesmo ainda não sendo meu forte me ajudam quando preciso.

+ +

BrazilJS 2014

+ +

Consegui participar novamente no ano de 2014 e mais uma vez foi um evento incrível e inesquecível e me lembrou de como eu tinha vontade de me aprofundar no mundo do desenvolvimento web e me especializar cada dia mais.

+ +

Deixei as coisas seguirem seu fluxo natural, continuei trabalhando, estudando e aos poucos foram surgindo algumas oportunidades.

+ +

Em uma palestra que fui assistir na Faculdade Alfa, acabei sendo apresentado, pelo professor e amigo Anderson Fernandes, ao Elton Minetto.

+ +
+

Nunca esqueçam, networking, networking, networking!

+
+ +

Alguns meses depois, apliquei para uma vaga de Frontend Developer na Coderockr, passei pelo processo seletivo e acabei sendo chamado para trabalhar.

+ +

Em 10 meses de trabalho, nunca faltou oportunidade para aplicar todo o conhecimento adquirido durante esses anos, e todos os dias eu vou para casa já pensando no que vou estudar para trazer no dia seguinte pro trabalho.

+ +

Mas, aqueles três anos de experiência dentro de uma agência, foram fundamentais!

+ +

Brazil JS 2015

+ +

Comemorando 20 anos do Javascript, acho que nem tem muito o que falar né? Best event ever!

+ +

+ +

Em termos de carreira, sou um completo iniciante, a minha está ainda em seu início, mas, se eu pudesse enviar uma carta a mim mesmo quando estava com 18 anos, as seguintes dicas estariam nela:

+ +

1 - Compareça ao maior números de eventos que puder.

+ +

Recentemente fui no Frontin Floripa junto com o Jean Carlo Machado, e acabou surgindo o assunto sobre como eventos assim trazem um Feeling bom para nós desenvolvedores. Essa proximidade com a comunidade faz muita diferença, agrega muito conhecimento e sem dúvidas você volta para casa com outro ânimo.

+ +

+ +

+ +

2 - Compartilhe conhecimento.

+ +

Compartilhe conhecimento, o máximo que puder, quanto mais você compartilha, mais você cresce. Por trás de um post de 5 parágrafos, vão-se muitas horas de leitura. É uma Win win situation, você ganha porque aprende muito no processo de reunir conteúdo e escrever sobre o assunto e a comunidade ganha com o conteúdo produzido.

+ +

3 - Contribua com projetos open source.

+ +

Quando você escreve algo sabendo que outros irão ler, com certeza você fará com mais esmero. O Github é o portfólio do programador, é fácil para um contratante entrar no seu perfil do Github e ver a forma como você coda, quais projetos você segue e quais são seus principais interesses.

+ +

Projetos open source são capazes de te fornecer bagagem necessária para entrar em qualquer empresa.

+ +

Comece do básico, abrindo issues, contribuindo com documentações, fazendo review em PRs e assim por diante.

+ +

De quebra, você ganha expertise em GIT.

+ +

4 - Aprenda inglês

+ +

Quanto mais cedo, melhor!

+ +

Nesse post eu abordo um pouco mais o tema, mas sim, quanto antes você aprender, melhor.

+ +

Se você não gosta, aprenda a gostar, não lute contra, inglês é inevitável.

+ +

5 - Seja um eterno Junior.

+ +

Em termos de APRENDER, seja um eterno Jr. Sempre esteja disposto a aprender aquela nova framework, aquele novo conceito ou até mesmo aquela nova linguagem.

+ +

Sempre considere a possibilidade de você estar errado, isso no mínimo evita muitas horas de debug.

+ +

Acolha as novas ideias e analise-as ao invés de simplesmente descartá-las.

+ +

Mantenha sempre essa vontade de aprender.

+ +

Seja humilde, quanto antes você conseguir enxergar o quão pouco você sabe, mais fácil será o processo de evolução.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2015/sintomas-de-design-de-software-podre/index.html b/public/posts/2015/sintomas-de-design-de-software-podre/index.html new file mode 100644 index 0000000..e25fb6d --- /dev/null +++ b/public/posts/2015/sintomas-de-design-de-software-podre/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sintomas de Design de Software Podre · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Sintomas de Design de Software Podre +

+

+ May 7, 2015 00:00 + · 580 words + · 3 minute read + + + + + Desenvolvimento + + Clean Code + + + + +

+

by Jean Carlo Machado

+
+ +
+ + +

Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade.

+ +

Rigidez

+ +

É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo.

+ +

Quando o software se comporta dessa forma os gerentes temem deixar os engenheiros arrumar problemas não críticos. Essa relutância deriva do fato que eles não sabem, com segurança, quando os engenheiros terminarão. Se os gerentes liberarem os engenheiros para resolverem tais problemas eles podem ficar ocupados por longos períodos.

+ +

Quando o temor dos gerentes é tão agudo que eles se recusam a permitir mudanças no software é que a rigidez se estabelece. Aquilo que começou como deficiência no design terminou como uma controversa política gerencial.

+ +

Fragilidade

+ +

Intimamente relacionada com a rigidez é a fragilidade. É a tendência do software quebrar em diversos lugares toda a vez que ele muda. Com frequência as quebras ocorrem em áreas que não tem relacionamento conceitual com a área que mudou. Esses erros vão encher os corações dos gerentes com mal pressentimentos. Toda a vez que eles autorizam uma mudança eles temem que o software irá quebrar de alguma forma inexplicável. Conforme a fragilidade vai aumentando, a probabilidade de quebra aumenta, assimptoticamente se aproximando de 1. Esse tipo de software é impossível de manter. Cada ajuste faz ele piorar, introduzindo novos problemas para serem resolvidos. Tal software faz os gerentes e clientes suspeitarem que os desenvolvedores perderam o controle. Desconfiança reina e a credibilidade é perdida.

+ +

Imobilidade

+ +

Imobilidade é a inabilidade de reusar software de outros projetos ou de outras partes do mesmo projeto. Geralmente acontece de um engenheiro descobrir que precisa de um módulo similar ao que outro engenheiro escreveu. Não obstante, também geralmente acontece que o módulo em questão tem muita bagagem desnecessária. Depois de muito trabalho, os engenheiros descobrem que o trabalho requerido para separar as partes desejadas é muito grande para ser tolerado. E o software é simplesmente reescrito ao invés de reusado.

+ +

Viscosidade

+ +

Viscosidade vem de duas formas: viscosidade de design, e viscosidade de ambiente. Quando em face a uma mudança, engenheiros geralmente encontram mais de uma maneira de efetuá-la . Algumas das formas preservam o design, outras não (os “hacks”). Quando os métodos preservados do design são mais difíceis de usar do que os “hacks” a viscosidade do design está alta. É mais fácil fazer a coisa errada do que a certa.

+ +

Viscosidade de ambiente acontece quando o ambiente de desenvolvimento é lento e ineficiente. Por exemplo, se os tempos de compilação são muito longos os engenheiros vão ser tentados a fazer mudanças que não forcem grandes recompilações, mesmo que essas alterações não sejam as melhores do ponto de vista de design. Se o controle de versão requer horas para checar apenas uns poucos arquivos os engenheiros serão tentados a fazer modificações que requeiram o menor número de arquivos possível, ignorando se o design é preservado ou não.

+ +

Esses quatro sintomas são sinais de arquitetura degradada. Qualquer aplicação que exiba-os está sofrendo de design apodrecido.

+ +

Esta é uma parte que extraí do livro: Design Principles and Design Patterns de Robert C. Martins. Espero este post de alguma forma colabore para a constante luta contra o design ruim.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git "a/public/posts/2015/sobre_como_come\303\247ar_na_area_de_desenvolvimento/index.html" "b/public/posts/2015/sobre_como_come\303\247ar_na_area_de_desenvolvimento/index.html" new file mode 100644 index 0000000..2423ef8 --- /dev/null +++ "b/public/posts/2015/sobre_como_come\303\247ar_na_area_de_desenvolvimento/index.html" @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sobre como Começar na Área de Desenvolvimento · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Sobre como Começar na Área de Desenvolvimento +

+

+ Mar 14, 2015 00:00 + · 393 words + · 2 minute read + + + + + Desenvolvimento + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás:

+ +
+

Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [..] e gostaria de saber sua opinião sobre vantagens de desvantagens do PHP X Ruby, e no caso se eu optar por PHP quais seriam boas dicas para me tornar um profissional diferenciado no mercado (Estou pesquisando que há a certificação Zend, além do inglês que é fundamental e a questão do OO e padrões de projetos, mais não quero atropelar tudo nesse começo e ir aos poucos buscando esse diferencial) poderia me ajudar com sua opinião?

+
+ +

Obs: editei alguns pedaços para focar na dúvida.

+ +

Bom, vamos ver se eu consigo ajudar um pouco…

+ +

Algumas coisas que eu vou escrever parecem clichê, mas eu acho que são verdades. O mais importante não é a linguagem ou o framework que você escolher. O importante é você conhecer algoritmos, padrões de projeto, orientação a objetos e o ambiente web (o protocolo HTTP, como funcionam as requisições e respostas, o HTML, CSS, um básico de servidores, etc).

+ +

Se você souber bem esses fundamentos você vai se dar bem em qualquer linguagem que escolher. Uma sugestão que eu dou é você olhar o mercado a sua volta para ver onde estão as melhores oportunidades de crescimento. Se for PHP, Ruby, Java ,etc, é uma pista de onde você pode começar a investir a curto prazo. Eu digo isso porque é legal, após ter estudado um pouco destes conceitos que eu comentei, você tentar ir para o mercado. Você vai aprender muito convivendo com outros programadores e clientes, vendo o mundo real. Os livros vão sempre estar do seu lado para tirar dúvidas e aumentar sua bagagem de teoria, mas nada supera a prática.

+ +

E para completar a coleção de clichês: divirta-se no processo. Se você descobrir que gosta mesmo da área de desenvolvimento (como eu gosto) isso tudo vai ser uma grande e divertida aventura.

+ +

Se você tiver mais sugestões e comentários por favor me ajude a complementar a resposta?

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/a-importancia-do-proposito/index.html b/public/posts/2016/a-importancia-do-proposito/index.html new file mode 100644 index 0000000..b17a1de --- /dev/null +++ b/public/posts/2016/a-importancia-do-proposito/index.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Importância do Propósito · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ A Importância do Propósito +

+

+ Sep 20, 2016 00:00 + · 232 words + · 2 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais “tradicionais” ou “startups”. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como “missão, visão, valores”, e o que eu acho ainda mais útil: o propósito da empresa.

+ +

A Coderockr foi criada em 2010 e apenas em 2015, depois de passar por alguns problemas bem complexos, eu parei e redigi o nosso propósito:

+ +
+

…criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.

+
+ +

Ele vem servindo de guia para várias decisões que tomamos desde então, desde contratações, seleção de projetos, lançamento de produtos, escolha de parcerias, etc. Quando me deparo com uma decisão destas eu abro o nosso propósito, releio ele e me pergunto a melhor forma de continuar fiel a ele.

+ +

É claro que esse propósito pode mudar no futuro, mas quando percebermos que ele não está mais de acordo com o que pensamos vamos parar e redigí-lo, melhorá-lo, mas nunca esquecê-lo.

+ +

E você? Já parou para pensar, e escrever, o propósito da sua empresa ou projeto?

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/index.html b/public/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/index.html new file mode 100644 index 0000000..db15bf8 --- /dev/null +++ b/public/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/index.html @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aprenda a Dizer NÃO, Você Precisará Disso! · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Aprenda a Dizer NÃO, Você Precisará Disso! +

+

+ Apr 2, 2016 00:00 + · 513 words + · 3 minute read + + + + + Carreira + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido.

+ +

Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook.

+ +

Se você trabalha com desenvolvimento de websites ou software, por ser uma área relativamente nova e que contem uma certa complexidade, as pessoas não conseguem imaginar todos os processos que englobam um simples “desenvolvimento de um site”.

+ +

Quando você fala que trabalha com desenvolvimento de websites, é natural as pessoas próximas, recorrerem primeiro a ti antes de procurar outra pessoa/empresa.

+ +

Muitas vezes, você sabe que você não é a pessoa certa para o serviço, e cabe a você dizer não a elas. Dizer não e explicar o por quê, que seja por você ter habilidades só com programação e não com design, por você já trabalhar oito horas por dia e esse ser o seu limite de trabalho, ou por simplesmente você não querer trabalhar com o serviço em específico. É nessa hora que o poder do NÃO fará falta.

+ +

Dizer NÃO é necessário

+ +

É necessário e você pagará pela omissão do mesmo. Uma característica evidente de pessoas que não sabem dizer não, é a sobrecarga de responsabilidades. Esses indivíduos estão sempre sobrecarregados de tarefas e isso os afeta muito.

+ +

Uma das situações que ocorrem com frequência é você lembrar de todas as coisas que precisa fazer, de todos os compromissos que acabou assumindo, lembrar de todos os prazos que estão atrasados, e ao invés de pegar uma única coisa e tentar resolver, você desiste de tudo e vai assistir uma série, jogar video-game ou fazer qualquer coisa que não esteja relacionada com nenhuma das tarefas, é você entrando em crise e seu cérebro tentando desesperadamente te tirar dela.

+ +

Com isso, seus principais objetivos nunca são concluídos, porque eles se misturam as coisas que você não soube dizer não.

+ +

Dizer não é sua Obrigação

+ +

Sim, é sua obrigação, é ser honesto, porque o que mais acontece nessas situações é você atrasar a entrega, demorar em dar respostas ou até mesmo não entregar.

+ +

Reserve os seus SIM’s

+ +

você conhece seus limites e sabe o máximo de tarefas que pode fazer durante a semana, estabeleça seus objetivos e reserve tempo necessário a eles, você não conseguirá abraçar o mundo, então escolha com cautela a quem e ao que você dará o seu SIM.

+ +

Completar pequenos objetivos te trará mais satisfação do que você estabelecer inúmeros objetivos e deixar todos pela metade, ou não tão bem feitos como você imaginava.

+ +

Não tenha medo de dizer NÃO

+ +

Explicando a situação a pessoa provavelmente irá entender. O mais importante é ser sincero, principalmente com você mesmo.

+ +

Com o tempo você pega o jeito.

+ +

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/index.html b/public/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/index.html new file mode 100644 index 0000000..4bde5a8 --- /dev/null +++ b/public/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/index.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como Melhorar seus Códigos Usando Object Calisthenics · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como Melhorar seus Códigos Usando Object Calisthenics +

+

+ Jun 23, 2016 00:00 + · 276 words + · 2 minute read + + + + + Desenvolvimento + + Clean Code + + PHP + + + + +

+

by Elton Minetto

+
+ +
+

Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância).

+ +

Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto.

+ +

O Object Calisthenics é uma série de boas práticas e regras de programação que foram criadas pela comunidade de desenvolvedores Java. O Guilherme e o Rafael foram os responsáveis por adaptar estas regras para o ambiente PHP e são grandes evangelizadores destes conceitos. Se você tiver a oportunidade de ver alguma palestra deles sobre o assunto eu recomendo fortemente. Mas como eles estão vivendo fora do Brasil você pode começar olhando os slides da palestra PHP para Adultos: Clean Code e Object Calisthenics e You code sucks, let’s fix it.

+ +

Eu lembrei deste tópico esta semana, quando me deparei com o seguinte código em um projeto que estou dando manutenção/desenvolvendo novas features:

+ + + +

É um código totalmente funcional mas analisando algumas regras do Object Calisthenics é possível refatorá-lo para algo assim:

+ + + +

Desta forma o código fica mais legível e de fácil manutenção. E o código torna-se mais performático pois possui uma complexidade bem menor.

+ +

Minha recomendação é revisar as dicas do Guilherme e do Rafael e tentar aplicá-las aos seus códigos. Ou pelo menos tentar aos poucos absorvê-las e adaptá-las a sua realidade. O resultado é muito recompensador e vale o pequeno investimento.

+ +

Originally published at eltonminetto.net on June 24, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/index.html b/public/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/index.html new file mode 100644 index 0000000..aeced67 --- /dev/null +++ b/public/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor +

+

+ Feb 2, 2016 00:00 + · 404 words + · 2 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira.

+ +

Um grande recurso que o desenvolvedor tem é sua reputação, a visão que as outras pessoas tem de você. No decorrer da sua carreira você vai adquirindo conhecimentos e experiências e aos poucos vai tornando-se autoridade em diversos aspectos do que faz. E uma boa forma de adquirir esta autoridade é fazendo boas perguntas em fóruns de discussão, respondendo a questionamentos, escrevendo e comentando em posts de blogs, etc.

+ +

Eu fico realmente preocupado quando vejo algo similar ao exemplo abaixo. Peguei um post aleatório no grupo PHP Brasil:

+ +

+ +

O conteúdo das respostas aos questionamentos é muito bom e a tendência é para a resolução do problema e uma boa contribuição em conhecimento. Isso é algo ótimo pois todos os envolvidos na conversa acabam aumentando sua reputação perante os colegas, mas o problema é que isso está dentro dos muros do Facebook. Isso não vai ser indexado por nenhuma ferramenta de busca como o Google, daqui a algumas horas o fluxo de mensagens do Facebook vai fazer esta pergunta simplesmente desaparecer no meio de tantas outras. Poucas pessoas vão poder ajudar a acrescentar as respostas ou mesmo reconhecer os envolvidos como autoridades no assunto.

+ +

Cada ferramenta deveria ser usada para seu propósito. O Facebook é uma rede social, e deveria ser usada para este fim, para socializarmos com amigos. Estas perguntas e respostas deveriam estar em ferramentas mais propícias para isso como o Stack Overflow, Quora, iMasters, fóruns de comunidades, locais onde ferramentas de busca podem ler e indexar, onde o seu futuro chefe pode ver o quão bom profissional você é. Isto também vale para posts e textos técnicos que poderiam estar em locais melhores como blogs pessoais, Medium, Wordpress, ou mesmo o Linkedin.

+ +

Não acho que grupos como o PHP Brasil devam deixar de existir mas sim que deveriam ser usados para divulgar posts, eventos, socialização entre os desenvolvedores.

+ +

O que você acha? Faz sentido ou estou sendo um velho resmungão que não entende as novas gerações de desenvolvedores?

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/index.html b/public/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/index.html new file mode 100644 index 0000000..6f94c1e --- /dev/null +++ b/public/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/index.html @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como React e Redux me Fizeram um Programador Melhor · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como React e Redux me Fizeram um Programador Melhor +

+

+ Oct 19, 2016 00:00 + · 1651 words + · 8 minute read + + + + + Carreira + + JS + + React + + Redux + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso.

+ +

+ +

Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato.

+ +

Abstrações são ótimas, elas podem facilitar muito as nossas vidas e aumentar nossa produtividade. Porém, é muito comum programadores ficarem presos às abstrações e esquecerem de aprender os fundamentos básicos referentes a tecnologia abstraída. Os programadores se prendem aos vícios das abstrações e ficam completamente dependente delas.

+ +

Existe esse meme clássico que exemplifica claramente isso:

+ +

+ +

É importante você saber pensar por fora das abstrações, para saber quando ou não utilizá-las.

+ +
+

Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego.

+
+ +

Como é o caso de inúmeras animações ainda feitas em jQuery, mas que facilmente poderiam ser substituídas por CSS.

+ +

+ +
+

Disclaimer: Antes de continuar este artigo, deixo claro que eu trabalhei mais de um ano com Angular, em grandes aplicações, antes de começar a trabalhar com React, e ainda trabalho com o mesmo em aplicações já em produção. Falo aqui como alguém que antes defendia muito o Framework e adorava trabalhar com ele.

+
+ +

Trabalhando com Angular e outros Frameworks, nós acabamos seguido p0r esse mesmo caminho, de pensar como resolver problema X com o framework, antes mesmo de pensar como poderíamos resolver sem ele.

+ +

Um claro exemplo que eu poderia dar, seria o angular.forEach. Nós poderíamos simplesmente utilizar Array.forEach, nativo do Javascript.

+ +

Eu sei que há casos em que você precisa iterar sobre um objeto e não um array, para isso, bastaria utilizar Object.keys(Array).forEach, também nativo. Mas com o Angular é mais cómodo, não é?

+ +

Nós não paramos por aí, utilizamos factory, service, session, value, constant, dependency Injection, *tudo isso específico do angular. Quando precisamos fazer uma integração específica, como integrar a aplicação com um serviço de websocket, utilizamos módulos como Angular Socket IO, ao invés de utilizar diretamente o socket.io-client. Aos poucos você olha para a sua aplicação e percebe que ela está totalmente acoplada e dependente do framework.

+ +

Você pode vir com o argumento que é possível deixar a aplicação menos acoplada e que esses módulos na maioria das vezes só lidam com a natureza assíncrona do Angular. Mas tentar deixar o Angular menos acoplado, utilizando funções construtoras ao invés de factories e ai por diante, implica em ainda ter que implementar inúmeros workarounds ao longo do código, como por exemplo: $scope.$apply para sincronizar o digest cycle. Sem contar que esse não é o Angular way de trabalhar e seria considerado uma má prática.

+ +

E mesmo contornando essas dependências de inúmeras formas, no final do dia você ainda não conseguiria rodar nenhum teste unitário sem ter o Angular como dependência, pelo menos, não de uma forma viável.

+ +

Eu sei, peguei bastante no pé do Angular, mas justamente por ele ser um dos frameworks mais populares, por eu ter mais experiência com o mesmo, e porque utilizando-o como exemplo, é fácil expor os problemas que é se amarrar a um framework.

+ +

Ter um framework que cobre de ponta a ponta da sua aplicação é ruim, porque toda a aplicação tende a ser desenvolvida da maneira dele. Se amanhã surge uma lib que resolve uma parte do problema de uma maneira melhor que o seu framework, dificilmente você vai conseguir migrar somente uma responsabilidade para a lib, pelo menos, não de forma fluída.

+ +

Vemos esse mesmo tipo de opinião também no Backend. No post O fim da era dos frameworks full stack o Elton Minetto fala sobre o assunto.

+ +

O problema em si não é o Angular, mas todo framework que te força a trabalhar da maneira dele e que você precisa “comprar o pacote completo” para se beneficiar apenas de uma feature ou outra.

+ +

Arquitetura desacoplada

+ +

Agora que conseguimos entender o que é um cenário totalmente acoplado, fica mais fácil compreender as vantagens de uma arquitetura desacoplada.

+ +

Separation of concerns(SoC)

+ +

Brinquedo de LegoBrinquedo de Lego

+ +

Separation of Concerns, ou Separação de conceitos, termo cunhado por Edsger W. Dijkstra, em 1974.

+ +

No básico, se refere a identificar as responsabilidades que existem dentro de uma aplicação, isolá-las e delegá-las, de uma forma que fique claro o que cada parte do seu software faz e que fique claro onde deve ser feito cada coisa.

+ +

A adoção desse princípio traz inúmeras vantagens como: Facilidade na manutenção, facilidade para encontrar e resolver bugs e facilidade para compreender o software como um todo.

+ +

Utilizando corretamente esse conceito, fica fácil substituir determinada parte do seu software quando necessário.

+ +
+

Seu software deve parecer com um brinquedo de lego, onde você pode tirar uma peça amarela, colocar uma azul e ele continua funcionando, se limitando apenas a possuir as mesmas entradas e saídas.

+
+ +

Single Page Applications

+ +

Vamos tentar distinguir os aspectos e as responsabilidades dentro de uma SPA.

+ +

Nós podemos separar um SPA em três partes: State, View e Actions.

+ +

State

+ +

Todos os dados que existem dentro da nossa aplicação, desde os dados buscados por requests, até os dados definidos estaticamente no código.

+ +

View

+ +

Basicamente, é nosso HTML e CSS, que são renderizados de acordo com os dados que existem dentro da nossa aplicação.

+ +

Actions

+ +

São os eventos que ocorrem dentro da nossa aplicação, que poderão ou não alterar o State.

+ +

Podemos dividir esses eventos em duas categorias:

+ +

— Interação do usuário: Click em botão, entrada de dados em um formulário, etc…

+ +

— IO: Eventos de rede, como início e fim de um request.

+ +

A forma como cada uma dessas partes se integram é bem simples. O State fica responsável por armazenar os dados e entregá-los para a View. A View por sua vez, irá se renderizar de acordo com os dados que recebe do State. As Actions, ao ocorrerem, poderão causar uma alteração no State, que entrega os novos dados para View e assim segue esse ciclo.

+ +

Essas características podem ser vistas em qualquer SPA, independente da tecnologia em que seja desenvolvida. O problema é que muitos frameworks deixam essas três características totalmente acopladas, não sendo possível substituir o “responsável” por cada uma.

+ +

React

+ +

Entre as três características que vimos, o React se propõe a ser o responsável por apenas uma, a View. O React não se importa em como você controla seu State ou suas Actions, ele só recebe os dados através de suas props e interage com o DOM para renderizar a View.

+ +

Redux

+ +

Ao contrário do React, o Redux é alheio a sua camada de View, ele fica responsável apenas pelo State e pelas Actions da sua aplicação, dando a você total poder de escolha em relação a View.

+ +

+ +

A Store do Redux disponibiliza três métodos para interação com o State através de sua API pública:

+ +

subscribe

+ +

Esse método permite que você adicione um listener à Store, que será chamado, toda vez que houver uma alteração no State.

+ +

dispatch

+ +

Através desse método, você dispara as Actions.

+ +

getState

+ +

Executando esse método, você receberá o State atual. Esse método é normalmente utilizado dentro dos listeners, para capturar o State após uma alteração ter ocorrido.

+ +

Com esses três métodos, é possível integrar o Redux com qualquer lib de renderização da View.

+ +

Analisando essas duas libs, nós conseguimos enxergar a forma como as suas se complementam e se integram uma com a outra e também conseguimos ver que mesmo se complementando, elas conseguem trabalhar de forma independente, deixando a aplicação muito menos acoplada.

+ +

Programação Funcional

+ +

O Redux é baseado em conceitos de programação funcional, como imutabilidade e funções puras. É através dessas funções que nós manipulamos o State. As funções em questão são os reducers, que possuem a seguinte assinatura:

+ +
(currentState, action) => newState
+
+ +

Observando a estrutura acima, percebemos que não precisamos depender do Redux para escrever nossos testes unitários, uma vez que você só precisaremos chamar um Reducer, passando um objeto para simular o State atual e um outro objeto que será a Action, e fazer uma asserção com o valor de retorno.

+ +

O mesmo vale para o teste de Action Creators, que também devem ser funções puras.

+ +

Na documentação do Redux, há uma sessão dedicada a escrita de testes, vale a pena conferir.

+ +

Os conceitos de programação funcional que o Redux traz, ajuda muito a expandir nosso conhecimento e nossa forma de pensar como escrevemos nossa lógica, além de ser porta de entrada para muita gente nesse novo paradigma.

+ +

O Redux e o React se baseiam numa arquitetura de fluxo dados uni-direcional, o que nos dá um controle bem maior, e não cria dificuldades na hora de integrarmos uma nova lib ao projeto.

+ +

Ainda sobre React

+ +

O React nos induz a desenvolver nossa aplicação orientada a componentes, fazendo com que o reaproveitamento de código seja bem efetivo e tornando nossa aplicação muito mais modular.

+ +

Além disso, podemos contar com inúmeras ferramentas que melhoram nosso workflow, como o React Hot Loader, que nos concede uma experiência de desenvolvimento muito rica, e o React Storybook, que nos permite desenvolver nossos componentes de forma isolada, nos dando um controle que até então não tínhamos no Frontend.

+ +

Por que React e Redux nos fazem ser programadores melhores?

+ +

Em um resumo geral, React e o Redux nos ensinam a pensar em nossas aplicações de forma modular nos induzindo a identificar e separar as responsabilidades de uma forma bem intuitiva. A facilidade que o React traz para trabalharmos com componentes, nos conduz a os separá-los de uma forma melhor, o que por si só já resulta em um reaproveitamento maior do código. A forma como cada lib se contém a sua responsabilidade, nos permite aprender a desenvolver aplicações de uma forma desacoplada. Os conceitos que o React e o Redux introduzem, traz um ganho sem tamanho para nós desenvolvedores.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/como-usamos-o-slack-na-coderockr/index.html b/public/posts/2016/como-usamos-o-slack-na-coderockr/index.html new file mode 100644 index 0000000..e64db70 --- /dev/null +++ b/public/posts/2016/como-usamos-o-slack-na-coderockr/index.html @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como Usamos o Slack na Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como Usamos o Slack na Coderockr +

+

+ Jul 21, 2016 00:00 + · 452 words + · 3 minute read + + + + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Dentre os valores da Coderockr estão dois pontos importantes: cooperação e transparência. Como somos uma empresa que desenvolve software nada mais esperado do que usarmos aplicativos para ajudar nestes objetivos. E hoje a principal ferramenta para isso é o Slack, que rapidamente tornou-se o coração de muitas empresas

+ +

Nós usamos o Slack como o nosso canal de comunicação, tanto entre as equipes quanto com os clientes. Cada projeto recebe um canal específico, como no exemplo abaixo:

+ +

+ +

Os canais que eu ocultei são relativos a projetos de clientes, já os canais “planrockr” e “timerockr” são projetos da Coderockr. Um destaque aqui é o canal “exceptions” onde todos os projeto enviam os erros que acontecem. Vou comentar mais sobre isso abaixo.

+ +

Projetos maiores ganham uma organização separada:

+ +

+ +

Neste exemplo dividimos melhor os assuntos entre as equipes de “backend”, “frontend”, “testing” e por localização, como a “joinville”, já que temos equipes trabalhando em outras cidades. No canal “devops” encontram-se as mensagens geradas pelas ferramentas de teste e deploy que vou citar abaixo.

+ +

A parte da colaboração é fácil de entender no Slack, mas e quanto ao ponto “transparência” que eu comentei lá no começo? Nós usamos o Slack para centralizar todos os fatos relevantes que acontecem nos projetos, através de integração de ferramentas. Alguns exemplos de integrações que usamos:

+ +
    +
  • Jira envia para o canal #devops a criação de novas tarefas, a mudança de status (To Do, Doing, Done, etc). O mesmo para os projetos onde usamos o Trello

  • + +
  • Github (ou o Bitbucket) envia para o canal #devops (ou o canal do projeto) a criação de Pull Requests, commits, branches

  • + +
  • O DeployBot envia para o #devops o resultado do deploy para um dos ambientes como homolog ou produção

  • + +
  • O Codacy envia para o #devops a nota do commit que o desenvolvedor acabou de enviar para o repositório

  • + +
  • O Buildkite avisa, também em #devops ou no canal do projeto, o resultado do build de determinada funcionalidade

  • + +
  • Algum erro acontece em um dos servidores e este erro é enviado direto para o canal #exceptions. Como a maioria dos nossos servidores usa PHP usamos o componente Monolog para fazer isso. Apresentei uma palestra sobre isso recentemente

  • +
+ +

Também é possível criar comandos dentro do Slack para que ele execute tarefas para você:

+ +

+ +

Rapidamente o Slack se tornou uma ferramenta indispensável para nós e temos ótimos resultados com ela. E você, como usa a ferramenta? Quer compartilhar outros truques e dicas?

+ +

Se você quer saber mais detalhes sobre a metodologia de trabalho que criamos na Coderockr confira nossa série de videos sobre o “Coderockr Way”. E se procura uma ferramenta para tornar seus projetos ainda mais inteligentes não deixe de conferir o http://planrockr.com

+ +

Originally published at eltonminetto.net on July 22, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/conhecendo-o-basico-do-redux/index.html b/public/posts/2016/conhecendo-o-basico-do-redux/index.html new file mode 100644 index 0000000..646a7bb --- /dev/null +++ b/public/posts/2016/conhecendo-o-basico-do-redux/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Conhecendo o Básico do Redux · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Conhecendo o Básico do Redux +

+

+ Jun 22, 2016 00:00 + · 786 words + · 4 minute read + + + + + Desenvolvimento + + JS + + React + + Redux + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Redux é um container de estados previsível para aplicações javascript, mas o que isso significa?

+ +

+ +

Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios:

+ +

1. Single source of truth (SSOT)

+ +

Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. Qualquer acesso ao state, é feito através de referência ao dado armazenado na store. Essa prática evita que você tenha dados duplicados, e uma vez que um dado é atualizado, a alteração se propaga para toda a aplicação.

+ +

2. State is Read-only

+ +

A única forma de alterar o estado da sua aplicação é emitindo uma action, um objeto descrevendo o que aconteceu.

+ +

Para acessar o state, você pode utilizar o método getState da store, o mesmo retorna todo o estado da aplicação, mas somente para a leitura.

+ +

Para escutarmos as alterações do state, utilizamos o método subscribe da store, passando como parâmetro um listener, da seguinte forma:

+ +
let unsubscribe = store.**subscribe**(() => {
+  //executa a cada alteração no state
+  const state = store.**getState**();
+});
+
+unsubscribe(); //canceling listener
+
+ +
+

Como podemos ver no exemplo acima, quando quisermos cancelar o listener, basta chamar o retorno do método subscribe como uma função.

+
+ +

Quando precisamos fazer uma alteração no state, a mesma precisa ser “solicitada” através de uma action, um objeto contendo obrigatoriamente um type e opcionalmente um payload(conteúdo). O type é um identificador para a action e o payload é o conteúdo a ser enviado junto a ela, conforme o exemplo abaixo:

+ +
{
+  type: 'ADD_CONTACT',
+  name: 'Jon Snow',
+  email: 'youknownothing@jonsnow.com'
+}
+
+ +

como é possível observar acima, essa é uma action to tipo ADD_CONTACT, e leva com ela os dados necessários para incluir esse contato ao nosso state.

+ +

É comum utilizarmos action creators para criarmos nossas actions, que são simplesmente funções que esperam parâmetros específicos e devolvem um objeto formatado, conforme o exemplo abaixo:

+ +
const addContact = (name, email) => {
+  return {
+    type: 'ADD_CONTACT',
+    name,
+    email
+  }
+};
+
+ +

para disparar uma action, utilizamos o método dispatch da store:

+ +
dispatch(addContact('Jon Snow', 'youknownothing@jonsnow.com'));
+
+ +

3. Changes are made with Pure functions

+ +

Para descrever como o state da aplicação será alterado pelas actions, nós escrevemos pure reducers.

+ +

Reducers são funções que são chamadas toda vez que uma action é disparada e recebem como parâmetros o state atual e a action, e devolvem um novo state.

+ +

É importante ressaltar que um reducer deve ser, obrigatoriamente, uma função pura. Dado os mesmos parâmetros, um reducer deve sempre devolver o mesmo resultado e não pode se basear em nada que esteja além do seu próprio escopo para chegar nesse resultado. Para quem quiser se aprofundar um pouco mais em conceitos funcionais, eu indicaria dar uma conferida no post do Matheus Lima sobre programação funcional em Javascript.

+ +

Considerando que nossos reducers devem ser funções puras, vamos implementar nossa lógica de adicionar um novo contato ao nosso state:

+ +
const reducer = (state = {}, action) => {
+  if (action.type === 'ADD_CONTACT') {
+
+    return {
+      ..state,
+      contactCollection: [
+        ...state.contactCollection,
+        {
+          name: action.name,
+          email: action.email
+        }
+      ]
+    };
+  }
+}
+
+ +

como é possível ver no exemplo acima, nosso reducer verifica se a action é tipo ADD_CONTACT, e se ela realmente for, ele retorna um novo state, incluindo o novo contato.

+ +

É importante que, para poder aproveitar ao máximo do redux, você trabalhe com imutabilidade. No exemplo acima, nós não fazemos um push do novo contato dentro da contactCollection, e sim retornamos uma nova contactCollection. Esta possui os mesmos contatos da anterior, mas contém o novo contato. Desta forma preservamos o state anterior e nos mantemos dentro da premissa de read-only state. Como Imutabilidade é um dos princípios base dos redux, aconselho assistir a palestra do William Huang no RSJS2016 Quando os dados imutáveis mudam tudo, que explica de uma forma prática imutabilidade em Javascript.

+ +

Seguindo esses três princípios da forma correta, você conseguirá escrever aplicações previsíveis de uma forma simples.

+ +

Nesse post arranhamos apenas a superfície do redux, nos próximos posts vou aprofundar mais em cada conceito.

+ +

O ReduxJS é uma lib em JS que implementa o redux em apenas 2kb. Ele conta com uma ótima documentação, onde é descrito em detalhe cada feature do redux. Se você pretende se aprofundar, a documentação é um bom lugar para começar.

+ +

No próximo post vou abordar uma forma de trabalhar com actions assíncronas, para fazer requisições para APIs.

+ +

A princípio, redux pode parecer complicado por ser diferente dos padrões de arquitetura que estamos acostumados, mas assim que você aprende, o céu é o limite.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/developer-experience-na-pratica/index.html b/public/posts/2016/developer-experience-na-pratica/index.html new file mode 100644 index 0000000..5d70fa1 --- /dev/null +++ b/public/posts/2016/developer-experience-na-pratica/index.html @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Developer Experience na Prática · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Developer Experience na Prática +

+

+ Jul 14, 2016 00:00 + · 447 words + · 3 minute read + + + + + Desenvolvimento + + API + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares.

+ +

Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. E a escolha do Stripe para esta vantagem foi exatamente ser voltada aos desenvolvedores.

+ +

A diferença começa pelos sites dos dois concorrentes. Navegando pelo site do Paypal é possível ver que ele é focado em quem quer vender e comprar usando a ferramenta.

+ +

Um exemplo banal. Veja o número de cliques que eu precisei fazer no site do Paypal até encontrar alguma documentação técnica e exemplos de código:

+ +

+ +

Agora compare o mesmo procedimento no site do Stripe:

+ +

+ +

Estou a apenas um clique de um exemplo funcional de código no site do Stripe!

+ +

A API do Paypal não é ruim, mas é confusa. Existem diversas opções, diversos sites e formas de acessar a mesma coisa. A documentação do Stripe é muito mais rápida e prática:

+ +

+ +

Nesta mesma tela eu posso ver exemplos de implementação em diversas linguagens de programação. O Paypal também tem algo parecido:

+ +

+ +

mas ao selecionar uma linguagem eu sou redirecionado a uma página do Github com um exemplo. A forma como o Stripe faz é muito mais simples.

+ +

Quanto ao Github ambas as empresas estão de parabéns por manterem diversos exemplos e bibliotecas como open source. Novamente o Stripe ganha alguns pontos extras por usar alguns padrões e linguagens mais novas, mas é muito bom poder ter acesso a códigos e poder colaborar com os mesmos.

+ +

Claro que uma decisão como “selecionar o gateway de pagamentos da minha empresa” leva em conta mais itens do que apenas a experiência do desenvolvedor, mas isso é importante. Todos os clientes da Coderockr que passaram por esta decisão nos consultaram sobre as empresas e nossa opinião foi crucial na escolha. E eu levei isso em consideração ao escolher o Stripe para o sistema de assinaturas do Planrockr.

+ +

Além do exemplo dos gateways de pagamento outros casos similares podem ser apontados, como a Digital Ocean, o Slack e a brasileira Umbler. Todas são reconhecidas por inovarem em seus negócios ao focar em facilitar o trabalho dos desenvolvedores. Fica a dica para empresas que querem destacar-se em suas áreas.

+ +

Você lembra de mais algum exemplo parecido? Não concorda com a minha visão? Contribua com seus exemplos e opiniões nos comentários. E se gostou do post por favor clique no “coraçãozinho” para este texto chegar a mais pessoas ;)

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/doctrine-2-contribution-touch/index.html b/public/posts/2016/doctrine-2-contribution-touch/index.html new file mode 100644 index 0000000..528514f --- /dev/null +++ b/public/posts/2016/doctrine-2-contribution-touch/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Doctrine 2 - Contribution Touch · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Doctrine 2 - Contribution Touch +

+

+ Feb 22, 2016 00:00 + · 1035 words + · 5 minute read + + + + + Desenvolvimento + + Doctrine + + PHP + + + + +

+

by Jean Carlo Machado

+
+ +
+ + +

One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil.

+ +

But the purpose of this post is to elaborate on some experience I got from collaborating to it till now. I have almost a year in front of me to be an impactful Doctrine 2 developer, so for now don’t expect great achievements.

+ +

The majority of the results worth noting are on myself. Firstly I read the docs. Not all of it till now, but all of the Common, DBAL, and the major part of the ORM. This rendered me some nice insights on Doctrine that I didn’t have previously.

+ +

Some examples of things I learned thought the documentation are described below. For the more experienced developers some of the things I found where might not be any news, but I’m currently on my first project using doctrine ORM, so I got some surprises on the docs.

+ +

Debugging Doctrine Entities

+ +

Each doctrine entity have lots of things appended to it, so a simple var_dump on them will probably overflow your memory. Thinking on that, the Commom package provides a debug function that can be used as showed below:

+ +
Doctrine\Common\Util\Debug::dump()
+
+ +

Don’t call persist on managed entities

+ +

After a find, for example, you don’t need to call persist to flush the entity state since the entity is already on Doctrine map of managed entities.

+ +
<?php
+$user = $entityManager->find("Person", 1);
+$user->setName("Foo");
+$entityManager->flush();
+
+ +

Know the size of your UnitOfWork

+ +

A too big UnitOfWork will result in high writing times. So is good for the developer to keep in mind it’s current size. To do so the developer can use the method described below.

+ +
$uowSize = $em->getUnitOfWork()->size();
+
+ +

Use abbreviations on CLI

+ +

Doctrine’s CLI interface supports abbreviations. Finally I understood the why of those ugly separators on the words.

+ +

An example:

+ +
doctirne-bin o:v
+
+ +

To mean:

+ +
doctirne-bin orm:validate-schema
+
+ +

So this are some tips I got from reading the docs. There’s a lot more there than what I registered here, certainly worth reading. From reading the docs I found some mistakes there, basically broken links. So I fixed those, in the ORM and on DBAL. It was not as simple as you might think, the docs uses Sphinx to compile the Web and an PDF version. So I had to learn how to setup Spinx and a little bit of it’s syntax. These fixes rendered me two pull requests, so from it forward I’m a real contributor of Doctrine project.

+ +

After the docs I started studying the code. Mainly the ORM’s one. From it I got lots of insights as well. A major one is related to the tests suite performance. Doctrine ORM has about 3k tests and runs on 10s, on Compufácil we have 800 tests which take 40 seconds. Really there’s room for improvement. Mainly related to the use of mocks based on interfaces instead of testing directly on the implementations.

+ +

Another tip I got, probably an obvious one, but i didn’t know anyway, is the use of phpunit’s fail.

+ +

Use fail

+ +

Fail as the name suggests is an API for the developer to say that an test failed. Before knowing it used to write:

+ +
static::assertTrue(false);
+
+ +

But with it the code seems much more elegant, and supports an argument with the failure reason.

+ +
static::fail("Optionally with the reason of the failure");
+
+ +

Exception collections

+ +

From code inspection I also get an insight about how to organize exceptions. Doctrine uses a single class for many related exceptions instead of using a single one for for a single exception like I used to do.

+ +

An example of this pattern is the file lib/Doctrine/ORM/ORMException.php. They use static functions to tweak the message and code of the returning instance. Like a factory method.

+ +

Inspecting some pull requests I found this link explaining better this pattern usage.

+ +

After some code inspection I started to look on something to code. Firstly I looked at the issues, but the majority of them seemed to much for me to take as a first code contact. So I went to check the pull requests, and there I found a mine of gold. There’s lots of pull requests with the tag missing tests, this is a good opportunity for guys like me trying to enter Doctrine’s development.

+ +

I looked for some older pull requests with missing tests (so I’m almost sure that developers will not bother if I stared adding code in their pull requests, since they probably already forgot about them). And I found some, like an pull request about the criteria API not working on not owning sides. I added a test to it and, after some time of wait it was accepted without any complains. So for this point on I’m actually an developer contributor of Doctirne’s 2 \0/.

+ +

After that I added another test about an exception that is yet to be approved but probably will. Inspecting pull requests I found a PR relating to a problem that where already fixed, so I commented on it and it was removed from the list of open pull requests as well.

+ +

It’s too early for me to consider this journey a successful one but I already learned a lot about open source, about Doctrine, about the rigorous git workflow of it. An I’ve been able to help Doctrine, even if on a small scale. I hope that in a near future I’ll be able to do even greater improvements on this wonderful project.

+ +

So if I could give an council, even if I’m not a too successful example, for people expecting to enter open source development. Start small, probably by the documentation. And follow to the pull requests, look if there are some old (probably abandoned one’s) which you can do a simple improvement. After that follow to the simple issues, and keep going.

+ +

That’s it. Thanks for your attention.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/dx-developer-experience/index.html b/public/posts/2016/dx-developer-experience/index.html new file mode 100644 index 0000000..c5773be --- /dev/null +++ b/public/posts/2016/dx-developer-experience/index.html @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DX — Developer Experience · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ DX — Developer Experience +

+

+ Jun 16, 2016 00:00 + · 689 words + · 4 minute read + + + + + Desenvolvimento + + API + + TDD + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post.

+ +

E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso.

+ +

Mas esquecemos que os primeiros usuários de qualquer sistema são os desenvolvedores e designers que o estão criando e que vão continuar evoluindo e dando manutenção nele por muito tempo. Então precisamos também pensar na experiência que estes importantes usuários tem.

+ +

Pensando nisso alguns tópicos vem a mente, como:

+ +

Testes

+ +

Se você não incentiva sua equipe a escrever testes pois acha que isso vai diminuir a velocidade das entregas você está completamente enganado. Ao escrever os testes, preferencialmente antes da própria funcionalidade (TDD!), o desenvolvedor consegue pensar em caminhos e possibilidades bem mais complexas do que o normal. Nada é mais frustrante do que precisar alterar algum projeto escrito sem testes, sem a tranquilidade saber que o software pode evoluir e não quebrar no processo. Testes são uma documentação viva do sistema, de como ele deve funcionar. E aumentam muito a qualidade da equipe.

+ +

Automações

+ +

Desenvolvedores são pessoas criativas, apesar da opinião pública contrária. Não gostamos de realizar tarefas repetitivas, massantes. Precisamos automatizar processos para podermos focar na criação de algoritmos e soluções para problemas e novas funcionalidades. Criar scripts e ferramentas de automação faz parte do trabalho de toda equipe de desenvolvimento.

+ +

Ferramentas atualizadas

+ +

As linguagens de programação, plataformas, arquiteturas, metodologias e ferramentas estão em constante evolução. Desenvolvedores conscientes estão sempre atualizados com isso e tendem a usar sempre o que existe de mais moderno e que pode tornar seu trabalho mais eficaz. Claro que é preciso evitar o uso de ferramentas instáveis ou “da moda” apenas pelo prazer da novidade, mas cortar completamente a possibilidade de evolução é algo que diminui bastante o desempenho e animação dos desenvolvedores.

+ +

Documentação

+ +

Geralmente as empresas pensam na documentação do projeto/produto para seus usuários e com isso criam-se FAQs, wikis, videos, posts em blog, etc. O mesmo pode ser feito para a equipe de desenvolvimento, geralmente pela própria equipe. Fornecer tempo para que isso seja feito, bem como ferramentas e ambientes, vai melhorar a evolução do projeto e inclusão de novos desenvolvedores.

+ +

APIs

+ +

Uma coisa que as vezes esquecemos é que o I em API é de “Interface”… E a mesma dedicação que investimos na interface dos usuários, com cuidados quanto a cores, fontes, posicionamentos, etc, precisamos dedicar na criação das nossas APIs. Sejam APIs que vão ser usadas pela própria equipe ou por equipes de terceiros é sempre importante pensarmos em URIs e formatos que façam sentido, que auxiliem o desenvolvimento. Como o grande Guilherme Blanco cita:

+ +
+

“API is a way to communicate w/ your app/platform/etc. SDK is when you create such a shitty API that requires a lib for peep to use it” (me)

+
+ +

https://twitter.com/guilhermeblanco/status/740971604465856512

+ +

Open Source

+ +

A grande maioria dos desenvolvedores aprendeu e continua aprendendo graças a projetos Open Source. Desde linguagens de programação até frameworks e bancos de dados, essa é uma parte importante de quem somos. Incentivar o uso e contribuição em projetos open source vai aumentar o ânimo da equipe, fomentar o conhecimento e também serve como fonte de divulgação do projeto/produto/empresa. Se durante o desenvolvimento a equipe identificar algo que pode se tornar open source, sem prejudicar o negócio, isso é algo que pode ser uma grande fonte de reconhecimento e publicidade.

+ +

Estes são apenas alguns dos pontos que conseguimos pensar no momento, mas assim como a UX, a DX é uma disciplina bem maior e que deveria ter dedicação e importância dentro das empresas.

+ +

O que você acha? Tem algum outro ponto que percebe como importante neste processo? Discorda com isso tudo? Adoraríamos ler suas opiniões sobre o assunto.

+ +

Este post foi escrito em conjunto com o Guilherme, que tem todos os créditos pelo termo DX e pelas cervejas que geraram o assunto :)

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/estimativa-baseada-em-evidencias/index.html b/public/posts/2016/estimativa-baseada-em-evidencias/index.html new file mode 100644 index 0000000..c828eb1 --- /dev/null +++ b/public/posts/2016/estimativa-baseada-em-evidencias/index.html @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Estimativa Baseada em Evidências · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Estimativa Baseada em Evidências +

+

+ Jun 2, 2016 00:00 + · 607 words + · 3 minute read + + + + + Desenvolvimento + + Metodologias + + Gerenciamento de Projetos + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

As pessoas, salvo alguns místicos, não são muito boas em prever o futuro.

+ +

[https://www.flickr.com/photos/pasukaru76/3998273279/](https://www.flickr.com/photos/pasukaru76/3998273279/)https://www.flickr.com/photos/pasukaru76/3998273279/

+ +

Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las.

+ +

Vamos fazer uma simples “conta de padaria” e imaginar o seguinte cenário:

+ +
+

Dado um projeto a ser entregue o gerente de projetos, junto com a equipe de preferência, dividiu as funcionalidades em um número de tarefas, digamos 200. Sabe-se que a equipe consegue entregar 20 tarefas por semana, então o projeto seria finalizado em 10 semanas.

+
+ +

Fácil! Calma jovem Padawan, calma, a vida não é tão simples…

+ +

O que pode acontecer nesse cenário:

+ +
    +
  • Novas tarefas podem surgir durante o desenvolvimento

  • + +
  • Bugs podem ser encontrados

  • + +
  • As tarefas não são todas do mesmo tamanho/complexidade

  • + +
  • Novas pessoas podem entrar ou sair da equipe, mudando a velocidade das entregas

  • + +
  • Um apocalipse zumbi pode acontecer e os backend developers tornam-se consumidores de cérebro humano

  • +
+ +

Quanto ao último item pouco podemos fazer, além de estocar armas e comida em casa, mas os outros podem ser mitigados.

+ +

Como sabemos que novas tarefas/bugs podem surgir durante o desenvolvimento, vamos considerar uma margem de erro e assumir que o número de tarefas seja entre 200 e 240, por exemplo.

+ +

Para o problema das tarefas não serem todas da mesma complexidade podemos adotar uma regra simples: nenhuma tarefa deve demorar mais do que X horas para ser entregue. Na Coderockr adotamos 16 horas, ou seja, nenhuma tarefa demora mais do que 2 dias para ser finalizada. Claro que algumas ainda são bem menores do que 2 dias, mas desta forma temos uma diferença pequena entre elas e não uma tarefa que demora 1 hora e outra 3 dias.

+ +

Quanto a velocidade do time, também podemos assumir uma margem de erro. Digamos que a equipe entrega entre 20 e 30 tarefas por semana, assim temos uma variação que contempla coisas como computadores com problemas, faltas por doença, feriados, etc.

+ +

Ok, mas agora como usar isso tudo no nosso cálculo? Simples:

+ +

[https://www.flickr.com/photos/lisabrideau/with/5213615948/](https://www.flickr.com/photos/lisabrideau/with/5213615948/)https://www.flickr.com/photos/lisabrideau/with/5213615948/

+ +

Não, não vou sugerir que você largue tudo e vá tentar a sorte em Las Vegas, apesar de eu já ter cogitado isso algumas vezes…

+ +

Vamos usar uma técnica chamada “Método de Monte Carlo”. Segundo a Wikipedia são:

+ +
+

… métodos estatísticos que se baseiam em amostragens aleatórias massivas para obter resultados numéricos, isto é, repetindo sucessivas simulações um elevado numero de vezes, para calcular probabilidades heuristicamente, tal como se, de facto, se registrassem os resultados reais em jogos de casino (daí o nome)

+
+ +

Vamos pegar estes dados e realizar diversas simulações de possíveis cenários, digamos 1000, e contamos a probabilidade deles acontecerem. Com isso podemos ter algo similar a isso:

+ +

+ +

Conforme as semanas vão passando e as tarefas sendo entregues, a equipe pode ir atualizando este gráfico usando os dados mais precisos e acompanhando os resultados. Quanto mais dados ou evidências tivermos, mais preciso este método vai se tornando e as equipes podem ir acompanhando sua evolução.

+ +

Quer testar esse método? Criamos um site para facilitar isso, o http://www.estimeoprazo.com.br. Nele é possível inserir os dados de número de tarefas e entregas e a tabela acima é apresentada com as suas estimativas. E se você quiser tornar isso ainda mais automático estamos implementando essa funcionalidade na nova versão do iMasters Planrockr, por isso cadastre-se agora e em breve você vai ter acesso aos seus dados na forma de um widget:

+ +

+ +

O que acha deste método? Você já vem usando ele ou tem alguma sugestão de melhoria? Adoraríamos ouvir suas experiências.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/index.html b/public/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/index.html new file mode 100644 index 0000000..633330f --- /dev/null +++ b/public/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/index.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gerando Code Coverage com PHPUnit e phpgbg · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Gerando Code Coverage com PHPUnit e phpgbg +

+

+ Aug 29, 2016 00:00 + · 507 words + · 3 minute read + + + + + Desenvolvimento + + PHP + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit.

+ +

É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo:

+ + + +

Desta forma será criado o diretório tests/_reports com uma série de informações úteis. No diretório coverage-html podemos ver detalhes da cobertura de testes dos códigos, facilitando a análise. O arquivo clover.xml é uma versão desta mesma informação para ser processada por serviços como Jenkins, CodeCov, Coveralls, Codacy, etc, para automatizarmos alertas e scripts.

+ +

Para estas informações serem geradas além de alterarmos o phpunit.xml é necessário que instalemos a extensão XDebug. O problema é que ao fazermos isso temos uma queda considerável de performance. Confira o resultado da execução dos testes sem a geração dos relatórios:

+ + + +

Habilitando o XDebug e rodando novamente teremos uma surpresa:

+ + + +

O tempo de execução pulou de 1.08 para 22.26 minutos!

+ +

Depois de algumas pesquisas pela internet cheguei a este post e resolvi testar o phpdbg.

+ +

Como estou usando o MacOS X para este teste eu executei os comandos abaixo para instalar todas as dependências que eu necessito.

+ + + +

A diferença principal é o parâmetro –with-phpdbg usando na instalação do php7.

+ +

Seguindo este post do Sebastian Bergmann, criador do PHPUnit eu cheguei a sintaxe para rodar o teste novamente:

+ +

phpdbg -qrr ./vendor/bin/phpunit

+ + + +

1.59 min é um tempo bem melhor do que os 22.26 usados pelo XDebug.

+ +

Na empolgação eu comentei isso no Twitter, antes mesmo de escrever este post:

+ +

+ +

Se você observar, quem respondeu foi ninguém menos do que o criador do XDebug! Levando isso em conta fiz a comparação entre os resultados gerados pelo XDebug e o phpdbg.

+ +

Abaixo a comparação do coverage-html gerado pelo XDebug (na esquerda) e o phpdbg (na direita da imagem).

+ +

+ +

Usei a ferramenta CodeCov para processar o arquivo clover.xml e o resultado também foi ligeiramente diferente:

+ +

*phpdbg*phpdbg

+ +

XDebugXDebug

+ +

Segundo o relatório gerado pelo phpdbg o Planrockr está com 66,05 % de cobertura de códigos. Já o XDebug apresenta o resultado de 65,92 %.

+ +

Algumas conclusões que posso tirar deste pequeno teste:

+ +
    +
  • O XDebug é uma ferramenta incrível e faz muito mais do que gerar cobertura de código, por isso não estou aqui dizendo que deveríamos parar de usá-la. Aqui estou apenas comparando um dos seus recursos

  • + +
  • Eu estou comparando o resultado “de fábrica”, sem fazer ajustes em configurações do XDebug ou do phpdbg, por isso resultados diferentes podem acontecer em outros cenários

  • + +
  • Apesar da diferença de resultados entre os dois relatórios a diferença de performance compensa o uso do phpdbg no meu caso.

  • +
+ +

Vou seguir usando o phpdbg por mais tempo e se algum novo resultado aparecer nas próximas semanas eu atualizo este post, ou gero outro relatando o aprendizado.

+ +

E se eu estou errado em minhas conclusões por favor me avisem que terei o maior prazer em me retratar :)

+ +

Originally published at eltonminetto.net on August 30, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/gerando-documentacao-de-apis/index.html b/public/posts/2016/gerando-documentacao-de-apis/index.html new file mode 100644 index 0000000..a9ee1ee --- /dev/null +++ b/public/posts/2016/gerando-documentacao-de-apis/index.html @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gerando documentação de APIs · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Gerando documentação de APIs +

+

+ May 31, 2016 00:00 + · 329 words + · 2 minute read + + + + + Desenvolvimento + + API + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto.

+ +

Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. Estamos usando o Swagger em um grande projeto, mas eu estava a procura de algo mais simples para ser usado no Planrockr e encontrei o APIDOC.

+ +

Trata-se de um aplicativo escrito para o NodeJS que lê anotações nos seus códigos e gera uma documentação em HTML bem simples mas eficaz. Além das linguagens que usam o formato Javadoc Style ( C#, Go, Dart, Java, JavaScript, PHP, TypeScript) ele consegue gerar documentação em arquivos CoffeeScript, Elixir, Erlang, Perl, Python e Ruby.

+ +

Para instalar a ferramenta é necessário ter instalado o gerenciador de pacotes do NodeJS, o npm e rodar o comando: +> npm install apidoc -g

+ +

No site oficial é possível ver todas as anotações disponíveis, mas abaixo um exemplo de uma documentação do Planrockr: +

+ +

O próximo passo é criar na raiz do seu projeto um arquivo chamado apidoc.json com algumas configurações básicas:

+ + + +

E para gerar a documentação basta executar:

+ +
apidoc -c apidoc.json -i . -e backend/vendor -e planrockr-backend/frontend/bower_components -o ./apidoc
+
+ +

Para ver as opções do comando é só usar o comando +> apidoc — help

+ +

Alguns exemplos da documentação gerada:

+ +

+ +

+ +

Além de ser bem bonita e fácil de acessar é possível incluir a sua geração em um script de commit, build ou deploy. E por suportar várias linguagens é fácil manter uma documentação unificada e gerada automaticamente.

+ +

O que você vem usando para esta tarefa? Se tiver outra sugestão por favor complemente aqui nos comentários.

+ +

Originally published at eltonminetto.net on June 1, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/gerenciando-rotas-com-react-router/index.html b/public/posts/2016/gerenciando-rotas-com-react-router/index.html new file mode 100644 index 0000000..43ff9dd --- /dev/null +++ b/public/posts/2016/gerenciando-rotas-com-react-router/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gerenciando Rotas com React Router · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Gerenciando Rotas com React Router +

+

+ Sep 5, 2016 00:00 + · 1036 words + · 5 minute read + + + + + Desenvolvimento + + JS + + React + + Programação Funcional + + Arquitetura + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente.

+ +

React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript.

+ +

A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário.

+ +

Ela possui features como: Rotas aninhadas, lazy loading de componentes, matching para rotas dinâmicas e controle de transição de rotas, além de possuir suporte a server-rendering.

+ +

Para utilizá-la, basta instalar utilizando o npm:

+ +
npm install react-router --save
+
+ +

Em nosso exemplo abaixo, podemos ver como ficaria a estrutura básica para uma aplicação de agenda de contatos. Essa aplicação possuirá duas telas: uma tela para a listagem dos contatos e outra tela para a visualização detalhada do contato.

+ +

Teremos quatro componentes:

+ +
    +
  • App — O componente container da nossa aplicação.

  • + +
  • ContactList — Nossa lista de contatos.

  • + +
  • ContactDetail — Nosso componente de visualização de detalhes do contato.

  • + +
  • NotFound — Nossa página 404.

  • +
+ + + +
+

No exemplo acima, os componentes estão no mesmo arquivo apenas para fins didáticos. É uma boa prática manter apenas uma definição de componente por arquivo.

+
+ +

No bloco abaixo, temos a definição de todas as nossas rotas. Os componentes que utilizamos para essa definição são o Router e o Route.

+ +

+ +

Router

+ +

Componente raiz da aplicação. Todas as rotas devem ser definidas dentro dele e deve existir somente um Router por aplicação.

+ +

O router espera receber o parâmetro history, que é o objeto que ele utilizará para o controle da transição das páginas. Esse objeto é diretamente importado do react-router, podendo ser o browserHistory ou o hashHistory.

+ +

Route

+ +

É cada rota da nossa aplicação. Espera como parâmetros as props:

+ +
    +
  • path — utiliza para fazer matching com a url.

  • + +
  • component — componente que será renderizado caso a url dê matching com o path.

  • +
+ +

O path aceita alguns formatos para definição da rota:

+ +
// Rota estática, ou fixa:
+path='contacts'
+
+// Rota com parâmetros:
+path='contacts/:id'
+
+// Rota com parâmetros opcionais:
+path='contacts(/:id)'
+
+ +

Os parâmetro passados pelas rotas chegam no componente através da propriedade params. No exemplo acima, poderíamos acessar o parâmetro id de dentro do componente respectivo à rota da seguinte forma:

+ +
componentDidMount() {
+  const id = this.props.params.id;
+  ...
+}
+
+ +

Outro formato aceito é utilizando o ***, **que funciona como um coringa:

+ +
**path=’*’**
+fará matching com todas as rotas
+
+**path='contacts/*'**
+fará matching com todas as rotas a partir de contacts.
+ex:
+ contacts/
+ contacts/example
+ contacts/123
+
+ +
+

Mais detalhes sobre os formatos suportados podem ser encontrados nesse link da docs.

+
+ +

Um ponto importante a ressaltar é que somente uma rota fará matching por vez, e a prioridade delas vem de cima para baixo. Por esse motivo, conseguimos fazer nossa página 404 apenas utilizando o path=’*’ e colocando ele abaixo de todas as rotas. Caso não for feito matching com nenhuma rota anterior, ele chega nessa rota e renderiza o component NotFound.

+ +

Rotas aninhadas

+ +

É comum em nossas aplicações utilizarmos rotas aninhadas. No nosso exemplo acima já estamos utilizando, mas talvez não tenha ficado evidente:

+ +
<Route path='**/**' component={App}>
+  <Route path='**contacts**' component={ContactList} />
+  ...
+</Route>
+
+ +

Nesse trecho, podemos observar que a rota contacts está aninhada a rota / que é nossa rota raiz.

+ +

Nossa rota raiz renderiza o componente App, que atualmente funciona apenas como um layout base da nossa aplicação.

+ +

Nele poderíamos colocar o rodapé, o menu e componentes que sempre estarão na tela, independentemente da rota em que estivermos.

+ +

+ +

Na imagem acima, na linha 7, acessamos a propriedade children que é inserida pelo react router no nosso componente. Nesse caso, children seria o componente respectivo a uma rota aninhada. Por exemplo:

+ +
// URL atual: 'http://app.myapp.com/**contacts**'
+
+<Route path='**/**' component={App}>
+  <Route path='**contacts**' component={**ContactList**} />
+  <Route path='contacts/:id' component={ContactDetail} />
+</Route>
+
+ +

Dada a url atual e a nossa configuração de rotas, o children do nosso componente App seria o componente ContactList.

+ +

Abaixo segue um layout que com frequência vemos em aplicações:

+ +

+ +

No layout acima, temos o menu superior e a sidebar que estarão em todas as telas e temos o conteúdo central, que mudará de uma rota para outra.

+ +

Nesse caso, poderíamos manter o Menu e a Sidebar no nosso componente App, renderizando o children ao centro.

+ +
render () {
+  return (
+    <div>
+      <Menu />
+      <Sidebar />
+      <section className='content-wrapper'>
+        {children}
+      </section>
+    </div>
+  );
+}
+
+ +

Em nosso exemplo da agenda, só utilizamos um nível de aninhamento de rota, mas é possível utilizar quantos forem necessários:

+ +
<Route path='/' component={App}>
+  <Route path='contacts' component={ContactList} />
+  <Route path='contacts:id' component={**ContactDetail**}>
+    <Route path='**calls**' component={**ContactCalls**} />
+  </Route>
+</Route>
+
+ +

Nesse exemplo acima, temos uma rota aninhada dentro da visualização do contato. Nessa rota iríamos mostrar, abaixo das informações do contato, uma lista de ligações feitas para o mesmo.

+ +

Quando a rota calls fizer matching, o componente ContactCalls estará disponível através da propriedade children do componente ContactDetail.

+ +

ContactCall fica como o children de ContactDetail que por sua vez é children de App.

+ +

Cat inceptionCat inception

+ + + +

O componente Link é utilizado para fazer a navegação das páginas. esse componente aceita os seguintes parâmetros:

+ +

to

+ +

O destino para o link, que pode ser passado em dois formatos, string ou objeto.

+ +

Em caso de string, deve ser o caminho absoluto para a página, ex:

+ +
<Link to='**/contacts/123**'>Contato 123</Link>
+
+ +

Em caso de objeto, pode conter os seguintes parâmetros:

+ +
{
+  **pathname**: 'String representando o caminho para o link',
+  **query**: 'Um objeto com chave valor dos parâmetros da url',
+  **hash**: 'Uma hash para colocar na URL, ex: #uma-hash.',
+  **state**: 'state a ser persistido para o location'
+}
+
+ +

activeClassName

+ +

className a ser inserido no link quando a url do link em questão estiver ativa. É uma forma fácil de estilizar seu link ativo no menu de navegação.

+ +

activeStyle

+ +

Bem parecido com o activeClassName, mas ao invés do className, aceita um objeto de estilos CSS.

+ +

Os demais atributos podem ser encontrado nesse link da docs.

+ +

Com esses componentes, já é possível construir uma aplicação baseada em rotas. Mas o controle de rotas não para apenas por aqui, há outras questões como rotas dinâmicas e controle de autenticação de usuário que eu pretendo abordar em posts futuros.

+ +

Para se aprofundar no tema, aconselho começar pela documentação que hoje se encontra no Github.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/integrando-mixpanel-com-react/index.html b/public/posts/2016/integrando-mixpanel-com-react/index.html new file mode 100644 index 0000000..f951f72 --- /dev/null +++ b/public/posts/2016/integrando-mixpanel-com-react/index.html @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrando Mixpanel com React · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Integrando Mixpanel com React +

+

+ Jul 28, 2016 00:00 + · 350 words + · 2 minute read + + + + + Desenvolvimento + + JS + + React + + Ferramentas + + + + +

+

by Vinicius Dacal

+
+ +
+

Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado.

+ +

Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc…

+ +

Procurei algumas abordagens em react e acabei encontrando o react-mixpanel

+ +
+

É possível fazer a integração em vanillaJS, sem utilizar uma lib própria para o React. Por conveniência e pela abordagem da lib, eu optei por utilizar o react-mixpanel

+
+ +

A abordagem dele é bem interessante, por fornecer acesso à API do mixpanel através do context dos components.

+ +

A instalação é bem simples. Antes de tudo, é preciso instalar as dependências:

+ +
npm i mixpanel-browser --save
+npm i react-mixpanel --save
+
+ +

Após instalar as dependências, precisamos importar os módulos e colocar o código de inicialização na nossa aplicação:

+ +
import mixpanel from 'mixpanel-browser';
+import MixpanelProvider from 'react-mixpanel';
+
+mixpanel.init('YOUR_TOKEN');
+
+ +

Caso você já tenha um id para o seu usuário, utilize o método identify para fazer o vínculo entre a sessão e o usuário cadastrado:

+ +
if (!mixpanel.people._identify_called()) {
+  mixpanel.identify(userId);
+}
+
+ +

Em seguida, nós precisamos colocar o MixpanelProvider como um wrapper da aplicação, passando para ele o nosso objeto mixpanel:

+ +
ReactDOM.render(
+  <MixpanelProvider mixpanel={mixpanel}>
+    <App/>
+  </MixpanelProvider>,
+  document.getElementById('app')
+);
+
+ +

Em cada componente que você for utilizar, é necessário declarar o mixpanel no contextTypes:

+ +
class App extends React.Component {
+  componentDidMount() {
+    this.context.mixpanel.track('App did mount.');
+  }
+
+  render() {
+    return <span>This is the app!</span>;
+  }
+}
+
+App.contextTypes = {
+  mixpanel: PropTypes.object.isRequired
+};
+
+ +

O disparo de eventos não se limita ao método componentDidMount. É possível dispará-los dentro de outro método, ou na resposta de uma promise por exemplo.

+ +

O objeto mixpanel que recebemos pelo context é o mesmo da docs do próprio mixpanel, assim como o método track que estamos chamando para disparar o evento. Para mais detalhes sobre o método track, acesse a docs do mixpanel.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/learning-the-basics-about-redux/index.html b/public/posts/2016/learning-the-basics-about-redux/index.html new file mode 100644 index 0000000..8ffba83 --- /dev/null +++ b/public/posts/2016/learning-the-basics-about-redux/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Learning the Basics About Redux · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Learning the Basics About Redux +

+

+ Jun 22, 2016 00:00 + · 730 words + · 4 minute read + + + + + Desenvolvimento + + JS + + React + + Redux + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Redux is a predictable state container for JavaScript Applications, but what does that mean?

+ +

+ +

Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles:

+ +

1. Single Source of Truth (SSOT)

+ +

The entire state of your application is stored in an object tree within a single store. Any access to the state is done by referencing the original data, in the store. This way, when information is updated it gets propagated throughout the application, thus preventing duplicate data.

+ +

2. State is Read-only

+ +

The only way to change the state of your application is by emitting an action, an object that describes what happened.

+ +

To access the state you can use the method getState from the store. It returns the whole application state, but as read-only.

+ +

To listen to changes on the state we use the store’s method subscribe, and pass a listener as a parameter in the following way:

+ +
let unsubscribe = store.**subscribe**(() => {
+  //execute every time the state change
+  const state = store.**getState**();
+});
+
+unsubscribe(); //canceling listener
+
+ +
+

As we can see in the above example, when we want to cancel the listener we just call the value returned from the method subscribe, as a function.

+
+ +

When we need to modify the state, the change needs to be requested by an action, an object containing a type (required) and a payload (optional). The type is an identifier for the action and the payload is the content to be sent with the action, as seen in the following example:

+ +
{
+  type: 'ADD_CONTACT',
+  name: 'Jon Snow',
+  email: 'youknownothing@jonsnow.com'
+}
+
+ +

In the example above, the action has type ADD_CONTACT and the necessary data to include this contact in the state.

+ +

It’s common to create actions using action creators, which are functions that expect specific parameters and return a formatted object, as in the following example:

+ +
const addContact = (name, email) => {
+  return {
+    type: 'ADD_CONTACT',
+    name,
+    email
+  }
+};
+
+ +

To dispatch an action, we use the method dispatch from the store:

+ +
dispatch(addContact('Jon Snow', 'youknownothing@jonsnow.com'));
+
+ +

3. Changes are made with Pure functions

+ +

To describe the way the state will be changed by the actions, we write pure reducers.

+ +

Reducers are functions that are called every time an action is dispatched. They receive the current state and the action as parameters, and return the new state.

+ +

It’s important to highlight that a reducer must be a pure function. Given the same parameters, a reducer should always return the same result, and to do that, it has to be based on its own scope.

+ +

To learn and understand more about pure functions, I suggest you read the post What is a pure function from Eric Elliott.

+ +

Considering our reducers must be pure functions, we are going to implement our logic to include a new contact in the state.

+ +
const reducer = (state = {}, action) => {
+  if (action.type === 'ADD_CONTACT') {
+
+    return {
+      ..state,
+      contactCollection: [
+        ...state.contactCollection,
+        {
+          name: action.name,
+          email: action.email
+        }
+      ]
+    };
+  }
+}
+
+ +

As we can see in the above example, our reducer checks if the action is of type ADD_CONTACT. If it is, it returns a new state, including the new contact.

+ +

To get the most out of Redux, you must understand the concept of immutability. In the above example, we don’t use the push method to include the new contact in the contactCollection, instead, we return a new contactCollection. This one has the same contacts as the previous collection, but contains the new contact. This way we preserve the previous state and stay in the premise of read-only state.

+ +

By following these three principles, you can write a predictable application very easily.

+ +

In this post, we only scratched the surface of Redux. In the next posts, I intend to go deeper in each concept.

+ +

The ReduxJS is a Javascript lib that implements Redux in only 2kb. It has great documentation, where you can find information about each Redux feature. If you intend to go deeper, the documentation is a good place to start.

+ +

At the beginning, Redux can seem a little complicated because it is different from what we are used to. Nevertheless, as soon as you learn the basics, the sky is the limit.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/melhorando-a-performance-do-phpunit/index.html b/public/posts/2016/melhorando-a-performance-do-phpunit/index.html new file mode 100644 index 0000000..f5c608e --- /dev/null +++ b/public/posts/2016/melhorando-a-performance-do-phpunit/index.html @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Melhorando a Performance do PHPUnit · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Melhorando a Performance do PHPUnit +

+

+ Apr 7, 2016 00:00 + · 669 words + · 4 minute read + + + + + Desenvolvimento + + TDD + + Ferramentas + + PHP + + + + +

+

by Elton Minetto

+
+ +
+ + +

Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo?

+ +

O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente.

+ +

Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? Com estas dúvidas em mente comecei uma pesquisa que me levou às soluções que vou mostrar aqui.

+ +

Identificando quais testes são lentos

+ +

O primeiro passo é identificar quais testes estão demorando mais. Para isto vamos usar um recurso do PHPUnit chamado Listeners. Trata-se de uma configuração avançada do phpunit.xml onde indicamos um componente que vai ser executado junto com os testes e receber informação deles. O listener que vamos usar para isso chama-se phpunit-speedtrap e vamos começar instalando ele com o comando

+ +
composer require johnkary/phpunit-speedtrap
+
+ +

Após instalado vamos configurar o phpunit.xml para que o listener seja executado. Vamos incluir as linhas abaixo

+ +
<listeners>
+    <listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener" /> </listeners>
+
+ +

Ao executar o phpunit agora temos um novo resultado na saída dos testes, algo como:

+ + + +

O listener vai apontar quais são os 10 testes que estão demorando mais e quantos estão com problemas. É possível configurar o phpunit.xml para que o listener mostre mais ou menos de 10 testes e também alterar o limite de 500ms caso seja necessário. Mais detalhes podem ser vistos no Github do projeto.

+ +

Identificando o motivo da lentidão

+ +

O phpunit-speedtrap ajuda bastante ao apontar quais testes estão lentos, mas ele não consegue nos dizer o motivo. Para isto podemos usar outro listener, o phpunit/test-listener-xhprof. Vamos começar instalando o componente com o composer:

+ +
composer require phpunit/test-listener-xhprof lox/xhprof
+
+ +

Além do componente é necessário que a extensão do xhprof esteja instalada no PHP, o que pode ser visto no site do projeto ou com os pacotes da sua distribuição Linux.

+ +

Uma vez instalado vamos precisar configurar o phpunit.xml, incluindo as configurações abaixo dentro da tag :

+ + + +

A documentação com todas as opções que podem ser configuradas pode ser encontrada no Github do projeto. Um ponto importante na configuração é o item xhprofWeb que está configurado com o endereço de um servidor web. Este servidor web nada mais é do que a interface web do xhprof e para usá-la basta executar os comandos:

+ +
cd vendor/lox/xhprof/xhprof_html php -S localhost:8888
+
+ +

Ao executar o phpunit novamente o novo listener vai analisar cada um dos testes e gerar um gráfico com todas as chamadas sendo executadas dentro do teste, bem como quais estão demorando mais. O resultado da execução do phpunit agora vai ser algo como:

+ + + +

Agora vamos unir o resultado dos dois listeners e melhorar os nossos testes. O speedtrap apontou que o pior teste era o

+ +
3910ms to run Planrockr\Service\TeamTest:testWithoutMembers
+
+ +

E o test-listener-xhprof gerou o resultado deste teste na url

+ +
* Planrockr\Service\TeamTest::testWithoutMembers [http://localhost:8888?run=57079c1bc81cb&source=Planrockr](http://localhost:8888?run=57079c1bc81cb&source=Planrockr)
+
+ +

Acessando esta url é possível vermos a lista de métodos sendo invocados e quais estão lentos. O mais útil é o gráfico gerado

+ +

Nele podemos ver em vermelho que o método crypt é o grande vilão deste teste.

+ +

Após analisar alguns dos testes consegui melhorar a execução de toda a suite de 2.65 minutos para 38.53 segundos!

+ +

Uma observação. Ao usar os listeners a execução dos testes vai demorar um pouco mais, pois eles precisam analisar cada teste que está sendo efetuado. A dica é habilitar os listeners, fazer a análise, melhorar o que pode ser melhorado e desativá-los. E repetir o processo esporadicamente, ou mesmo automatizar isso para rodar em servidores de integração contínua.

+ +

Outra dica legal é usar o listener do Blackfire.io que permite usar asserts e fazer o teste falhar caso a performance seja maior do que determinado limite, entre outras features interessantes.

+ +

Manter uma boa performance dos testes é algo tão importante quanto o desafio de manter a cobertura de código alta, pois são ambos sinais de melhoria da equipe e do projeto.

+ +

Originally published at eltonminetto.net on April 8, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/index.html b/public/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/index.html new file mode 100644 index 0000000..8e80a99 --- /dev/null +++ b/public/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/index.html @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nossas Experiências com Mentoria na Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Nossas Experiências com Mentoria na Coderockr +

+

+ Apr 1, 2016 00:00 + · 884 words + · 5 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+ + +

Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias.

+ +

A motivação

+ +

Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer:

+ +
    +
  • melhores processos
  • +
  • automatização de processos
  • +
  • melhorar as pessoas
  • +
  • melhores clientes
  • +
+ +

Desde que encontrei essa inspiração eu venho aplicando isso no nosso dia a dia, e a empresa realmente teve uma melhora incrível nos últimos dois anos. Nesta série de vídeos eu citei o que fizemos para melhorar os dois primeiros ítens e neste post vou falar uma das formas que estamos implementando para aprimorar o terceiro. O último item é um resultado dos primeiros, coisa que já foi possível comprovar na prática com nossos clientes.

+ +

A inspiração

+ +

A minha principal inspiração para este processo veio deste projeto. Além de inspiração estamos usando o seu “guideline”, principalmente esta parte:

+ +

Mentor Rules

+ +

Trust and Respect your apprentice +Listen don’t just hear +Help your apprentice define and achieve goals +Offer advice, references, resources, constructive feedback +Give support when your apprentice succeeds, and when they fail +Communicate and make sure you clearly define the skills you wish to pass on

+ +

Apprentice Rules

+ +

Take responsibility for your career goals +Listen and share your desires, needs, and ask questions +Incorporate feedback given, otherwise you will not grow +Make time for interaction +Have realistic expectations and approach the relationship with honesty

+ +

Eu marquei os itens que acho mais importantes.

+ +

O processo

+ +

Por se tratar de uma experiência eu comecei convidando duas pessoas da equipe e aos poucos fomos aumentando e incluindo outros membros. Uma das coisas que eu acho importante é deixar bem claro que isso é opcional, que não é algo sendo imposto pela empresa ou por mim. +No primeiro encontro nós conversamos e tentamos definir os objetivos de carreira que a pessoa tem, tanto de curto, médio e longo prazo. É um bom ponto de partida, pois assim eu posso ver até onde eu consigo ajudar a pessoa com a experiência e contatos que eu disponho. Este é um ponto onde a honestidade e transparência são importantes, pois a pessoa precisa se sentir segura para que possa dizer se em algum momento o seu objetivo seja sair da empresa, ou criar sua própria empresa. Eu não vejo isso como um problema, pois acredito que o papel da empresa e do colaborador é trabalharem da melhor forma possível enquanto seus caminhos andarem em paralelo. Se em algum momento estes caminhos se afastarem é algo natural. Ouvi isso de meu primeiro chefe e é algo que eu carrego comigo até hoje. +Após este primeiro encontro nós marcamos conversas mensais para acompanharmos o que está sendo feito para alcançarmos os objetivos. Nestes encontros nós anotamos em um Google Docs coisas como:

+ +
    +
  • Data do encontro
  • +
  • Andamento dos objetivos
  • +
  • O que aprendemos nesse período?
  • +
  • Novos objetivos (próximo mês)
  • +
  • Novos objetivos (médio prazo)
  • +
  • Qualquer outra anotação importante que lembrarmos
  • +
  • A mentoria está dando certo? Continuamos? Vamos marcar o próximo encontro?
  • +
+ +

Acho importante manter esse histórico pois assim tanto mentor quanto mentorado conseguem facilmente acompanhar a evolução. +Um ponto importante é sempre criar objetivos de curto prazo usando a metodologia S.M.A.R.T (Specific, Measurable, Achievable, Realistic, and Time-bound). Assim podemos facilmente medir o resultado delas no próximo encontro e também compararmos se os pequenos objetivos estão dando passos para alcançarmos os objetivos maiores.

+ +

Os resultados

+ +

Iniciamos esta experiência 5 meses atrás, mas apesar do pouco tempo já é possível ver ótimos resultados. Por estarmos definindo objetivos S.M.A.R.T é mais fácil acompanhar o progresso das pessoas. Neste período o pessoal começou a postar regularmente em blogs, contribuir com projetos open source, submeter palestras para eventos, ler livros regularmente, etc.

+ +

Para mim está sendo algo muito gratificante pois me sinto bem por estar ajudando, mesmo que um pouco, a desenvolver melhores profissionais. O mercado, e a Coderockr!, saem fortalecidos com isso.

+ +

O futuro

+ +

Por enquanto somos uma empresa pequena, mas o meu objetivo é tornar esse processo parte da nossa cultura. Assim, conforme a empresa for crescendo, as pessoas mais experientes da equipe podem replicar esse processo com as que forem entrando e o ciclo se repete. Gosto de uma citação que encontrei na Star Wars Wiki:

+ +
+

Padawan ou aprendiz Jedi […], era uma criança que começava treinamento sério sob a tutela de um Cavaleiro Jedi[…]

+
+ +

Os Cavaleiros Jedi eram o exemplo da Ordem. Quando os Cavaleiros Jedi mostrassem devoção suficiente e domínio da Força, eles poderiam se tornar Mestres Jedi ou então quando o Cavaleiro Jedi recebia um Padawan e o treinamento deste era finalizado com sucesso, se tornaria Mestre Jedi.

+ +

Ou seja, ao poder repassar a sua experiência para outras pessoas você também cresce.

+ +

Estou relatando os resultados da nossa experiência na esperança de poder ouvir opiniões e relatos de outras empresas ou profissionais. O que acha desta ideia? Você está fazendo algo parecido em sua empresa?

+ +

P.S.: eu estava em dúvida se o nome correto para o que estamos fazendo era “mentoring” ou “coaching”, mas lendo este post me convenci o suficiente para usar o termo “mentoria”.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/o-fim-dos-frameworks-full-stack/index.html b/public/posts/2016/o-fim-dos-frameworks-full-stack/index.html new file mode 100644 index 0000000..fe592c1 --- /dev/null +++ b/public/posts/2016/o-fim-dos-frameworks-full-stack/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O Fim dos Frameworks Full Stack · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ O Fim dos Frameworks Full Stack +

+

+ Mar 15, 2016 00:00 + · 429 words + · 3 minute read + + + + + Desenvolvimento + + PHP + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks.

+ +

Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. Mas todos eles eram muito monolíticos, com sua grande quantia de componentes fortemente acoplados e com isso o desenvolvimento de grandes projetos, com manutenções e expansões constantes tornou-se cada vez mais complexa. Percebendo isso grandes figuras do mundo PHP se uniram e criaram um grupo chamado PHP-FIG que criou os padrões PSR, com isso permitindo o surgimento do Composer e outras inovações.

+ +

A próxima evolução dos frameworks corrigiu um grande número de problemas das suas versões anteriores e com nomes como Zend Framework 2, Symfony 2 vimos uma nova era de desenvolvimento surgir. Projetos menos acoplados, componentes mais facilmente intercambiáveis, desenvolvedores mais produtivos e felizes.

+ +

Mas usar um framework full stack como o ZF2 ainda era grande demais para a maioria das aplicações que desenvolvemos no dia a dia, especialmente quando começamos a usar arquiteturas baseadas em serviços e APIs. Isso acarretou a criação de micro-frameworks como o Slim e o Silex. Com os micro-frameworks agora podemos iniciar um projeto de forma rápida e simples e ir adicionando componentes na proporção que eles são necessários. É muito mais fácil iniciar com algo pequeno e adicionar recursos do que começar um projeto com algo enorme e remover componentes desnecessários e que podem causar perda de performance.

+ +

A próxima grande evolução que nos levou a esse caminho foi a aprovação do PSR7, que padroniza a forma como os frameworks e componentes manipulam Requests e Responses, o coração de todo e qualquer aplicativo web. Ao invés de usarmos o padrão MVC, que foi portado do mundo desktop para a web, agora temos um padrão que nasceu para este ambiente dinâmico e específico. Com a adoção deste padrão estamos vendo os grandes frameworks como o Zend Framework, Symfony e Laravel se tornando micro-frameworks (ZF3, Symfony 3, Lumen) e projetos que já nasceram com essa abordagem, como o Slim, evoluindo a passos largos.

+ +

Então me parece seguro dizer que o futuro pertence aos micro-frameworks, micro-serviços, containers e cloud computing. É hora de pensarmos em nossos projetos desta forma e usufruirmos de toda a tecnologia que está surgindo ao nosso redor.

+ +

O que você acha? Estamos vendo o fim dos frameworks full stack?

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/o-sentimento-de-propriedade-do-codigo/index.html b/public/posts/2016/o-sentimento-de-propriedade-do-codigo/index.html new file mode 100644 index 0000000..2dd9ab4 --- /dev/null +++ b/public/posts/2016/o-sentimento-de-propriedade-do-codigo/index.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O Sentimento de Propriedade do Código · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ O Sentimento de Propriedade do Código +

+

+ Sep 15, 2016 00:00 + · 684 words + · 4 minute read + + + + + Desenvolvimento + + Carreira + + + + +

+

by Vinicius Dacal

+
+ +
+ + +
+

My precious!

+
+ +

Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo.

+ +

Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. Porém, é comum se sobressair o outro lado desse mesmo sentimento, que iremos observar alguns aspectos abaixo.

+ +

Imagine que você trabalhe em equipe e que não só você, mas que mais pessoas estarão fazendo alterações em um projeto. Por mais que você estabeleça padrões de escrita de código, padrões de estrutura para testes e escreva cem páginas de docs com boas práticas, os outros programadores nunca irão escrever exatamente da mesma maneira que você, ou utilizar a mesma abordagem que você usaria. Nessa hora, esse sentimento de propriedade do código pode começar a te incomodar.

+ +

O fato disso te incomodar não chega a ser um problema, mas é preciso pensar nas atitudes que você toma frente à uma diferente forma de pensar.

+ +

É importante você conseguir analisar o que é bom ou não para o projeto e não o que é diferente ou igual ao que você pensa, ou que fere o seu ego.

+ +

Acho válido nós nos questionarmos, para que não nos tornemos pessoas autoritárias, mas sim pessoas colaborativas:

+ +

Quando alguém traz uma solução diferente da sua, você considera a possibilidade de essa solução ser melhor, ou você discorda, achando que a sua já é boa o suficiente?

+ +

Se você costuma discordar logo de cara, você já está fazendo isso errado. Considere a possibilidade de você estar errado ou de a outra ideia ser melhor. Pessoas pensam de maneiras diferentes e soluções mais simples podem vir das pessoas mais inesperadas, saiba dar espaço para os outros falarem e saiba ouvir o que os outros dizem.

+ +

Você costuma pedir que as pessoas façam as coisas sem explicar o porquê?

+ +

Se você delega uma tarefa que não tem um motivo explícito e não explica o porquê de a tarefa ser feita, você está desincentivando a pessoa a pensar. Eu mesmo, simplesmente não consigo fazer uma tarefa se eu não entender o escopo e a razão da mesma. Eu preciso entender o que eu estou fazendo, para que eu elabore a minha maneira de fazer aquilo, a maneira que eu acho melhor e que posteriormente será revisada por outros. Como desenvolvedor de software, eu sou pago também para **PENSAR **e não somente para escrever código!

+ +

Quando você vai dar uma opinião contrária a algo, você costuma ser vago?

+ +

Quando alguém trouxer uma solução e você discordar da mesma, você deve ser claro e objetivo do porquê discorda. Se você costuma discordar sem argumentos, apenas utilizando frases vagas como: “Eu não acho legal assim”, pode dar a impressão que você não quer que faça de tal maneira apenas porque não é do seu jeito.

+ +

Você costuma ser fechado a novas opiniões e idéias?

+ +

Esteja sempre aberto a novas ideias, principalmente de pessoas novas no time. Essas pessoas vem com uma outra visão, não tem os “vícios de grupo” como os outros que já estão no projeto.

+ +

Isso não quer dizer que você irá fazer tudo da maneira que os outros disserem, mas a mescla das ideias pode chegar à uma solução nunca antes pensada.

+ +

Falando sobre vícios de grupo, o vídeo abaixo mostra um experimento sobre Análise comportamental em grupo. É essencial assistir!

+ +

+ +

Devemos nos fazer essas perguntas com frequência e não podemos nos permitir achar que, possuindo uma experiência menor, uma pessoa não tenha nada a ensinar.

+ +

E só pra não esquecer: Código não é escrito em pedra, código é um organismo vivo que constantemente muda.

+ +

Para quem quiser ler mais sobre o assunto, eu indico um artigo do Tiago Garcia, explicando o conceito de Propriedade Coletiva do código: Be a thoughtful programmer by exercising more collective ownership

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/por-que-go/index.html b/public/posts/2016/por-que-go/index.html new file mode 100644 index 0000000..03b6df8 --- /dev/null +++ b/public/posts/2016/por-que-go/index.html @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Por que Go? · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Por que Go? +

+

+ Apr 28, 2016 00:00 + · 564 words + · 3 minute read + + + + + Desenvolvimento + + GO + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

A melhor ferramenta para cada necessidade

+ +

Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta.

+ +

Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima:

+ +
+

Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego.

+
+ +

E no último ano incluimos uma nova linguagem na nossa caixinha de soluções aqui na Coderockr: Go. Neste post vou explicar para que estamos usando a linguagem e porque escolhemos ela em detrimento de outras opções.

+ +

Para que estamos usando?

+ +

Basicamente para duas situações: micro-serviços e algoritmos que necessitam de performance.

+ +

Um exemplo clássico de micro-serviço é o fato de um grande número de projetos precisar realizar a consulta dos dados de um endereço a partir de um CEP. Esta é uma funcionalidade que pode ser isolada na forma de um serviço e ser compartilhada entre todos os projetos, o que fizemos com o goCep. Unindo este pequeno serviço com as vantagens do Docker podemos simplesmente executar o comando *docker pull eminetto/gocep *e temos um container com o serviço pronto para ser usado em qualquer servidor/máquina.

+ +

Quanto a segunda situação, ela vem surgindo cada vez mais durante o desenvolvimento do Planrockr. O exemplo mais recente é o de um serviço em que usamos o Método de Monte Carlo para realizar simulações e indicar a probabilidade de datas de término de um determinado projeto. Usamos o recurso de goroutines para gerar mais de 1000 simulações para cada execução, fornecendo um resultado bem mais preciso. E como este serviço vai ficar disponível para os usuários acessarem via interface web é importante que ele possa ser performático ao extremo.

+ +

Mas afinal, por que Go e não outra linguagem?

+ +

Alguns dos motivos pelos quais optamos por Go:

+ +

Pedigree. A linguagem foi criada dentro do Google, por ninguém menos do que Robert Griesemer (que trabalhou no desenvolvimento da engine JS V8), Rob Pike (que faz parte da equipe que desenvolveu o Unix) e Ken Thompson (também parte do time original do Unix e criador da linguagem B, precursora do C)

+ +

Boa documentação. Existe uma boa documentação no site oficial além de um bom número de livros e blogs. Este é um ponto que ainda deve melhorar bastante, principalmente a documentação em português, mas é possível ver um aumento considerável nos últimos anos.

+ +

Evolução constante. Como o código da linguagem está no Github é fácil acompanhar o roadmap e ver as novas funcionalidades que estão sendo desenvolvidas.

+ +

Curva de aprendizado moderada. Por ser uma linguagem compilada e estaticamente tipada talvez quem esteja acostumado com códigos em PHP ou JavaScript vai enfrentar alguns problemas para se acostumar, mas nada assustador. Go consegue tornar fácil técnicas complexas como concorrência, sincronização, ponteiros, etc. E para quem tem alguma experiência em C vai se sentir confortável rapidamente.

+ +

Divertida. Isso é um bônus! Realmente venho me divertindo bastante com a linguagem, construindo coisas rapidamente, encontrando soluções, melhorando a cada compilação.

+ +

Estamos aos poucos aumentando nossa experiência com a linguagem e com isso novos posts e códigos devem surgir no nosso Github. Tem sido uma jornada divertida :)

+ +

P.S.: se ficou curioso quanto ao serviço que implementamos no Planrockr, cadastre-se gratuitamente no site que em breve teremos novidades…

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/por-que-ir-a-eventos/index.html b/public/posts/2016/por-que-ir-a-eventos/index.html new file mode 100644 index 0000000..ea594c7 --- /dev/null +++ b/public/posts/2016/por-que-ir-a-eventos/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Por que Ir a Eventos? · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Por que Ir a Eventos? +

+

+ Feb 26, 2016 00:00 + · 360 words + · 2 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+

Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira.

+ +

Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. Ao invés de aprender o que é e como funciona a tecnologia X, você pode ouvir algo similar a “na minha empresa nós usamos X para resolver problema Y, e tivemos essas vantagens, e estes problemas”. Isso é muito valioso, por isso eu busco sempre por este tipo de conhecimento nos eventos que participo.

+ +

É bom para os negócios. No mercado, assim como na balada, uma coisa que vale bastante é o “ver e ser visto”. Participar de eventos, especialmente como palestrante ou organizador, propicia que você e sua empresa sejam vistos pelo mercado. Uma maioria esmagadora dos projetos que a Coderockr trabalhou nos últimos anos veio de recomendação de pessoas que eu conheci em eventos, ou que assistiram alguma das minhas palestras. É um grande investimento para sua marca pessoal ou mesmo para a sua empresa.

+ +

Amizades e networking. Eu comecei a participar de eventos nacionais em meados de 2005 e nestes 10 anos fiz muitas amizades, conheci muitas pessoas incríveis. Consegui conhecer ícones como Eric Raymond, Rasmus Lerdorf, Derick Rethans, Cal Evans, Andi Gutmans, Guilherme Blanco, entre outros. Fiz amizades que já duram quase uma década e devem continuar por muito tempo, além das parcerias de negócios que surgiram neste processo.

+ +

É divertido. Todos esses anos indo a eventos geraram histórias homéricas, mas a grande maioria delas eu não posso citar aqui ;)

+ +

Estas são apenas algumas das razões porque eu continuo me investindo meu tempo para preparar palestras, organizar eventos e acredito que todo profissional deveria fazer algo similar.

+ +

Se você discorda de algum motivo, ou lembra de outra razão importante por favor compartilhe!

+ +

E nos vemos no próximo evento…

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/por-que-o-planrockr-e-uma-single-page-application/index.html b/public/posts/2016/por-que-o-planrockr-e-uma-single-page-application/index.html new file mode 100644 index 0000000..6d54dd2 --- /dev/null +++ b/public/posts/2016/por-que-o-planrockr-e-uma-single-page-application/index.html @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Por que o Planrockr é uma Single Page Application? · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Por que o Planrockr é uma Single Page Application? +

+

+ Nov 2, 2016 00:00 + · 890 words + · 5 minute read + + + + + Desenvolvimento + + JS + + React + + Ferramentas + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter:

+ +

+ +

+ +

Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura.

+ +

Server Generated Pages

+ +

Antes de avançarmos para o SPA, é necessário entendermos o modelo convencional de como os navegadores interagem com as páginas web. No modelo que aqui chamaremos de SGP (Server Generated Pages), exemplificado por um blog, ao acessar sua página principal, o servidor web entrega como resposta um documento HTML contendo todo o código da página em específico. Ao navegarmos pelos links, o navegador faz novas requisições ao servidor que responde com o código das outras páginas.

+ +

As vantagens dessa arquitetura são:

+ +
    +
  • Controle de rotas e estados gerenciados nativamente pelo browser.

  • + +
  • Conteúdo estático gerado pelo Backend, o que permite que seu site seja totalmente acessível às Search Engines e seus scripts e estilos sejam menores.

  • +
+ +

Porém, esse tipo de arquitetura possui algumas desvantagens. A cada troca de página, o navegador fará requisições em busca do novo documento HTML, estilos e scripts. Nesse intervalo, não é possível nem mesmo mostrar um loading indicator, o que deixa a navegação menos fluída e afeta a experiência do usuário.

+ +

Com a evolução da web, surgiu a necessidade de construirmos aplicações com uma experiência mais próxima das aplicações desktop, o que fez com que um outro tipo de arquitetura tomasse espaço, que hoje é conhecida por Single Page Application.

+ +

Single Page Application

+ +

Esse tipo de arquitetura segue um fluxo um pouco diferente, vamos tomar o Planrockr como exemplo:

+ +

Ao acessarmos uma página, é feito uma requisição ao servidor em busca de um documento HTML, que nesse caso, é sempre o index. Se inspecionarmos o código fonte desse index, dentro do body, a única marcação que encontramos é a tag:

+ +
<div id=”root”></div>
+
+ +

A tag acima é necessária para que nossa aplicação seja inicializada. Além de conter essa tag, o index linka os arquivos vendor.js, app.css, app.js, que são os scripts e estilos necessários para a nossa aplicação funcionar.

+ +

Conforme navegamos entre as páginas, o Javascript gera o conteúdo de forma dinâmica, não sendo feita nenhuma requisição ao Backend para a busca de um novo documento HTML. Essa abordagem possibilita uma navegação mais fluída e facilita o desenvolvimento de interfaces mais ricas e interativas. Além dessas vantagens, toda a comunicação com o Backend é feita via API, o que endossa o conceito de *API First e deixa o Backend totalmente desacoplado do Frontend. Seguindo esses conceitos, fica muito fácil integrar uma aplicação mobile ou até mesmo uma aplicação de terceiro futuramente.

+ +

Porém, essa abordagem possui alguns pontos negativos:

+ +
    +
  • O conteúdo é gerado pelo Javascript, o que não permite que sua aplicação seja acessível às Search Engines. Se isso é um problema ou não, dependerá da sua aplicação. Para descobrir, faça a seguinte pergunta: Eu preciso que a minha aplicação seja encontrada pelos mecanismos de busca? Se a resposta for SIM, prefira ir pela abordagem da SGP ou então pesquise por Aplicações Isomórficas.

  • + +
  • O fato de carregarmos todos os scripts e estilos necessários à nossa aplicação antes da inicialização, torna o tempo do primeiro carregamento um pouco maior. Já existem maneiras para melhorar essa questão, como separar alguns scripts para serem carregados conforme as rotas que você acessa, não carregando todos de uma só vez.

  • +
+ +

Por que optamos construir o Planrockr como uma SPA?

+ +

Construimos o Planrockr como uma SPA para proporcionar ao usuário uma experiência mais próxima de uma aplicação desktop.

+ +

Dashboard de Projeto do Planrockr. Dashboard de Projeto do Planrockr.

+ +

A imagem acima apresenta o Dashboard de Projetos. Essa tela, é uma das principais do Planrockr e possui inúmeros widgets com dados carregados independentemente. Conforme esses dados são carregados, os widgets se tornam acessíveis ao usuário instantaneamente, o que possibilita uma melhor experiência. Além disso, os dados dos widgets são recarregados de tempos em tempos e o controle desse fluxo se faz muito mais fácil em um SPA.

+ +

Quanto ao SEO, o Planrockr é uma aplicação que tem seu conteúdo dependente da sessão d0 usuário, o que elimina a necessidade de ser acessível às Search Engines.

+ +

A possibilidade de termos um Backend totalmente independente do Frontend também pesou na hora de decidirmos. Como temos profissionais das duas especialidades, podemos implementar a API e a Interface em paralelo, proporcionando muito mais velocidade ao desenvolvimento. Separando os lados da aplicação, fica muito mais fácil implementar soluções e resolver problemas de forma isolada, deixando as preocupações de cada parte para seus respectivos especialistas. Essa abordagem permite que os profissionais tenham mais foco, tanto na hora de aprender quanto na hora de implementar.

+ +

Conclusão

+ +

As duas abordagens são bem válidas, é preciso parar e analisar as vantagens e desvantagens de cada uma para se tomar uma decisão acertiva. Busque sempre encontrar soluções simples. Não adianta utilizar React ou Angular em um hotsite só porque são as libs da vez. Pense primeiro no problema que você está propondo-se a resolver e utilize a melhor ferramenta para o trabalho.

+ +

É possível pregar até utilizando um alicate, mas seria muito mais eficiente utilizar um martelo, não acha?

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/recharts-construa-graficos-com-react-e-d3/index.html b/public/posts/2016/recharts-construa-graficos-com-react-e-d3/index.html new file mode 100644 index 0000000..9f929b0 --- /dev/null +++ b/public/posts/2016/recharts-construa-graficos-com-react-e-d3/index.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Recharts, Construa Gráficos com React e D3 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Recharts, Construa Gráficos com React e D3 +

+

+ Aug 22, 2016 00:00 + · 442 words + · 3 minute read + + + + + Desenvolvimento + + JS + + React + + D3 + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente.

+ +

Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. No meio do caminho, acabamos conhecendo uma outra lib para React que abstrai o D3JS, a Recharts.

+ +

Essa lib possui uma excelente documentação e conta com vários exemplos. Os gráficos são altamente customizáveis, tanto pelos próprios parâmetros dos components quanto pelo CSS.

+ +

Para instalar ela em seu projeto é bem simples.

+ +

Utilizando o npm:

+ +
npm install recharts --save
+
+ +

No nosso componente, importamos os componentes do Recharts que iremos utilizar para montar o gráfico. Abaixo segue o exemplo de como ficaria o código para um gráfico de linhas:

+ + + +

Com o código acima, obtemos o seguinte resultado:

+ +

Gráfico de linha renderizado pelo Recharts.Gráfico de linha renderizado pelo Recharts.

+ +

Na imagem abaixo conseguimos observar quais são os elementos que compõem o gráfico:

+ +

+ +

Cada tipo de gráfico possui seu respectivo componente raiz, que no caso do gráfico acima, é o LineChart.

+ +

Cada tag interna ao **LineChart **representa um componente do gráfico, que normalmente são mais genéricos e são utilizados por mais de um tipo de gráfico. Cada um desses componentes possui seus respectivos parâmetros de configuração, fazendo com que o gráfico fique fácil de ser customizado. Os mesmos podem ser consultados na sessão API da documentação.

+ +

Além do LineChart, a lib possui outros tipos de gráficos, como:

+ + + +

Ainda é possível mesclar alguns desses gráficos entre si, utilizando o ComposedChart, que permite mesclar um gráfico de linhas, com um de área e com um de barra por exemplo, como podemos ver na imagem abaixo:

+ +

+ +

Customização por CSS

+ +

Cada um dos componentes do gráfico possui suas classes, o que permite que você os customize através de css, sobrescrevendo os estilos globais. Alguns deles permitem que você forneça um className, tornando o trabalho ainda mais fácil.

+ +

Abaixo segue o exemplo de dois gráficos customizados, que foram implementados utilizando a lib:

+ +

+ +

+ +

Responsividade

+ +

Ainda é possível construir gráficos responsivos utilizando o componente ResponsiveContainer, que ainda aceita os parametros width e height em percentagem ou em pixel. Para utilizá-lo, basta colocá-lo como wrapper do componente pai do gráfico, conforme abaixo:

+ +
<ResponsiveContainer>
+  <LineChart>
+   ...
+  </LineChart>
+</ResponsiveContainer>
+
+ +

Clique aqui para ver alguns exemplos.

+ +

Gostaria de finalizar o post deixando os parabéns para essa equipe que criou e que mantém a lib. Nunca foi tão fácil construir gráficos!

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/relogios-carros-e-teste-de-software/index.html b/public/posts/2016/relogios-carros-e-teste-de-software/index.html new file mode 100644 index 0000000..6857c7b --- /dev/null +++ b/public/posts/2016/relogios-carros-e-teste-de-software/index.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Relógios, Carros e Teste de Software · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Relógios, Carros e Teste de Software +

+

+ Jan 7, 2016 00:00 + · 446 words + · 3 minute read + + + + + Desenvolvimento + + TDD + + Metodologias + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro.

+ +

O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. Os engenheiros do relógio devem ter realizados inúmeros testes para garantir que ele não atrase, seja de dia, de noite, no braço direito, no braço esquerdo, no Brasil ou no Equador. Já os engenheiros da Ford devem ter testado milhares de vezes todo o sistema de freios, aceleração, air bags, enquanto que o relógio no painel deve ter recebido bem menos atenção.

+ +

Mas apesar de todo o orçamento que a montadora deve ter investido em testes focados nas funcionalidades principais do carro problemas podem acontecer. Alguns meses atrás precisei levar o carro na concessionária para realizar a troca das fechaduras das portas, que a Ford descobriu que podem abrir com o carro em movimento! Isso deve ter causado um prejuízo enorme em peças, mão de obra, imagem da marca, etc. E algum engenheiro de testes deve ter sofrido bastante…

+ +

Outro caso recente foi o chamado “dieselgate”. A montadora Volkswagen foi acusada de mascarar resultados de emissão de poluentes em seus carros, principalmente na europa. Isso é um caso ainda em andamento mas as primeiras conclusões são de que o software embutido nos carros estava mostrando valores diferentes da realidade. Acredito que muitos testes devem ter sido realizados neste software mas aparentemente eles mascaravam o resultado. A empresa está tendo prejuízos enormes, principalmente devido a perda da confiança dos usuários pela marca.

+ +

Então, da próxima vez que for implantar testes no seu software tente pensar nisso:

+ +
    +
  • funcionalidades similares podem ter prioridades diferentes em seus projetos. Os testes relativos a “mostrar as horas” no produto “Relógio de pulso” devem ser muito mais exaustivos do que no “Ford Fiesta”, por exemplo.

  • + +
  • não importa o quanto de tempo e dinheiro você possua para investir no projeto e seus testes as coisas podem dar errado, como no caso das portas do meu carro.

  • + +
  • e sempre leve em consideração que algum dos testes pode estar mascarando a realidade, seja por má fé de alguma pessoa, um mock mal escrito, ou um teste que leva em conta apenas o “caminho feliz”.

  • +
+ +

Testes são fundamentais nos projetos de software por isso é sempre importante darmos a devida atenção a eles.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/requisicoes-assincronas-em-redux/index.html b/public/posts/2016/requisicoes-assincronas-em-redux/index.html new file mode 100644 index 0000000..8fe189d --- /dev/null +++ b/public/posts/2016/requisicoes-assincronas-em-redux/index.html @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Requisições Assíncronas em Redux · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Requisições Assíncronas em Redux +

+

+ Jul 2, 2016 00:00 + · 851 words + · 4 minute read + + + + + Desenvolvimento + + JS + + React + + Redux + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas.

+ +

Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API.

+ +

Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas.

+ +

Actions

+ +

Quando estamos fazendo uma requisição assíncrona há dois momentos importantes que comumente alteram o estado a aplicação: O momento em que uma requisição se inicia, e o momento que você recebe um resultado.

+ +

Esses dois momentos podem ser divididos em três actions distintas: Uma action para o inicio da requisição, outra para o caso de sucesso e uma terceira para o caso de falha. Poderíamos chamá-las de CALL_API_REQUEST, CALL_API_SUCCESS e CALL_API_FAILURE.

+ +

De uma maneira simples, mas não muito elegante, poderíamos aplicar esse conceito sem utilizar um middleware, como no exemplo abaixo:

+ + + +

O código acima teria que ser utilizado em um local onde tivéssemos acesso ao método dispatch, que normalmente, é dentro de um container component. Poderíamos tentar melhorar esse código abstraindo as actions para um action creator, mas é notável que esse modelo não escala. Para cada endpoint da nossa API, precisaríamos ter três action creators diferentes, o que é impraticável.

+ +

Poderíamos tentar levar toda essa lógica para dentro do action creator, mas não teríamos acesso ao método dispatch.

+ +

Uma forma muito mais simples, seria termos uma action que descrevesse como será o request, um padrão de action diferente que chamaremos de async action:

+ + + +

No exemplo acima, as principais diferenças que podemos notar entre uma action comum e nossa async action, é o fato de termos types ao invés de type, e de retornarmos uma função callApi junto com o objeto.

+ +

Os types serão utilizados nos três momentos distintos da requisição e é importante que eles sejam fornecidos na seguinte ordem:

+ +
types[0] = **action** **type** indicando inicio do request
+types[1] = **action** **type** indicando sucesso
+types[2] = **action** **type** indicando falha
+
+ +

A callApi será utilizada futuramente para fazer o request.

+ +

Para interpretar essa action e gerenciar as requisições, nós utilizaremos um Middleware.

+ +

Middlewares

+ +

Em suma, middlewares são funções que ficam entre o disparo de uma action e a chegada dela no Root Reducer, sendo capazes de alterar o seu conteúdo ou até mesmo cancelá-la.

+ +

Abaixo segue um exemplo básico de um middleware de logs:

+ + + +

No exemplo acima, nós não modificamos o conteúdo da action, apenas fazemos log dela e do state da aplicação após o seu disparo. É importante observar que nós chamamos o método next passando para ele a action atual, a fim de deixar a action seguir seu fluxo, até o próximo middleware ou até o Root Reducer.

+ +

O middleware que implementaremos irá interceptar as async actions, e as substituirá por três actions diferentes, correspondendo os três momentos do request.

+ +

Dadas estas informações, vamos para a implementação do nosso middleware:

+ + + +

Logo no início da função, na linha 13, nós verificamos se a action recebida se trata de uma async action, verificando se existe a propriedade types dentro dela. Caso se trate de uma action comum, nós apenas passamos ela a diante, sem efetuar nenhuma alteração.

+ +

Caso se trate de uma **async action, **nós extraímos os types para respectivas variáveis e disparamos uma **action, **contendo o primeiro type, indicando que o request irá iniciar.

+ +

Em seguida, nós chamamos a função callApi, que veio junto com a async action, e passamos para a promise as funções handlers, que lidarão com os responses em caso de sucesso e em caso de falha.

+ +

Dentro dos handlers, nós disparamos uma action indicando que foi finalizado o request, colocando no atributo body o resultado do request.

+ +

Em caso de sucesso, nós incluímos um atributo lastFetched, com o timestamp do momento em que o request foi finalizado.

+ +

Junto a cada action, foi incluído o payload da async action, para que os reducers tenham acesso ao mesmo.

+ +

Incluindo o Middleware na store

+ +

Com o middleware implementado, nós precisamos incluí-lo na nossa store. Para isso, nós utilizaremos o método applyMiddleware do redux, conforme o exemplo abaixo:

+ + + +

Feito isso, todas as actions passarão pelo nosso callAPIMiddleware, as que forem async actions serão interceptadas e convertidas em actions comuns.

+ +

Dessa forma, conseguimos deixar por conta do middleware o disparo das requisições e podemos manter apenas um action creator para cada endpoint.

+ +

Com o middleware, agora é possível termos actions assim:

+ + + +

Async action que irá disparar uma requisição para o endpoint “user/contacts” passando como parâmetro um userId

+ +

Os middlewares não se limitam a controlar requisições, eles são uma das features mais poderosas do redux e pretendo abordá-los em futuros posts. Para quem tem interesse em se aprofundar, sugiro que comece pela documentação.

+ +

Se você está começando com Redux agora e chegou direto neste post, indico ler meu post anterior: Conhecendo o básico do Redux.

+ +

Estou começando uma série de posts sobre Redux e React, gostaria de receber um feedback de vocês sobre as dúvidas mais comuns de quem está começando. Pode ser enviando para o email: viniciusldacal@gmail.com

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/index.html b/public/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/index.html new file mode 100644 index 0000000..3b76037 --- /dev/null +++ b/public/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/index.html @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time +

+

+ Feb 23, 2016 00:00 + · 419 words + · 2 minute read + + + + + Desenvolvimento + + JS + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser.

+ +

A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client.

+ +

Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados.

+ +

Para o servidor, criamos um script em nodeJS que é todo configurado através de variáveis de ambiente, e publicamos ele open source no github com o nome de Socket.io-notify.

+ +

Instalação

+ +

Para utilizá-lo, basta clonar o repositório, ir até a pasta do projeto e com o node >= 4.3.1 instalado, rodar:

+ +
**npm install**
+
+ +

As seguintes variáveis de ambientes devem ser configuradas:

+ +

**PORT: **a porta que será executada o node +NOTIFICATION_SECRET: uma chave única que será utilizada para disparar as notificações. +NOTIFICATION_KEY: uma chave pública que será utilizada para habilitar a conexão entre browser e o websocket.

+ +

Em caso de HTTPS:

+ +

SSL_CERT: Caminho do certificado SSL +SSL_KEY: Chave SSL

+ +

Após configuradas as variáveis de ambiente, vá até a pasta do projeto e execute:

+ +
**node .**
+
+ +

Com o servidor executando, basta configurar a integração com o seu projeto.

+ +
document.addEventListener("DOMContentLoaded", function(event) {
+  var socket = io.connect('**127.0.0.1**:**3000**', {
+    query: 'notificationKey=**NOTIFICATION_KEY**'
+  });
+  socket.on('**NEW_NOTIFICATION**', function (notification) {
+    console.log(notification);
+  });
+
+  socket.emit('join', '**SOME_CHANNEL**');
+});
+
+ +

No exemplo acima, estamos considerando que a aplicação está rodando no host 127.0.0.1 e na porta 3000

+ +

Também estamos considerando que a NOTIFICATION_KEY do servidor seja NOTIFICATION_KEY que é o valor default.

+ +

NEW_NOTIFICATION é o nome do evento disparado pelo server quando envia a notificação e não deve ser alterado.

+ +

SOME_CHANNEL é o nome do canal que estamos conectando, que poderia ser o email ou nome de usuário, ou uma HASH feita a partir desses dados. Sua aplicação no client e no server precisarão ter conhecimento desse valor.

+ +

Disparando as notificações

+ +

para disparar as notificações, basta fazer uma requisição **POST **para o socket.io-notify, com o channel que pode ser uma string ou um array de strings, e o conteúdo da notificação, que pode ser uma string ou um objeto JSON

+ +
$ curl --request POST '**http://127.0.0.1:3000**/send' --header notification_secret:**NOTIFICATION_SECRET** --data 'notification=**notificationexample**&channel=**SOME_CHANNEL**'
+
+ +

No caso de enviar para múltiplos canais, basta enviar channel como array

+ +
$ curl --request POST '**http://127.0.0.1:3000**/send' --header notification_secret:**NOTIFICATION_SECRET** --data 'notification=**notificationexample**&channel[]=**SOME_CHANNEL**&channel[]=**ANOTHER_CHANNEL**'
+
+ +

Angular

+ +

Se você utiliza angular, é possível utilizar o angular-socket.io para facilitar a integração no Frontend.

+ +

Sugestões são bem vindas, basta abrir uma issue no repositório do projeto

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/the-code-ownership-feeling/index.html b/public/posts/2016/the-code-ownership-feeling/index.html new file mode 100644 index 0000000..b82eb66 --- /dev/null +++ b/public/posts/2016/the-code-ownership-feeling/index.html @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Code Ownership Feeling · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ The Code Ownership Feeling +

+

+ Sep 30, 2016 00:00 + · 674 words + · 4 minute read + + + + + Desenvolvimento + + Carreira + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be

+ +

That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. However, this feeling of ownership can usually have some negative aspects as well.

+ +

Imagine that you work in a team and not only you, but more people will be modifying the project. Even if you set code writing patterns, structure patterns for testing and write a hundred pages of documentation with good practices, the other developers will not write exactly the same way as you do, or use the same approach you would. These are the moments when that code ownership feeling will start to bother you.

+ +

The fact that it bothers you, is not a problem, but it’s important to evaluate your attitudes toward different ways of thinking.

+ +

It’s important that you analyze what is good or not for the project, and not what is different from your opinion, or what hurts your ego.

+ +

I think it’s valid we ask ourselves some questions, to not become authoritarian, but collaborative people:

+ +

When someone brings up a solution different than yours, do you consider the possibility that this solution can be better, or do you disagree, thinking that your solution is already good enough?

+ +

If you are used to disagreeing right away, you are doing this wrong. You have to consider the possibility that you are are wrong or that the other idea can be better. There are many different ways to think about a problem and simpler solutions can come from the people you least expect. You have to make room for others to talk and listen to what others have to say if you want to be a better team player.

+ +

Do you usually ask people to do tasks without explaining the reasons?

+ +

If you delegate a task that has no explicit reason and you don’t explain why that task should be done, you are discouraging the person to think. Talking for myself, I just can’t do a task without knowing the scope and the reason for it. I need to understand what is the expected outcome, so I can figure out the best way of accomplishing the task, which will later be reviewed by others in my team. As a developer, I get paid to THINK and not only to write code!

+ +

When you give a opposite opinion, are you usually vague?

+ +

When someone suggests a solution and you disagree with it, you should be clear and objective on why you disagree. If you usually disagree without arguments, just using vague phrases like it: “I just don’t like this way, it’s not cool”, it may seem that you don’t agree just because it’s not your way of doing that.

+ +

Are you usually not open to different opinions and new ideas?

+ +

Always be open to new ideas, especially from new people in the team. Those people come with another vision, they don’t have the “Group addictions” as the others, who have been in the project for a longer time.

+ +

That doesn’t mean that you should always do everything they suggest, but the merge of ideas can create a solution that was never thought before.

+ +

Talking about Group addictions, the video below shows an experiment about Behavioral analysis. It’s essential to watch.

+ +

+ +

We should ask those questions frequently to not allow us to think that, a person with lower experience has nothing to teach.

+ +

And always remember: Code is not written in stone, code is something alive that changes frequently.

+ +

For anyone who would like to read more about this topic, I highly recommend this article from Tiago Garcia, explaining the concept of collective code ownership: Be a thoughtful programmer by exercising more collective ownership.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2016/tratamento-de-erros-em-go/index.html b/public/posts/2016/tratamento-de-erros-em-go/index.html new file mode 100644 index 0000000..f5de9e0 --- /dev/null +++ b/public/posts/2016/tratamento-de-erros-em-go/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tratamento de Erros em Go · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Tratamento de Erros em Go +

+

+ Jul 13, 2016 00:00 + · 248 words + · 2 minute read + + + + + Desenvolvimento + + GO + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código.

+ +

Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original):

+ + + +

Assume-se que o $response, por exemplo, deve retornar um valor correto, que qualquer erro seria tratado pelo método transmit e exceptions seriam geradas caso contrário.

+ +

Em Go o mesmo código poderia ser escrito da seguinte forma:

+ + + +

Como todo método pode retornar dois resultados, um de sucesso e outro de erro, podemos capturar e tratar o problema explicitamente.

+ +

A primeira impressão é que o código está mais burocrático e ferindo algum princípio como os defendidos pelo SOLID, mas o erro e seu tratamento está bem mais claro. E em uma linguagem de programação que tem como foco o desenvolvimento de aplicativos concorrentes isso pode ser uma grande vantagem.

+ +

Também é possível ignorar o erro usando:

+ + + +

E desta forma estamos delegando o controle para o método transmit, como no exemplo em PHP.

+ +

A “moral da história” aqui é entender as vantagens e desvantagens de cada abordagem para podermos escolher a melhor forma para implementá-la em nossos projetos.

+ +

Mais detalhes sobre o tratamento de erros em Go pode ser vista no blog oficial

+ +

Originally published at eltonminetto.net on July 14, 2016.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/index.html b/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/index.html new file mode 100644 index 0000000..941cb81 --- /dev/null +++ b/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/index.html @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Ambientes por Branch com OpenShift Next Gen Usando GitHub +

+

+ May 10, 2017 00:00 + · 1360 words + · 7 minute read + + + + + Desenvolvimento + + GitHub + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+

Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento

+ +

Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub.

+ +

No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD.

+ +

A implementação que vou demonstrar usará o Buddy, mas pode ser replicada para qualquer outro CI, com dificuldade semelhante. Para o registro de imagens irei usar o Docker Hub e novamente o OpenShift da Getup Cloud.

+ +

O cliente de linha de comando do OpenShift pode ser baixado em: +openshift/origin

+ +

O que queremos montar é um ambiente por branch/PR que deve ser facilmente criado e destruído. Para demonstrar criei um repositório no GitHub com uma aplicação bem simples que apenas retorna uma página estática, mas é o suficiente para o objetivo.

+ +

retorno do serviço helloworldretorno do serviço helloworld

+ +

E configurei o Buddy para construir uma imagem com base nesse repositório e publicar ela como lucassabreu/k8s-pr-envs no Docker Hub.

+ +

Nesse momento o arquivo buddy.yml esta assim:

+ + + +

O fonte nesse momento pode ser visto em: +lucassabreu/k8s-pr-envs

+ +

Nesse primeiro momento não possuímos nenhum processo de deploy, seja de teste, produção ou por branch.

+ +

Então vamos adicionar um processo de deploy no OpenShift para o ambiente de produção e testes, sendo que o ambiente de testes é atualizado automaticamente para os commits na master e o de produção apenas quando um usuário disparar o deploy via interface web do Buddy (http://app.buddy.works/).

+ +

Precisamos preparar o OpenShift para montar esse processo, primeiramente criamos um Namespace. A forma como criamos um varia de vendor para vendor, no caso do OpenShift da Getup Cloud, basta ir em https://portal.getupcloud.com/projects e criar um novo projeto, o nome do projeto será o Namespace.

+ +

+ +

Tendo um Namespace precisamos de uma forma do Buddy se autenticar contra o OpenShift, para isso podemos criar um ServiceAccount e usar o Token do mesmo para isso. O script abaixo mostra como criar uma ServiceAccount e resgatar o Token usando o CLI do OpenShift:

+ +
**$ oc login https://api.getupcloud.com:443**
+Authentication required for https://api.getupcloud.com:443 ...
+Username: lucas.s.abreu@gmail.com
+Password:
+Login successful.
+...
+
+**$ oc project github-k8s-pr-envs #usar o seu projeto
+**Now using project "github-k8s-pr-envs" on server ...
+
+**$ oc create serviceaccount github
+**serviceaccount "github" created
+
+**$ oc policy add-role-to-user admin \
+    system:serviceaccount:github-k8s-pr-envs:github**
+
+**$ oc describe serviceaccount github
+**Name:  github
+Namespace: github-k8s-pr-envs
+Labels:  <none>
+
+Image pull secrets: github-dockercfg-vat7r
+
+Mountable secrets:  github-token-d3u3t
+                    github-dockercfg-vat7r
+
+Tokens:             github-token-2pimz
+                    github-token-d3u3t
+
+**$ oc describe secret github-token-d3u3t
+**Name:  github-token-d3u3t
+Namespace: github-k8s-pr-envs
+Labels:  <none>
+Annotations: kubernetes.io/service-account.name=github
+  kubernetes.io/service-account.uid=zzz
+
+Type: kubernetes.io/service-account-token
+
+Data
+====
+ca.crt:  1066 bytes
+namespace: 18 bytes
+service-ca.crt: 2182 bytes
+token:  *token-do-openshift-que-estou-ocultando*
+
+ +

Agora podemos informar no Buddy algumas variáveis para ele disponibilizar para nós depois. Meu painel ficou como abaixo:

+ +

buddy environmentsbuddy environments

+ +

A URL da API e o domínio que o OpenShift irá utilizar também dependem do seu vendor, no meu caso a API está em https://api.getupcould.com:443 e o domínio base é getup.io.

+ +

Agora podemos criar os novos pipelines no Buddy. No buddy.yml as linhas abaixo:

+ + + +

Basicamente criei duas novas pipelines, uma chamada Deploy Staging e outra Deploy Production as únicas diferenças entre elas é que a Deploy Staging é automática para todo o commit na master e usa ENV=staging para indicar o ambiente; e Deploy Production é manual e usa ENV=production. Também criei variáveis para injetar os valores que informamos antes no Buddy e uma extra COMMIT para que ele consiga identificar qual imagem deve usar.

+ +

Essas duas pipelines basicamente chamam o script abaixo:

+ + + +

Este script basicamente se autentica contra a API do OpenShift usando o Token que criamos antes, destrói a aplicação antiga e executa o deploy de uma nova.

+ +

Para poder identificar quais os componentes de cada ambiente estou marcando eles com a label app=$ENV, dessa forma todos os componentes do ambiente staging estão marcados com app=staging e fica fácil eliminá-los e identificá-los.

+ +

É importante ressaltar que estou usando uma imagem customizada para rodar esses comandos (lucassabreu/openshift-k8s-cli) que basicamente é um ubuntu com o oc instalado dentro dela.

+ +

Também estou usando um truque de “templating” com o YAML que define os ambientes para poder inserir as variáveis de cada ambiente nele. Existem outras ferramentas mais avançadas como o Helm, mas para o meu exemplo templating com sed é o suficiente.

+ + + +

Agora toda vez que é feito commit na master o ambiente de staging é automaticamente atualizado, e ficou bem simples atualizar o ambiente production.

+ +

Fonte até agora: +lucassabreu/k8s-pr-envs

+ +

Agora que temos um processo de *build *e um de deploy automatizado, vamos adicionar a função de deploy por branch.

+ +

Basicamente precisamos de duas novas etapas no nosso CI, uma para subir o ambiente para uma branch e outro para destruir esse ambiente.

+ +

Primeiro vamos preparar o deploy por branch, para isso adicionei as seguintes linhas do buddy.yml:

+ + + +

No novo pipeline *Review *temos um build da imagem e um deploy de um ambiente para a branch em questão, para uma rota própria.

+ +

Eu acabei juntando essas duas ações, pois o build que roda na master vai versionando as imagens por commit, que é uma prática comum e que ajudaria a fazer o deploy para produção mais simples, porém branchs de desenvolvimento tendem a ser mais caóticas e iriam poluir muito o registro de imagens (se usar o do AWS seria um custo maior também), então preferi manter uma imagem por branch, até para não confundir também.

+ +

Se eu criar uma nova branch nesse momento, o Buddy automaticamente irá montar uma imagem para ela e inseri-la no OpenShift, se o nome da branch for a-change o nome do ambiente http://github-k8s-pr-envs-a-change.getup.io (talvez ainda esteja acessível).

+ +

Eu sei disso porque eu escrevi o script, eu poderia documentar isso no projeto para todos saberem como descobrir as URLs corretas, mas é mais do que natural esperar erros por esse caminho, um “o” que vira “a” na hora de digitar, um nome de branch estranho, etc.

+ +

Dessa forma fica difícil para a equipe de QA acessar aos ambientes por branch toda a vez correndo o risco de errar. Então fiz algumas alterações no k8s/deploy para utilizar a API de Deployments do GitHub para registrar as URLs diretamente nos commits.

+ + + +

Com isso faço algumas chamadas a API do GitHub usando o k8s/github-deployment (que é basicamente um facilitador para a API) e consigo registrar o deploy no GitHub.

+ +

O Pull Request da branch a-change fica assim:

+ +

+ +

Nesse botão “View deployment” está o link para a rota que criamos no deploy, e dessa forma fica extremamente fácil para a equipe de QA acessar os ambientes.

+ +

Fontes até agora: +lucassabreu/k8s-pr-envs

+ +

Ainda fica faltando uma última atividade por realizar, que é destruir o ambiente da branch quando os Testers não mais precisarem deles.

+ +

Então vamos adicionar uma nova pipeline no buddy.yml:

+ + + +

Nesse pipeline manual basicamente chamamos o script k8s/destroy (que esta abaixo) que simplesmente destrói o ambiente inativa ele no GitHub.

+ + + +

Agora podemos chamar ele para eliminar os ambientes de branch em aberto.

+ +

Fontes até o momento: +lucassabreu/k8s-pr-envs

+ +

Um comportamento que ainda não conseguimos reproduzir usando o Buddy e GitHub é destruir os ambientes quando o Pull Request é finalizado.

+ +

Para resolver esse problema podemos adicionar um webhook no GitHub e dispararmos o pipeline através desse webhook. Isso pode ser feito de várias formas, usando Lambda Functions ou um endpoint para esse fim.

+ +

No caso criei um novo Pod com um contêiner que criei (lucassabreu/buddy-works-pullrequest-webhook) e associei ela no meu projeto no GitHub.

+ +

+ +

E pronto tenho um processo completo, mesmo que se esqueçam de derrubar o ambiente no momento que o merge acontecer automaticamente o ambiente será destruído.

+ +

Abaixo esta o meu “webhook” caso opte por um caminho semelhante e poder ter uma base de como é a chamada. +lucassabreu/buddy-works-pullrequest-webhook +Contribute to buddy-works-pullrequest-webhook development by creating an account on GitHub.github.com

+ +

Foi mais complexo implementar a integração do OpenShift com o GitHub, mas ainda sim temos um grande ecossistema de integrações que nos permitem contornar essa questão, e o resultado continua sendo o esperado.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/index.html b/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/index.html new file mode 100644 index 0000000..1efe1dd --- /dev/null +++ b/public/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/index.html @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Ambientes por Branch com OpenShift Next Gen Usando Gitlab +

+

+ May 1, 2017 00:00 + · 1469 words + · 7 minute read + + + + + Desenvolvimento + + GitHub + + GitLab + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido.

+ +

Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção.

+ +

Esses problemas podem ser reduzidos, ou até eliminados; se, mesmo antes de aprovar os PRs; os Testers conseguissem trabalhar sobre essas melhorias e só repassadas para a branch principal após a aprovação deles.

+ +

Desse modo o fonte principal não só passou pelo Review de outros desenvolvedores, como foi testado pela equipe de QA, dando ainda mais confiança no mesmo.

+ +

Mas subir ambientes de homologação para cada um dos PRs, automaticamente ou sobre demanda, não é um problema trivial, envolve subir máquinas, garantir que esta rodando a versão atualizada, liberar portas, etc.

+ +

Uma forma que encontramos para resolver esse problema é utilizando um cluster Kubernetes (ou a versão da Red Hat o OpenShift), pois essas ações são bem simples de realizar com ele e ainda mais fáceis se forem automatizadas.

+ +

Agora vou explicar como montar um exemplo simples, um para o GitLab e outro para o GitHub, integrando com o OpenShift da Getup Cloud.

+ +

O cliente de linha de comando pode ser baixado em: +openshift/origin

+ +

GitLab: Integrations, CI, Registry e Environments

+ +

+ +

A primeira experiencia que fizemos foi com o GitLab, principalmente pela integração que ele traz com o Kubernetes, e as outras ferramentas que ele oferece que acabaram cobrindo todo o escopo do problema.

+ +

O que queremos montar é um ambiente por branch/PR que deve ser facilmente criado e destruído. Para demonstrar criei um repositório no GitLab com uma aplicação bem simples que apenas retorna uma página estática, mas é o suficiente para o objetivo.

+ +

retorno do serviço helloworldretorno do serviço helloworld

+ +

Primeiramente criei a base da aplicação usando Docker, a mesma gera uma página com o conteúdo acima. O que vale destacar nesse primeiro momento é que já configurei um processo de CI simples:

+ + + +

Nesse CI eu construo o contêiner da aplicação para cada commit feito e guardo no registro do próprio GitLab por branch, dessa forma tenho uma versão do meu contêiner para cada uma das branchs que forem criadas e vou atualizando essas versões automaticamente a cada alteração.

+ +

Fonte completo até aqui: +Files · v1

+ +

Nesse momento não tenho nenhum deploy, seja de ambiente de teste, produção ou por branch.

+ +

Então vamos adicionar um processo de deploy no OpenShift para o ambiente de produção e testes, sendo que o ambiente de testes é atualizado automaticamente para os commits na master e o de produção apenas quando um usuário disparar o deploy.

+ +

Para fazer isso primeiramente temos de configurar a integração entre o OpenShift e o GitLab, para isso vamos em Settings > Integrations e procuramos Kubernetes nas opções. O GitLab irá solicitar algumas informações sobre o ambiente, qual o Namespace, o URL da API do Kubernetes e uma forma de autenticação, que pode ser um Service Token ou um CA Bundle.

+ +

Dessa forma vou criar um novo Namespace, como fazer isso vai depender do seu vendor de Kubernetes, no caso da Getup Cloud, basta ir em https://portal.getupcloud.com/projects e criar um novo projeto, o nome do projeto será o Namespace.

+ +

+ +

Uma vez com o Namespace podemos criar um novo Service Token para ser usado no CI do GitLab, no caso para criar um Service Token é necessário criar uma ServiceAccount e dar permissões a mesma, e então pegar o Service Token dela. O script abaixo realiza essas operações:

+ +
**$ oc login https://api.getupcloud.com:443**
+Authentication required for https://api.getupcloud.com:443 ...
+Username: lucas.s.abreu@gmail.com
+Password:
+Login successful.
+...
+
+**$ oc project gitlab-k8s-pr-envs #usar o seu projeto**
+Now using project "gitlab-k8s-pr-envs" on server ...
+
+**$ oc create serviceaccount gitlab
+**serviceaccount "gitlab" created
+
+**$ oc policy add-role-to-user admin \
+    system:serviceaccount:gitlab-k8s-pr-envs:gitlab**
+
+**$ oc describe serviceaccount gitlab**
+Name:  gitlab
+Namespace: gitlab-k8s-pr-envs
+Labels:  <none>
+
+Image pull secrets: gitlab-dockercfg-qj9o9
+
+Mountable secrets:  gitlab-token-6ael2
+                    gitlab-dockercfg-qj9o9
+
+Tokens:             gitlab-token-6ael2
+                    gitlab-token-zkk6u
+
+**$ oc describe secret gitlab-token-6ael2**
+Name:  gitlab-token-6ael2
+Namespace: gitlab-k8s-pr-envs
+Labels:  <none>
+Annotations: kubernetes.io/service-account.name=gitlab
+  kubernetes.io/service-account.uid=zzz
+
+Type: kubernetes.io/service-account-token
+
+Data
+====
+ca.crt:  1066 bytes
+namespace: 18 bytes
+service-ca.crt: 2182 bytes
+token:  *token-do-openshift-que-estou-ocultando*
+
+ +

Agora que temos o token gerado basta adicionar essas informações no GitLab.

+ +

+ +

Você pode confirmar se passou os dados corretos com o botão de teste no GitLab.

+ +

Certo, agora o GitLab consegue conversar com o OpenShift. Podemos então alterar nossas regras de CI para criar duas novas etapas: *staging *e production, que irão realizar o deploy dos nossos ambientes padrões, sendo que *staging *será disparada automaticamente por commits na master e *production *ficará como manual.

+ +

O .gitlab-ci.yml ficou como abaixo (já usando a integração com OpenShift):

+ + + +

As mudança são os novos stages staging e production; as variáveis novas KUBE_DOMAIN e CI_ENVIRONMENT_URL; e o script k8s/deploy. Vamos por partes.

+ +

A variável KUBE_DOMAIN vai ajudar a deixar o nosso processo de deploy mais simples, basicamente nós colocamos nela o domínio base que o OpenShift usa para expor as rotas dele, no caso da Getup seria “getup.io”. A CI_ENVIRONMENT_URL é completar a KUBE_DOMAIN e serve para informar o k8s/deploy qual endereço ele deve expor o ambiente, ele deve sempre terminar com o KUBE_DOMAIN e deve ser igual a url da chave environment, pois é por essa chave que o GitLab sabe onde os ambientes estão expostos.

+ +

As etapas de staging e production irão fazer o deploy dos nossos ambientes e como comentei antes o ambiente de staging terá deploy automático para todo commit na master, enquanto production irá esperar uma ação do usuário. No mais as duas etapas são iguais mudando apenas a URL que estão sendo expostas. Estou usando a imagem lucassabreu/openshift-k8s-cli que é basicamente um ubuntu com o oc instalado.

+ +

O script k8s/deploy está abaixo e ele basicamente se autentica contra a API do OpenShift usando o Service Token que criamos antes, destrói a aplicação antiga e executa o deploy de uma nova.

+ + + +

Vale ressaltar que é importante marcar os componentes do ambiente com app=$CI_ENVIRONMENT_SLUG, pois é assim que o GitLab consegue encontrar eles e lhe retornar status sobre eles.

+ +

Também estou usando um truque de “templating” com o YAML que define os ambientes para poder inserir as variáveis de cada ambiente nele. Existem outras ferramentas mais avançadas como o Helm, mas para o meu exemplo templating com sed é o suficiente.

+ + + +

Agora, depois que do commit das alterações, o GitLab faz o build, o deploy da staging e production (manual); podemos ver na área Environments do GitLab que os ambientes estão rodando, ele inclusive traz alguns comandos para facilitar a vida: link para a URL do ambiente, terminal dentro do Pod e opção de Re-deploy.

+ +

+ +

Fonte completo até agora: +Files · v2

+ +

Agora que temos o build da nossa aplicação e um deploy automatizado, vamos adicionar a função de deploy por branch.

+ +

Basicamente precisamos de duas novas etapas no nosso CI, uma para subir o ambiente para uma branch e outro para destruir esse ambiente para evitar consumir recursos sem necessidade.

+ +

Para isso fiz as seguintes alterações nos .gitlab-ci.yml:

+ + + +

Basicamente adicionei as duas novas etapas, review basicamente faz a mesma coisa que staging, mas usa um nome de ambiente dinâmico baseado na branch; e tem um enviroment:on_stop que basicamente indica o que fazer quando a branch for removida.

+ +

Na etapa stop_review executo alguns comandos para eliminar o ambiente quando for chamada, é importante deixar essa como manual para que ela não apague sozinha o ambiente quando terminar as outras etapas.

+ +

Os comandos da etapa stop_review precisam estar definidos diretamente no .gitlab-ci.yml, pois quando essa etapa for executada é possível que a branch e commits dela não existam mais, é também por esse motivo que informamos a variável GIT_STRATEGY como NO evitando que sequer seja checado se a branch/commit de origem existem.

+ +

Agora quando crio uma nova branch automaticamente é criado um novo ambiente para a mesma no OpenShift.

+ +

Para testar criei a branch a-change e fiz a seguinte alteração:

+ + + +

Assim que dei o git push começou o deploy do novo ambiente r/a-change, logo que terminou pude verificar na área de ambientes do GitLab que estava rodando, e tem as mesmas operações disponíveis que os outros, mais a opção de parada (stop_review):

+ +

+ +

Já rodando as alterações:

+ +

+ +

Fontes com essas alterações em: +Files · v3

+ +

Após essas alterações podemos implementar a regra de merge apenas após testes pela equipe de QA, sem interferência de outras atividades que foram aplicadas no meio do caminho e permitindo um controle melhor sobre o que esta pronto para ir para a produção.

+ +

O postagem acabou ficando bem grande apenas para falar do processo no GitLab, por isso vou criar um segundo post sobre como fazer isso no GitHub, abaixo esta o link para ele: +Ambientes por Branch com OpenShift Next Gen usando GitHub

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/index.html b/public/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/index.html new file mode 100644 index 0000000..c78a4bd --- /dev/null +++ b/public/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/index.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits +

+

+ Nov 13, 2017 00:00 + · 839 words + · 4 minute read + + + + + Desenvolvimento + + Clean Code + + GitHub + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação.

+ +

A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir

+ +
+

ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation.

+
+ +

Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos.

+ +

Milestones/Épicos

+ +

O sucesso começa com a correta definição dos objetivos a serem alcançados. Um milestone, ou épico, dependendo da ferramenta usada pelo time, é uma forma de agruparmos uma série de tarefas e serve para termos uma visão geral do que estamos entregando para nossos usuários/clientes.

+ +

Usando uma definição mais formal (traduzida e adaptada):

+ +
+

Um milestone é um evento significativo em um projeto que ocorre em um determinado momento. […] usa entregáveis para identificar grandes segmentos de trabalho e datas finais. Milestones são pontos de controle em um projeto e deve ser fácil para todos reconhecê-los.

+
+ +

Por exemplo, se estamos desenvolvendo um novo site, três milestones poderiam ser:

+ +
    +
  • Criar o novo design

  • + +
  • Migrar o conteúdo para o novo design

  • + +
  • Publicar o novo site

  • +
+ +

Além do nome, o milestone deve ter uma boa descrição definindo o impacto que esta entrega trará ao projeto.

+ +

Tarefas

+ +

Tendo em mente a “big picture” o próximo passo é quebrarmos esta entrega em pequenas tarefas. Para facilitar o processo nós criamos um template que nos ajuda a responder perguntas importantes como: o que é esperado? é um bug? é uma nova funcionalidade? é urgente?

+ +

Na Coderockr estamos usando o Github Issues como repositório de tarefas, então fazemos proveito de uma funcionalidade útil do Github, os templates. Em cada projeto criamos um arquivo chamado ISSUE_TEMPLATE.md que é automaticamente usado pela interface do Github no momento da criação da tarefa. Atualmente o conteúdo deste arquivo é:

+ +

ISSUE_TEMPLATE.md

+ +

O resultado da sua utilização pode ser vista na imagem abaixo:

+ +

Criando uma nova issueCriando uma nova issue

+ +

Nem todas as informações são necessárias em todas as tarefas. Por exemplo, alguns detalhes fazem mais sentido para bugs do que para melhorias. Mas ter este guia tem nos ajudado muito a pensar nos detalhes da necessidade, além de favorecer a criação de tarefas menores.

+ +

Uma observação. Apesar do inglês ser a língua default (rá!) da área de desenvolvimento, não vejo problemas em adotar o nosso idioma no momento de documentarmos os processos. Acho que o mais importante é a equipe/projeto chegar a uma decisão de qual idioma usar e seguir um padrão. O importante é a comunicação.

+ +

Outro ponto que pode ser observado na imagem é o uso das labels do Github. Usamos elas para definir a categoria da tarefa, seu tipo, prioridade, complexidade, etc. O Lucas Abreu escreveu um post sobre como estamos usando as labels, além de um script para facilitar a criação delas em novos projetos.

+ +

Na Code:Nation estamos testando o Pipefy como ferramenta de gerenciamento de projetos e ele permite customizarmos as tarefas para atender este mesmo padrão:

+ +

Criando uma tarefa no PipefyCriando uma tarefa no Pipefy

+ +

Pull requests/merge requests

+ +

No nosso dia a dia usamos muito o conceito de “pair review”, por isso todas as tarefas obrigatoriamente passam pelo processo de criação de um pull request e aprovação de outras pessoas.

+ +

No Github basta criar um arquivo chamado PULL_REQUEST_TEMPLATE.md que será usado como template. Atualmente nosso arquivo é

+ +

PULL_REQUEST_TEMPLATE.md

+ +

mas ele pode mudar um pouco, dependendo do projeto.

+ +

Uma dica é usar as hashtags de comandodo Github (que também funcionam no Bitbucket e Gitlab) como closes, fixes etc. Assim a interface da ferramenta consegue fazer ligações entre tarefas e pull requests, ou mesmo finalizar uma tarefa no momento que o pull request é aceito.

+ +

Nós padronizamos a criação do nome da branch usando o mesmo id sequencial da tarefa. Então a tarefa 171 gera uma branch chamada issue-171, que é usada no pull request. Algumas equipes acham isso pouco produtivo e preferem um nome mais explicativo para as branches, mas nos adaptamos melhor a este formato simples.

+ +

Commits

+ +

Ao criar um commit devemos sempre pensar em nós mesmos navegando pelo histórico, tentando identificar onde determinada modificação foi realizada no projeto.

+ +

O Jean Carlo Machado tem um tópico do seu curso de Git (recomendo fortemente!) que fala sobre isso. Vou destacar aqui alguns pontos que acho importantes:

+ +
    +
  • Escreva na forma imperativa. Ex: ajuste de estilo no formulário X ao invés de ajustado estilo no formulário X

  • + +
  • Se é difícil dar nomes talvez seja melhor quebrar o commit antes.

  • + +
  • Mais commits é melhor que menos commits.

  • + +
  • Commits não deveriam quebrar o build (serem atômicos).

  • + +
  • Commits não deveriam necessitar mais de 5 a 10 minutos para serem compreendidos e revisados

  • +
+ +

Boas práticas de comunicação devem ser exercitadas e aprimoradas no dia a dia de cada projeto e equipe. O objetivo deste post não é apenas sugerir as soluções que estamos usando, mas sim instigar o leitor a olhar para seu processo e identificar pontos de melhoria, discuti-los com os times e criar um ambiente de melhoria constante.

+ +

Se você tem outras sugestões por favor compartilhe!

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/index.html b/public/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/index.html new file mode 100644 index 0000000..1e2acec --- /dev/null +++ b/public/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como Lidar com Senhas Inseguras em Projetos Legados · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como Lidar com Senhas Inseguras em Projetos Legados +

+

+ May 8, 2017 00:00 + · 572 words + · 3 minute read + + + + + Desenvolvimento + + Criptografia + + Software Security + + Ferramentas + + + + +

+

by Leandro Lugaresi

+
+ +
+ + +

Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança.

+ +

Por que funções hash não devem ser usadas em senhas?

+ +

Basicamente funções hash foram criadas para verificar a integridade de dados de forma eficiente e no menor tempo possível, sendo um grande problema quando estamos lidando com senhas pois não fornecem nenhuma defesa contra ataques de força bruta.

+ +

Se você acha que isso não é algo tão importante ou não sabia disso, o Jeff Atwood fez um post bem detalhado sobre o assunto em 2012! +Speed Hashing +The good news is that hashing algorithms (assuming you didn’t roll your own, God forbid) were designed by professional…

+ +

Agora que sabemos do problema na utilização dessas funções podemos ir para as soluções:

+ +

Solução 1 — Pare de usar senhas!

+ +
+

ALTER TABLE users DROP COLUMN password;

+
+ +

Senhas estão obsoletas a um bom tempo e podem/devem ser substituídas por mecanismos possivelmente mais seguros. Muitas empresas como Medium, Telegram, Instagram, Uber e WhatsApp já aderiram a essa prática.

+ +

Ficou com medo de fazer uma mudança tão grande? Bom, você deveria ficar com medo é de ser um dos responsáveis por garantir a segurança dessas informações!

+ +

Embora essa opção possa dar trabalho para se utilizar em projetos que já estejam em produção é possivelmente mais econômico utilizar serviços de terceiros ao invés de manter uma solução você mesmo.

+ +

Algumas opções que podem ser usadas:

+ +
    +
  • Auth0 — A Auth0 é uma empresa que prove diversos produtos e serviço que relacionados a autenticação e autorização e facilitam muito a sua vida com segurança.

  • + +
  • Keycloak — O Keycloak é um sistema open source para gerenciamento de acesso e usuários, é o melhor identity provider open source que eu já encontrei e é mantido pela Redhat.

  • + +
  • Usar uma biblioteca como a OmniAuth e utilizar algum dos provedores de login.

  • + +
  • Account Kit — O Account Kit é um produto do Facebook para prover registro e login de usuários através de SMS ou email, sem a necessidade de senhas e com o foco principal em aplicativos mobile.

  • +
+ +

Solução 2 — Migrar as senhas para uma solução mais segura

+ +

Existem algumas abordagens utilizadas para migrar as senhas, por exemplo:

+ +

Podemos forçar todos os usuários a recuperarem as senhas e utilizar o novo algoritmo quando a nova senha for utilizada. Embora está opção não seja recomendável.

+ +

Outra opção é ir utilizando o novo algoritmo nos novos usuários e nos usuários antigos conforme eles forem se logando, essa solução é ruim pois os usuários inativos continuarão com hashes inseguros se acontecer um vazamento da sua base de dados. Podemos resolver isso removendo a senha de usuários que não se logam a muito tempo.

+ +

Para mim a melhor solução nesse caso é uma abordagem um pouco diferente, vamos utilizar o resultado do hash antigo como entrada para o novo algoritmo de senhas, dessa forma precisamos apenas fazer a migração dos hashes antigos para o novo e os usuários não irão perceber!

+ +

Se você ficou interessado nessa abordagem o pessoal da Paragon Initiative possuí um post bem detalhado sobre essa prática e quais algoritmos de password hash devem ser utilizados.

+ +

Originally published at www.leandrolugaresi.com.br.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/index.html b/public/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/index.html new file mode 100644 index 0000000..526964f --- /dev/null +++ b/public/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/index.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Como Montar um Bom Currículo para Desenvolvedores e Designers +

+

+ Mar 30, 2017 00:00 + · 578 words + · 3 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+ + +

Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers.

+ +

Vamos lá…Vamos lá…

+ +

Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: +> leitura de currículos -> entrevista -> teste técnico -> entrevista com a equipe.

+ +

O processo é um “funil”, ou seja, o currículo é a primeira etapa e é geralmente onde encontro o maior número de problemas. Currículos com pouca informação, bagunçados e que acabam mais atrapalhando do que ajudando.

+ +

Quando recebo um currículo para analisar, as informações que eu procuro geralmente são: quem é a pessoa, o que ela fez, onde ela trabalhou e o que ela conhece. Então vou separar o post nestes quatro tópicos e montar um exemplo usando o meu próprio currículo. Não sou especialista em recursos humanos então esta é apenas a minha opinião e experiência depois de sete anos lendo currículos.

+ +

Quem é você?

+ +

As informações mais importantes são Nome, idade, cidade, estado e formas de contato como e-mail, site pessoal, Skype. Algumas informações não são importantes como rua (não vou mandar uma carta para você), Facebook, Twitter, telefone (eu dificilmente ligo para os meus pais, imagina para uma pessoa que acabei de conhecer). A ideia aqui é facilitar a vida de quem vai ler seu currículo para entrar em contato e separar por cidade por exemplo.

+ +

O que você fez?

+ +

Esse é um ponto importante e fico surpreso como pouca gente usa isso. É aqui a sua chance de mostrar o que é capaz de fazer, o que já realizou. Se você é um desenvolvedor tente lembrar os projetos que teve orgulho de trabalhar, que desempenhou um papel importante, quais projetos open source contribuiu, etc. Se é palestrante inclua links para slides, ou posts, ou livros. Designers podem citar links para seus portfolios em sites pessoais ou especializados como Behance, Dribbble, etc.

+ +

Onde você trabalhou?

+ +

Uma lista dos locais onde você trabalhou, com uma pequena frase resumindo quais papeis desempenhou lá. Se você teve experiências em áreas diferentes da relacionada a vaga eu não acho muito importante. Já recebi currículos para vaga de desenvolvedor citando experiências que não agregam muito à area, como mecânico.

+ +

O que você conhece?

+ +

Aqui pode-se citar os cursos de graduação, pós-graduação e quaisquer outros cursos e certificações que sejam relevantes. Curso de datilografia e onde você fez o ensino médio dificilmente contam muitos pontos ;)

+ +

E para finalizar, uma dica importante: o formato do arquivo. Por favor, não mande em nada diferente de PDF. É a melhor forma porque todos os sistemas operacionais tem leitores de PDF, você garante que nenhuma fonte legal que usou vai quebrar quando alguém abrir o seu documento do Word no Pages ou OpenOffice. E se quiser facilitar ainda mais a vida das pessoas (e ganhar ainda mais pontos) nomeie o arquivo com seu nome. Algo como CurriculoEltonMinetto.pdf. Sem acentos ou espaços, porque você quer mostrar o quanto entende de tecnologia, certo?

+ +

Se quiser ver um exemplo eu formatei o meu currículo neste formato.

+ +

Como eu comentei lá no começo, essas dicas são baseadas apenas na minha experiência e em nenhuma ciência ou norma. Se você ou sua empresa tiverem outras sugestões, ou não concordar com algo, aproveite para compartilhar sua opinião.

+ +

Originally published at http://eltonminetto.net/post/2017-03-31-dicas-curriculo/ on March 31, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/culture-code-da-coderockr/index.html b/public/posts/2017/culture-code-da-coderockr/index.html new file mode 100644 index 0000000..0f93d10 --- /dev/null +++ b/public/posts/2017/culture-code-da-coderockr/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Culture Code da Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Culture Code da Coderockr +

+

+ Jan 9, 2017 00:00 + · 230 words + · 2 minute read + + + + + Desenvolvimento + + + + +

+

by Elton Minetto

+
+ +
+

Hoje é um dia importante para nós da Coderockr pois estamos tornando público nosso Culture Code.

+ +

Essa é uma prática que se tornou famosa desde que a Netflix publicou o seu em 2009 e desde então várias empresas fizeram o mesmo.

+ +

Citando o post da Resultados Digitais sobre o assunto:

+ +
+

Culture Code é um documento que serve para uma série de coisas: um guia para os colaboradores da empresa, um material para atração de novas pessoas para o time, critérios de seleção e avaliação de desempenho, um norte para onde queremos evoluir com as nossas práticas no dia a dia e em última instância até como um “manifesto” de como achamos que o trabalho deveria ser na maioria dos lugares.

+
+ +

Um ponto importante sobre o assunto é que a cultura não é algo que a empresa dita pois ela é criada pelas pessoas que trabalham nela, no dia a dia. O máximo que a empresa consegue fazer nesse sentido é mostrar o caminho, influenciar através de exemplos vindos do comportamento dos fundadores e das pessoas que são contratadas. É por esse motivo que apenas agora, depois de quase sete anos de existência, estamos publicando esse documento. Ele foi gerado pela equipe depois de uma análise do que acreditamos, como trabalhamos e como queremos continuar evoluindo.

+ +

Eis nosso Culture Code, versão 1.0.

+ + + +

Ele também está disponível em Markdown no nosso Github.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/definindo-apis-com-o-api-blueprint/index.html b/public/posts/2017/definindo-apis-com-o-api-blueprint/index.html new file mode 100644 index 0000000..e228e5b --- /dev/null +++ b/public/posts/2017/definindo-apis-com-o-api-blueprint/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Definindo APIs com o API Blueprint · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Definindo APIs com o API Blueprint +

+

+ Jun 28, 2017 00:00 + · 803 words + · 4 minute read + + + + + Desenvolvimento + + API + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

Definindo APIs com o API Blueprint

+ +

Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs.

+ +

Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. E gerar “mocks” e testes destas anotações também é um desafio complexo.

+ +

Com isso em mente fizemos algumas pesquisas e chegamos a duas alternativas: Swagger e API Blueprint. Ambos são padrões de documentação de APIs e tem suas vantagens e desvantagens:

+ +
    +
  • Swagger: é o padrão de mercado e vem sendo adotado por várias empresas como a Amazon. Para descrever a API é necessário criar arquivos JSON, o que facilita bastante para os programadores, mas é um pouco complexo para visualizar e alterar seu conteúdo por pessoas não tão envolvidas com código. Existe uma série de ferramentas que podem ajudar neste processo, mas isso tornou-se uma pequena barreira para nós. (bom, pelo menos não é YML… Já comentei que odeio YML?)

  • + +
  • API Blueprint: é uma especificação mais recente e foi criada por uma empresa chamada apiary, comprada pela Oracle. A grande vantagem do API Blueprint é ser descrita em Markdown, o que facilita bastante a edição dos documentos, mesmo por quem não tem familiaridade com código. Além disso, existe uma série de ferramentas disponíveis que permitem gerar documentos no padrão Swagger, “mock servers” e testes.

  • +
+ +

Optamos pelo API Blueprint pela facilidade de uso e agilidade que isso nos trouxe. Vou demonstrar com um pequeno exemplo.

+ +

A definição é escrita em um arquivo no formato Markdown, que pode ser nomeado como “api.md” ou “api.apib”. Ambos funcionam, mas se usarmos a extensão .apib podemos aproveitar plugins para editores como o SublimeText que auxiliam na escrita. Os plugins podem ser encontrados no site oficial da especificação.

+ +

Nosso exemplo:

+ + + +

No site da especificação é possível ver os detalhes, mas basicamente o que fazemos é definir as URLs, o formato das requisições e das respostas. Podemos definir estruturas de dados simples e complexas e usá-las para descrever o que a API espera de entradas e o que deve gerar de saída. O documento é relativamente simples de entender e alterar, o que foi um dos pontos de maior peso para nossa escolha. Mesmo assim, podemos melhorar a apresentação.

+ +

Gerando documentação

+ +

Dentre as ferramentas disponíveis no site oficial a aglio é uma das mais interessantes para geração de uma apresentação HTML da nossa definição. Ele pode ser instalado via:

+ +
npm install -g aglio
+
+ +

Para gerar a documentação podemos usar o comando:

+ +
aglio -i api.apib --theme-full-width --no-theme-condense -o index.html
+
+ +

No site da ferramenta é possível ver todas as opções de customização de temas e apresentação. Outro comando útil é o:

+ +
aglio -i api.apib --theme-full-width --no-theme-condense -s
+
+ +

Ele gera um servidor local, na porta 3000, que fica observando alterações no arquivo .apib e atualiza automaticamente a página da documentação. Isso facilita bastante a manutenção do documento. Um exemplo da documentação gerada:

+ +

+ +

A documentação ajuda muito no processo de desenvolvimento dos clientes da API, mas podemos ir além.

+ +

Gerando um mock server

+ +

Com a API definida as equipes de frontend (web, mobile, etc) e backend (quem vai desenvolver a API) podem trabalhar em paralelo. Para facilitar ainda mais podemos criar um “mock server” que vai gerar dados falsos baseados na definição da API. Assim a equipe de frontend pode trabalhar sem precisar esperar a equipe de backend terminar a implementação. Para isso vamos usar outra ferramenta, a drakov.

+ +

Para instalar a ferramenta basta executar:

+ +
npm install -g drakov
+
+ +

E para gerar o servidor:

+ +
drakov -f api.apib -p 4000
+
+ +

Desta forma temos uma API funcional que pode ser usada para testes e desenvolvimento.

+ +

O passo final é definirmos uma forma de validarmos nossa API.

+ +

Testando

+ +

Podemos usar uma ferramenta chamada apib2swagger para gerar um arquivo Swagger da nossa API e realizarmos testes usando algum recurso do Swagger. Optamos por usar o dredd que automatiza os testes, tanto usando API Blueprint quanto Swagger.

+ +

Para instalá-lo:

+ +
npm install -g dredd
+
+ +

E para executar os testes:

+ +
dredd api.apib [http://localhost:4000](http://localhost:4000)
+
+ +

Neste exemplo estou usando o dredd para testar nosso “mock server”, por isso o resultado deve ser positivo. Podemos colocar o dredd na execução do nosso servidor de integração contínua para garantir que a implementação da API sempre esteja de acordo com a documentação, evitando surpresas e documentos abandonados.

+ +

Com o conjunto API Blueprint + aglio + drakov + dredd conseguimos mapear todo o ciclo de vida de uma API: definição, documentação, desenvolvimento e testes. Os resultados estão sendo bem positivos e devemos adotar essa solução em todos os novos projetos.

+ +

Originally published at http://eltonminetto.net/post/2017-06-29-definindo-apis-com-api-blueprint/ on June 29, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/dois-anos-de-coderockr/index.html b/public/posts/2017/dois-anos-de-coderockr/index.html new file mode 100644 index 0000000..4c1831a --- /dev/null +++ b/public/posts/2017/dois-anos-de-coderockr/index.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dois Anos de Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Dois Anos de Coderockr +

+

+ Feb 26, 2017 00:00 + · 553 words + · 3 minute read + + + + + Carreira + + + + +

+

by Vinicius Dacal

+
+ +
+

Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência.

+ +

Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. Porém, no local onde eu estava não havia espaço para aplicar e expandir esses conhecimentos.

+ +

Eu estava determinado a buscar algo novo, foi então que me candidatei para uma vaga na Coderockr. Recebi um contato do Elton Minetto, passei pelo processo seletivo e fui chamado para me juntar ao time.

+ +

A vaga era presencial, mesmo assim, comecei trabalhando remotamente até que pudesse me organizar para mudar para Joinville. Devido às metodologias que utilizamos para gerenciar o time e distribuir tarefas, a experiência foi a melhor possível. Também tenho que agradecer aos outros membros do time que estavam disponíveis para uma call sempre que eu precisava.

+ +

Na Coderockr nós temos a política de que se um membro do time estiver travado por mais de meia hora, o mesmo deve pedir ajuda a outro membro. Não é vergonha não saber, o time está ali para ajudar.

+ +

A mudança para Joinville fez com que a experiência fosse ainda mais enriquecedora. Estar com o time todo ali do lado, facilitava ainda mais a comunicação. A troca de experiência se fazia no desenvolvimento das tarefas, no Code Review e até nos bate-papos na hora do almoço.

+ +

Joinville por si só, já é uma cidade forte na área de desenvolvimento. Temos alguns Meetups mensais para participar, com temas como Machine Learning, Artesania de Software e Frontend.

+ +

Dentro desses dois anos, eu pude aprender e aplicar inúmeras tecnologias, como Angular, React, React Native, Webpack, Docker, TDD e a lista continuaria infinitamente. Sempre há espaço para inovação dentro do trabalho e somos constantemente incentivados a aprender e a compartilhar nossos conhecimentos.

+ +

Trabalhei em produtos incríveis como o Planrockr, o Compufácil e o Unoplus. Em todos eles tive a oportunidade de participar ativamente em tomadas de decisão, definição da arquitetura do sistema, implementação de testes unitários e desenvolvimento de features, mesmo em épocas que eu era novo no time.

+ +

No começo de 2016, o Elton Minetto começou um projeto pessoal de mentoria com os funcionários. Isso nos ajudou a evoluir ainda mais, conseguimos atingir objetivos como escrever mais posts, palestrar em eventos, contribuir para projetos Open Source e até para o core do PHP. A evolução foi notável em todos os colaboradores.

+ +

Esses dois anos trabalhando na Coderockr mudaram minha forma de pensar sobre desenvolvimento de Software.

+ +

Acredito que toda a troca de experiência, liberdade e confiança que me proporcionaram, foram as coisas que mais me ajudaram a evoluir nesse período.

+ +

Evoluir, aprender e compartilhar conhecimento são coisas que estão no DNA da Coderockr. Recentemente nós publicamos o nosso Culture Code onde é possível ver o que nos motiva a fazer o que fazemos.

+ +

Nós estamos com vagas abertas! Se você, assim como eu, compartilha desses valores e acredita nesse propósito e nessa missão, nós queremos trabalhar com você! Confira a descrição e nos envie seu currículo.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/gerenciando-dependencias-em-golang/index.html b/public/posts/2017/gerenciando-dependencias-em-golang/index.html new file mode 100644 index 0000000..e479f24 --- /dev/null +++ b/public/posts/2017/gerenciando-dependencias-em-golang/index.html @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gerenciando Dependências em Golang · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Gerenciando Dependências em Golang +

+

+ Jul 27, 2017 00:00 + · 500 words + · 3 minute read + + + + + Desenvolvimento + + GO + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+ + +

Gerenciando dependências em Golang

+ +

Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos.

+ +

A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. Para resolver isso a comunidade começou a desenvolver uma ferramenta para ser o padrão das próximas versões da linguagem.

+ +

Esta ferramenta é o dep que está em acelerado desenvolvimento. Apesar de ainda não estar pronto ele já pode ser considerado “safe for production use”, segundo o site oficial.

+ +

Neste post vou mostrar como usá-lo em um projeto já existente, o primeiro que eu desenvolvi em Go.

+ +

O primeiro passo é instalar a ferramenta, usando o comando:

+ +
go get -u github.com/golang/dep/cmd/dep
+
+ +

Depois basta entrar no projeto e executar o comando:

+ +
cd goCep dep init
+
+ +

A saída do comando foi:

+ +
Using ^1.4.0 as constraint for direct dep github.com/gorilla/mux Locking in v1.4.0 (bcd8bc7) for direct dep github.com/gorilla/mux Locking in v1.1 (1ea2538) for transitive dep github.com/gorilla/context Using master as constraint for direct dep github.com/andelf/go-curl Locking in master (f8b334d) for direct dep github.com/andelf/go-curl Using master as constraint for direct dep github.com/ryanuber/go-filecache Locking in master (52ce07f) for direct dep github.com/ryanuber/go-filecache
+
+ +

O que o dep fez foi analisar os meus arquivos .go procurando pelos import e ao encontrá-lo ele fez os seguintes passos:

+ +
    +
  • criou um diretório chamado vendor

  • + +
  • fez o go get de cada dependência salvando os arquivos no vendor

  • + +
  • criou um arquivo chamado Gopkg.toml com as definições das dependências

  • + +
  • criou um arquivo chamado Gopkg.lock com os detalhes das versões instaladas, incluindo o commit específico que está sendo usado de cada dependência

  • +
+ +

Para quem está usando o Composer do PHP vai reconhecer alguns destes passos pois o resultado é parecido com o composer.json e composer.lock.

+ +

Agora basta salvar no repositório os arquivos Gopkg.toml e Gopkg.lock. Alguns projetos defendem a ideia de salvar no repositório o diretório vendor para facilitar a compilação, mas eu não acho uma alternativa muito válida. Prefiro salvar apenas os arquivos das definições das dependências e não o código delas.

+ +

Para instalar as dependências novamente basta ter o dep instalado e executar:

+ +
dep ensure
+
+ +

Quando uma nova dependência for necessária no projeto basta adicionar ela no código usando o import e executar novamente o dep ensure que ela será instalada.

+ +

O dep possui mais algumas funcionalidades que podem ser vistas no site oficial, como compatibilidade com outros gerenciadores (Glide por exemplo), atualização das dependências, configurações do arquivo .toml, etc.

+ +

O plano é a ferramenta ser incluída por padrão em todas as instalações da linguagem a partir da versão 1.10, o que vai facilitar ainda mais o uso no dia a dia. Sem dúvida vai ser uma ótima adição a linguagem.

+ +

Originally published at http://eltonminetto.net/post/2017-07-28-gerenciando-dependencias-golang/ on July 28, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-com-react-1-introducao/index.html b/public/posts/2017/iniciando-com-react-1-introducao/index.html new file mode 100644 index 0000000..3fc8937 --- /dev/null +++ b/public/posts/2017/iniciando-com-react-1-introducao/index.html @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando com React - #1 Introdução · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando com React - #1 Introdução +

+

+ Mar 13, 2017 00:00 + · 398 words + · 2 minute read + + + + + Desenvolvimento + + JS + + React + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação.

+ +

Interface Declarativa

+ +

O React permite que nós construamos interfaces interativas de uma maneira fácil e elegante. Com ele, é possível desenvolver Views que são renderizadas de acordo com cada estado da aplicação. Ele se responsabiliza por renderizar e atualizar somente o necessário, o que lhe dá um ganho de performance em comparação a Frameworks mais antigos que reconstruíam todo o HTML a cada alteração no estado. Sua forma declarativa de criar componentes, torna nosso código mais previsível e fácil de debugar.

+ +

Abaixo segue um exemplo da definição de um componente que chamaremos de Button:

+ + + +

Componente Button renderizado.Componente Button renderizado.

+ +
+

Em um próximo post, abordaremos os passos para criar um componente e explicaremos em detalhes cada item que compõe o código acima.

+
+ +

Componentes

+ +

Somos levados a repensar o desenvolvimento de nossas aplicações de modo que toda a interface seja baseada em componentes. É possível construir componentes simples que gerenciam seu próprio estado e utilizá-los para compor componentes mais complexos. Desse modo, é possível levar a reutilização de código a um novo nível. A lógica dos componentes é toda escrita em Javascript e não em templates, isso nos permite manter separados o estado da nossa aplicação do DOM.

+ +

Segue abaixo um exemplo da definição de um componente GroupButton, que reutiliza o componente Button que vimos acima:

+ + + +

Componente GroupButton renderizado.Componente GroupButton renderizado.

+ +

Desacoplamento

+ +

Como dissemos anteriormente, o React se responsabiliza somente pela View e não opina sobre o resto das tecnologias utilizadas. Sua natureza síncrona e sua propagação de dados unidirecional, permite que ele seja facilmente integrado a outras libs.

+ +

Conclusão

+ +

Com essas características, o React se faz uma ótima escolha para construção de aplicações robustas que dependem de manutenibilidade, escalabilidade e perfomance. Inúmeras empresas estão construindo ou migrando suas aplicações para essa tecnologia, por conta disso o mercado tem se mostrado bem aquecido e semanalmente aparecem anúncios de vagas para profissionais que conhecem a biblioteca.

+ +

No próximo post aprenderemos a criar a estrutura básica de um projeto React.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/index.html b/public/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/index.html new file mode 100644 index 0000000..098a987 --- /dev/null +++ b/public/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/index.html @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando com React - #2 Criando a Estrutura do Projeto · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando com React - #2 Criando a Estrutura do Projeto +

+

+ Mar 20, 2017 00:00 + · 1268 words + · 6 minute read + + + + + Desenvolvimento + + Arquitetura + + JS + + React + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente.

+ +

Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando.

+ +

Instalando Create React

+ +
+

Para a instalação do CLI é necessário que você já tenha o Node e o NPM instalados na sua máquina. Para verificar se eles estão instalados, execute os seguintes comandos no terminal: +$ node -v +$ npm -v +É aconselhável que a versão do Node seja igual ou superior à 5.10.0 e do NPM seja igual ou superior à 3.0.0. +Caso você ainda não tenha o Node e o NPM instalados, faça download pelo site e siga os passos do instalador: https://nodejs.org/en/

+
+ +

output dos comandos node -v e npm -voutput dos comandos node -v e npm -v

+ +

Com o node e o npm instalados, execute o seguinte comando:

+ +
**$** npm install -g create-react-app
+
+ +

O comando acima instala globalmente o módulo create-react-app, para que o mesmo fique acessível pelo terminal. O Processo de instalação deve finalizar em alguns minutos.

+ +

Criando o primeiro projeto

+ +

Com o comando abaixo, iremos criar um projeto chamado my-app:

+ +
**$** create-react-app my-app
+
+ +

O comando acima gera a estrutura do nosso projeto e a coloca em uma nova pasta com o mesmo nome, my-app.

+ +

Vamos entrar no diretório do projeto utilizando o comando:

+ +
**$** cd my-app
+
+ +

E por fim, iniciaremos o build da aplicação.

+ +
**$** npm start
+
+ +

Além de iniciar o build da aplicação, o comando acima levanta um servidor e fica escutando por alterações nos arquivos.

+ +

Já é possível acessar a url http://localhost:3000 no navegador e ver uma tela de boas vindas:

+ +

+ +

Explorando a estrutura do projeto

+ +

Há inúmeras maneiras de organizar um projeto React, mas esse não é o foco desse post. Aqui, iremos explorar a estrutura default para entendermos como as partes se conectam, e o que realmente é necessário para o bootstrap do React.

+ +

O create-react-app cria a seguinte estrutura inicial:

+ +
my-app/
+  README.md
+  node_modules/
+  **package.json**
+  .gitignore
+  public/
+    favicon.ico
+    **index.html**
+  src/
+    **App.css
+    App.js
+    App.test.js
+    index.css
+    index.js**
+    **logo.svg**
+
+ +

Vamos manter nosso foco nos arquivos package.json, public/index.html e nos arquivos da pasta src.

+ +

Scripts e dependências

+ +

Observe abaixo o conteúdo do package.json que lista as dependências do projeto e possui alguns aliases para os scripts envolvidos no build:

+ + + +

Como podemos ver no arquivo acima, temos os módulos react e react-dom declarados como dependência, e o react-scripts declarado como uma dependência de desenvolvimento. O react-scripts é o módulo que encapsula todos os scripts e configs do build.

+ +

Também podemos observar que estão sendo declarados alguns scripts, que possuem funcionalidades conforme listadas abaixo:

+ +
    +
  • start: Inicia o build no modo de desenvolvimento.

  • + +
  • build: Executa o build do projeto otimizado para produção.

  • + +
  • test: Executa os testes do projeto.

  • + +
  • eject: Traz para dentro do nosso projeto, toda a configuração que o react-scripts abstrai. **Não use este comando por enquanto! **Utilizaremos mais a frente para estudar o processo do build.

  • +
+ +

Index

+ +

Observe abaixo o código do arquivo public/index.html:

+ + + +

O arquivo index.html vem com a marcação mínima necessária para iniciar nossa aplicação. Porém, é possível observar que não há tags de scripts ou estilos. Não se preocupe, as mesmas serão injetadas automaticamente no build.

+ +

Por ora a única coisa importante a observar é a tag div com o id** root** na linha #10, é ela que o React irá utilizar para renderizar nossa aplicação.

+ +

Componente raiz

+ +

Vamos explorar o conteúdo da pasta src. Observe abaixo o arquivo App.js, que contém o componente raiz da aplicação:

+ + + +

O componente acima é definido com a class e extende a classe Component do React. Existem duas formas de definir componentes, através de functions ou através de class. Em um futuro post veremos as diferenças entre uma e outra.

+ +

Um componente deve sempre implementar um método render, que retorna um JSX do que deve ser mostrado na tela, ou null quando não deve mostrar nada.

+ +

JSX

+ +

O que parece ser um HTML dentro do método render, é na verdade JSX, um sintatic sugar para a API do React. As principais diferenças no dia-a-dia entre HTML e JSX são:

+ +
    +
  • O class do html passa a se chamar className, porque o termo class é uma palavra reservada no Javascript.

  • + +
  • O for da tag *label passa a se chamar htmlFor, pelo mesmo motivo do class, de ser uma palavra reservada.

  • + +
  • O conteúdo que estiver entre chaves {}, será interpretado como Javascript.

  • + +
  • Todos os atributos são nomeados em lower camelcase.Sendo assim, atributos como onclick, passam a se chamar onClick. O mesmo vale para atributos que utilizam hífen -, stroke-width por exemplo, passa a se chamar strokeWidth.

  • + +
  • Todo conteúdo do retorno de um render, deve estar dentro de um único wrapper, caso contrário o seguinte erro é apresentado: Adjacent JSX elements must be wrapped in an enclosing tag while parsing file.

  • +
+ +

É importante lembrar que o JSX é convertido em um código React, por esse motivo, devemos importar o módulo React em todo arquivo que utiliza a sintaxe.

+ +
+

JSX já é utilizado por outras libs além do React e vem se tornando um padrão para definição de marcação de componentes.

+ +

É possível seguir em frente com as informações apresentadas acima. Mas se você ficou instigado a saber mais sobre JSX, acesse: facebook.github.io/react/docs/introducing-jsx.html.

+
+ +

Importação de arquivos de estilos e imagens

+ +

Junto com a base do projeto, já vêm configurados os loaders para os formatos svg e css. Quando importamos um arquivo css, o conteúdo do mesmo é injetado na nossa aplicação, permitindo assim que utilizemos os estilos e classes em nossos componentes.

+ +

Já o svg funciona de uma maneira um pouco diferente. Ao importarmos um svg, obteremos uma referência, um caminho para o arquivo, e poderemos utilizar essa referência em tags como e . A importação de outros arquivos de imagem como jpg, png e gif funcionam dessa mesma maneira, porém, nessa estrutura inicial apenas o svg é suportado.

+ +

Bootstrap da aplicação

+ +

Vamos observar abaixo o código do arquivo index.js, é nele que ocorre a inicialização da nossa aplicação:

+ + + +

Na linha #2 do arquivo acima, estamos importando o ReactDOM, o módulo do React responsável pela manipulação do DOM.

+ +

Na linha #3, importamos nosso componente raiz, o App.js que acabamos de ver mais acima.

+ +

O bootstrap do React se baseia em você dizer para ele, o que renderizar e onde injetar o que ele renderizou. Estamos fazendo isso na linha #6, através do método render do ReactDOM, que espera como primeiro parâmetro um componente, e como segundo parâmetro, um elemento do DOM que será utilizado para injetar todo o HTML renderizado.

+ +

O React renderiza os componentes e gera um output HTMLO React renderiza os componentes e gera um output HTML

+ +

No nosso caso, estamos passando o componente App para ser o raiz e o elemento que possui o id=”root” para ser o que conterá toda a aplicação. Lembra da nossa tag no arquivo public/index.html? Ela mesmo!

+ +
+

Não abordamos o conteúdo dos arquivos css e svg, pois os mesmos não possuem nenhuma particularidade quanto ao React. Também não abordamos a parte de testes, porque futuramente haverá um post específico sobre este tema. Mas nada impede que você os explore. Seja curioso!

+
+ +

Conclusão

+ +

Aprendendo como criar a estrutura do projeto e a entendendo bem, torna os próximos passos muito mais fáceis. O React tem alguns princípios básicos, que bem aprendidos, permitem que construamos desde aplicações simples até as mais robustas.

+ +

No próximo post veremos como criar componentes e aprenderemos sobre o ciclo de vida de um componente React. Siga-nos e não perca os próximos posts!

+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-com-react-3-criando-componentes/index.html b/public/posts/2017/iniciando-com-react-3-criando-componentes/index.html new file mode 100644 index 0000000..2add7a9 --- /dev/null +++ b/public/posts/2017/iniciando-com-react-3-criando-componentes/index.html @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando com React - #3 Criando Componentes · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando com React - #3 Criando Componentes +

+

+ Mar 29, 2017 00:00 + · 1071 words + · 6 minute read + + + + + Desenvolvimento + + JS + + React + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada.

+ +
+

Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro.

+
+ +

< Anterior | Proximo >

+ +

Componentes podem possuir diversos formatos e ter diferentes responsabilidades. Um componente pode ser desde um botão, um formulário ou até uma página completa.

+ +

O React nos permite definir e reutilizar componentes de maneira simples, conforme veremos ao longo desse post.

+ +

Functional Components

+ +

A forma mais fácil de definir componentes é através de funções Javascript, conforme o exemplo abaixo:

+ + + +

Quando o componente é definido em forma de função, o React cria o componente executando essa função e passando as props como primeiro parâmetro. Ele espera um retorno em JSX do que deve ser renderizado, ou null no caso de não mostrar nada. Componentes React definidos da forma descrita acima, ganham o nome de Functional Components.

+ +

Props

+ +

A forma principal de comunicação entre componentes é utilizando as **props. **Elas são propriedades/atributos passados para os componentes filhos. Observe o exemplo abaixo:

+ + + +

No exemplo acima, na linha #4, estamos novamente definindo o componente Welcome. Na linha #11, estamos utilizando esse componente e passando para ele a prop name que possui como valor, a string “Stranger”.

+ +

Valores Dinâmicos

+ +

Podemos também passar variáveis para as props, utilizando chaves {}:

+ + + +

Observe as linhas #10 e #13 do exemplo acima. Primeiro definimos uma const strangerName e depois passamos ela para a props name. No JSX, todo o conteúdo que estiver dentro de chaves será interpretado como Javascript. +> O ES6 trouxe uma feature chamada Object Detructuring, e é ela que estamos utilizando na linha #4 ({ name }). Basicamente, o que ela faz é extrair os atributos de um objeto e criar variáveis com o mesmo nome. Dessa forma, podemos utilizar name aos invés de props.name.

+ +

Funções callbacks

+ +

É possível também, passar funções através das props. Normalmente fazemos isso quando precisamos passar um callback para um componente. +> Um callback é em suma, uma função que passamos como parâmetro para outra função, que por sua vez poderá executar o callback quando algum determinado evento ocorrer, como o final de um request, um evento de click do usuário e etc.

+ + + +

No arquivo acima, não estamos definindo nenhum novo componente, apenas utilizando o elemento button, comum do HTML.

+ +

De acordo com o exemplo acima, cada vez que o usuário clicar no botão, um alerta será mostrado na tela.

+ +

O React suporta alguns eventos básicos de interação de acordo com o componente HTML que utilizarmos, como onClick, onChange, onKeyPress, etc…

+ +

Children

+ +

A prop “**children” é um pouco diferente das outras. Ela **é o conteúdo que passamos dentro da tag:

+ +
<div>**Esse conteúdo será a prop children**</div>
+
+ +

Conforme o exemplo acima, todo o conteúdo que está dentro da div, será o valor de props.children.

+ +

Conforme o exemplo que veremos logo abaixo, é possível passar children explicitamente, porém, esse modo é pouco utilizado. A forma abaixo é equivalente à anterior:

+ +
<div children='**Esse conteúdo será a prop children**' />
+
+ +

Button

+ +

Vamos rever um exemplo similar ao que foi apresentado no primeiro post da série, explorando em detalhes o conteúdo:

+ + + +

Como podemos ver no exemplo acima, na linha #4 estamos definindo um componente chamado Button. Mais abaixo na linha #13 estamos utilizando ele, passando o children “**Example” **e uma função para onClick, que quando executada, exibirá “You just clicked” no console do navegador.

+ +

Na definição do componente na linha #4, estamos esperando as props children, onClick e type, e especificamos a string “button”, para ser o valor padrão da prop type.

+ +

Na linha #6, estamos utilizando o elemento button, passando para ele a prop type e passando a prop className, que é equivalente ao atributo class do HTML. No className, estamos passando a classe “btn”, que seria utilizada no CSS para definirmos o estilo do nosso botão. Além disso, repassamos a prop onClick.

+ +

Na linha #7, apenas repassamos o children que recebemos. +> **Dica: Sempre inicie o nome de componentes com uma letra maiúscula. +> Por exemplo, <button /> representa um elemento HTML padrão, mas <B**utton /> representa um componente e exige que a variável Button esteja no escopo.

+ +

Composição de componentes

+ +

É possível criar componentes que reutilizam outros. Dessa forma, podemos criar pequenos componentes que são úteis em várias partes de uma aplicação e então, compor esses componentes quando precisamos criar componentes mais complexos.

+ + + +

Conforme é possível ver no exemplo acima, possuímos dois componentes: Button e GroupButton. Primeiro temos o componente mais simples, Button, que pode ser reaproveitado em qualquer parte da aplicação. Depois temos o ButtonGroup, onde reutilizamos Button para criarmos um componente maior. +> Dica: Componentes devem retornar um único elemento raiz. Esse é um dos motivos de termos colocado uma

para conter todos os componentes
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/index.html b/public/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/index.html new file mode 100644 index 0000000..2b880a6 --- /dev/null +++ b/public/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/index.html @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle +

+

+ Apr 10, 2017 00:00 + · 1717 words + · 9 minute read + + + + + Desenvolvimento + + JS + + React + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. +> Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. +< Anterior

+ +

Class Components

+ +

Funcional components, como os que vimos anteriormente, não possuem as funcionalidades que listamos acima. Para podermos utilizá-las, precisamos criar componentes baseados em classes, ou Class Components como são mais conhecidos.

+ +

Para criarmos tais componentes, conforme abaixo, precisamos utilizar o class, que foi introduzido no ES6:

+ + + +

No exemplo acima, estamos definindo um componente chamado Welcome, que extende de **React.Component. **Esse componente retorna apenas uma div com o texto** Welcome **e o valor que for passado na prop name**. Como podemos observar, em Class Components as props são acessadas através do this.props.**

+ +

Estado

+ +

O estado pode ser qualquer conjunto de informações que serão utilizadas em algum momento pela interface. Por exemplo: As informações do usuário, uma lista de itens, o resultado de um request ou até informações específicas de UI, como veremos abaixo:

+ + + +

O exemplo acima, traz várias coisas novas, mas não se preocupe, vamos explorá-lo em detalhes.

+ +

Método constructor

+ +

No constructor, nós recebemos as props como primeiro parâmetro, chamamos super(props) para executar o construtor da classe pai, que no nosso caso é a class Component. Também estamos inicializando o estado do componente, através de:

+ +
constructor(props) {**
+  **super(props);
+  **this.state = {
+    activeIndex: props.initialIndex,
+  };**
+}
+
+ +

Especificamos que o valor inicial de activeIndex, será a prop **initialIndex. **Uma vez que o estado foi inicializado, a nossa propriedade activeIndex poderá ser acessada em toda a classe através de this.state.activeIndex. Essa forma direta de atribuir um valor ao estado, só poderá ser utilizada dentro do construtor da classe.

+ +

Método onSelectButton

+ +

Abaixo do método constructor, estamos definindo outro método, que será utilizado como *callback*, o **onSelectButton. **Ele será executado cada vez que houver um click em um dos nossos botões.

+ +

Nesse método, recebemos o parâmetro **index, **e atualizamos o estado do componente, através de:

+ +
onSelectButton(index) {
+  **this.setState({
+    activeIndex: index,
+  });**
+}
+
+ +

Você deve estar se perguntando: “Por que não fazer uma atribuição direta, utilizando: this.state.activeIndex = index;”? A reposta é simples: É dessa forma que o React tomará conhecimento que o estado do componente mudou, e ele tomará as medidas necessárias para atualizar a interface se for necessário.

+ +

O método setState, por sua vez, espera como primeiro parâmetro um objeto. Ele mesclará o valor desse objeto ao estado atual do componente. Sendo assim, não adianta executarmos this.setState({}) achando que isso removerá todo o estado do componente.

+ +

A regra geral do setState é bem simples: Dentro do método constructor, inicializamos utilizando this.state = {…}, em qualquer outro lugar, sempre utilizamos this.setState({…}) a fim de atualizar o estado.

+ +

Método isActiveIndex

+ +

O método isActiveIndex, espera como primeiro parâmetro o index e retorna true se o index fornecido for o ativo naquele momento.

+ +

Você deve ter notado que estamos acessando o valor de activeIndex diretamente, utilizando this.state.activeIndex. Nesse caso não precisamos utilizar nenhum método especial, pois estamos apenas lendo o valor do estado atual.

+ +

Método render

+ +

No método render, estamos retornando o ***JSX*** do nosso componente. No className dos nossos botões, estamos utilizando um ternário com o resultado da função isActiveIndex, para incluirmos a classe **btn-active **no botão que estiver selecionado. Na prop onClick dos nossos botões, estamos passando um callback para atualizar o estado. Sendo assim, toda vez que houver um click no botão, será executada a função **onSelectButton, **com o respectivo index.

+ +

Component Lifecycle

+ +

Class components, possuem o que chamamos de lifecycle methods, que são métodos que serão executados em determinamos momentos da vida de um componente. Vamos separar esses métodos em três diferentes momentos: criação, atualização e remoção.

+ +

Criação

+ +

No momento da criação de um componente, quatro métodos são executados:

+ +

**constructor - **Esse é o método construtor do nosso componente, executado logo quando o componente é instanciado. Normalmente, esse método é utilizado para inicializarmos valores dentro e também quando precisamos fazer bind dos métodos da nossa classe. Observe o exemplo abaixo:

+ +
**constructor(props) {
+  **super(props);
+  this.state = {
+    collection: [
+      { name: 'Default Option'},
+      ...props.collection
+    ],
+  };
+  this.onClickButton = this.onClickButton.bind(this);
+**}**
+
+ +
+

Estamos utilizando o spread operator no exemplo acima, funcionalidade que foi introduzida no ES6. Caso você ainda não esteja familiarizado com o mesmo, confira esse link do MDN.

+
+ +

No exemplo acima, estamos inicializando nosso state com base em uma collection que recebemos, porém, adicionamos como primeiro item dessa collection, um objeto para ser o nosso item default. Também fazemos um bind do método onClickButton, para que seja possível utilizar o this dentro dele, independente do contexto que ele estiver sendo executado.

+ +

**componentWillMount - **Esse método é executado imediatamente antes do componente ser montado, e antes do método **render. **Nesse método, é possível alterar o state através do this.setState. Porém, é preferível fazer o mesmo no constructor, já que os dois possuem funcionalidade similar.

+ +

**render** - No ciclo de montagem do componente, esse método é executado logo após componentWillMount, e o mesmo deve retornar o JSX do componente. Esse é o único método obrigatório. É importante manter o método render como uma função pura, uma vez que dados os mesmos state e props, ele retorne sempre o mesmo resultado. Não faça alterações ao estado de dentro desse método, utilize os outros métodos do lifecycle para o fazê-lo.

+ +
**render()** **{**
+  return <div>Hello there</div>
+**}**
+
+ +

**componentDidMount - **Esse método é chamado imediatamente após a montagem do componente. Em casos que precisamos fazer alguma operação que precise de elementos do DOM, é aqui o lugar certo. Aqui também é um bom lugar para inicializarmos requests quando necessário.

+ +
**componentDidMount() {**
+  request('some/endpoint').then((response) => {
+    console.log('Request have finished');
+  });
+**}**
+
+ +

Atualização

+ +

Todos os métodos acima são executados no momento de montagem de um componente. Além do momento de montagem, temos o momento de atualização, que pode ser por exemplo, quando as props ou o state do componente são atualizados. No momento de atualização, cinco métodos são executados: +> Nota: Com excessão do método render, nenhum dos métodos abaixo é executado no momento de montagem do componente.

+ +

componentWillReceiveProps(nextProps)** - **Esse método é o primeiro método executado no ciclo de atualização, sempre com as novas props do componente. Sendo assim, se o state do componente depende do valor das props, é aqui que você deve atualizá-lo. Observe abaixo o exemplo:

+ +
**componentWillReceiveProps(nextProps){
+**  this.setState({
+    collection: [
+      { name: 'Default Option'},
+      ...nextProps.collection
+    ],
+  };
+**}**
+
+ +

No exemplo acima, estamos atualizando nosso state collection, com base na nova collection que recebemos através das props.

+ +

shouldComponentUpdate(nextProps, nextState) **- **Esse método é chamado antes de o componente se atualizar. Ele recebe como parâmetros, as novas props e o novo state do componente, e deve retornar um boolean, indicando se o componente deve ou não ser atualizado. Quando retornado false, o React interrompe o ciclo de atualização do componente, para economizar processamento. Algumas abordagens para resolver problemas de performance, são focadas nesse método. Observe o exemplo abaixo:

+ +
**shouldComponentUpdate(nextProps, nextState) {**
+  return !equals(nextProps, this.props) ||
+    !equals(nextState, this.state)
+**}**
+
+ +

No exemplo acima, estamos comparando se o próximo state e props são iguais aos que já temos, se eles forem iguais nós retornamos false e assim é interrompido o ciclo de atualização. +> Dica: Há uma classe base de componentes que já implementa essa comparação para otimizar a performance, a classe ***React.PureComponent**. *Basta utilizá-la da mesma maneira que já fazemos com React.Component: +> class MyComponent extends **React.PureComponent **{ +> Porém, para ela funcionar da maneira esperada, você precisa estar aplicando imutabilidade em seus dados.

+ +

O comportamento default do componente é sempre executar todo o ciclo quando houve alguma mudança na árvore de componentes, e para a maioria dos casos, você pode confiar nesse comportamento. +> Nota: Nenhum dos métodos abaixo será executado se o retorno do método **shouldComponentUpdate **for false.

+ +

componentWillUpdate(nextProps, nextState) - Esse método é executado logo antes do componente ser atualizado e recebe como parâmetros, as próximas props e o próximo state do componente. Você não pode chamar this.setState dentro desse método. Se você precisa atualizar o state baseado em uma props, utilize o método **componentWillReceiveProps, **que já vimos mais acima.

+ +

**render() - **Esse método é chamado tanto no momento da montagem, como já vimos acima, como em cada ciclo de atualização do componente, se o mesmo não for interrompido. Nos ciclos de atualização, esse método é executado após o método componentWillUpdate.

+ +

componentDidUpdate(prevProps, prevState) . Esse método é um substituto ao método componentDidMount, no ciclos de atualização. Porém, esse método recebe como parâmetros, as props e o state anteriores ao último update. Aqui é um ótimo lugar para você aplicar atualizações no DOM se necessário. Também é possível inicializar requisições dentro desse método, contanto que você coloque uma condição qualquer para as mesmas, como no exemplo abaixo:

+ +
**componentDidUpdate(prevProps, prevState) {**
+  if(prevState.activeIndex !== this.state.activeIndex) {
+    ...perform action
+  }
+**}**
+
+ +

No exemplo acima, verificamos se realmente foi atualizado o activeIndex antes de efetuarmos uma ação. +> Alguns métodos recebem as próximas props e o próximo state e outro método recebe o state e props anteriores. Caso você precise acessar o state e props atual dos componentes, basta utilizar this.state ou this.props, como já vimos anteriormente.

+ +

Remoção

+ +

No ciclo de vida de um componente, há também o ciclo de remoção, quando o mesmo é removido do DOM e não pertencerá mais a árvore de componentes.

+ +

**componentWillUnmount - **Esse método é executado imediatamente antes do componente ser destruído. Esse é o lugar perfeito para você limpar timers, cancelar requests ou remover qualquer elemento do DOM que foi criado manualmente dento do método componentDidMount.

+ +
**componentWillUnmount() {**
+  **clearTimeout**(currentTimerId);
+**}**
+
+ +

Na maioria dos componentes, você utilizará somente os métodos constructor e render, mas é importante conhecer todos eles para utilizá-los quando necessário.

+ +

Esses métodos permitem a criação de componentes complexos de uma maneira clara e simples, assim fica fácil saber onde colocar cada parte da sua lógica.

+ +

No próximo post, veremos como criar nossos componentes em um ambiente controlado, o storybook. Uma ferramenta que ajuda muito a melhorar nossa produtividade no dia dia. Siga-nos e não perca!

+ +

Gostou do post e achou útil? Dê um **like **❤️ abaixo para ajudar na divulgação e para que mais pessoas tenham acesso :)

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/index.html b/public/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/index.html new file mode 100644 index 0000000..4ef085c --- /dev/null +++ b/public/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando com React - #5 Criando Componentes com Storybook · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando com React - #5 Criando Componentes com Storybook +

+

+ Nov 3, 2017 00:00 + · 1149 words + · 6 minute read + + + + + Desenvolvimento + + JS + + React + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

Iniciando com React - 5 Criando componentes com Storybook

+ +

Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. +> Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. +< Anterior

+ +

O que é o Storybook?

+ +

O storybook é uma ferramenta que nos permite desenvolver e testar componentes fora da nossa aplicação. É possível criar componentes completos utilizando mocks de dados para simular diferentes estados e diferentes comportamentos. Observe o exemplo abaixo:

+ +

Exemplo do Storybook funcionandoExemplo do Storybook funcionando

+ +

O exemplo acima da um bom overview de como é a ferramenta e qual é a sua proposta. Sem mais delongas, vamos para o processo de instalação.

+ +

Instalação

+ +

O Storybook possui um CLI para ser utilizado no terminal, que funciona de forma muito similar ao create-react-app. Os passos abaixo levam em consideração um ambiente com Node e NPM instalados, conforme já vimos no segundo post. Também é importante que você já possua um projeto com o ambiente configurado, conforme explicado também no segundo post.

+ +

O primeiro passo, é instalarmos o nosso CLI globalmente, utilizando o comando abaixo:

+ +
npm i -g @storybook/cli
+
+ +

Após terminar a instalação, basta irmos para a pasta do nosso projeto:

+ +
cd path/to/my-app
+
+ +

Dentro da pasta do projeto, executamos o comando abaixo, que criará toda a configuração necessária e instalará todas as dependências:

+ +
getstorybook
+
+ +

O comando acima, também insere o script **storybook **no nosso arquivo package.json.

+ +

Terminada a execução do comando, é possível testar o storybook executando:

+ +
npm run storybook
+
+ +

E acessar a url indicada, que no meu caso é http://localhost:9009/

+ +

+ +

Ao acessar a url indicada, é possível visualizar o storybook com algumas stories de exemplo:

+ +

+ +

É possível navegar no menu lateral e ver o componente Button funcionando.

+ +

Se acessarmos nosso projeto, podemos observar que foi criado uma pasta .storybook dentro do diretório raiz da aplicação. Essa pasta contém arquivos referente as configurações do storybook.

+ +

O arquivo .storybook/config.js é o responsável por carregar as stories do projeto e ele contém o seguinte código:

+ + + +

A função loadStories importa o arquivo src/stories/index.js, que por sua vez, contém a definição das stories, conforme abaixo:

+ + + +

Cada componente tem suas próprias stories, de modo que cada uma represente um estado dele. Com isso, podemos construir e testar cada componente de forma isolada, o que nos leva a ter mais controle no processo de desenvolvimento.

+ +

Seguindo o código acima, o método storiesOf é responsável por inicializar as stories de um componente, e ele espera como primeiro parâmetro o nome do componente (que é o nome que aparecerá naquele menu lateral) e como segundo parâmetro, a variável global module. A funcão storiesOf retorna um objeto que contém o método add, que será utilizado para adicionar novas stories ao componente.

+ +

No exemplo acima, está sendo definido uma story para o componente Welcome, com a descrição “to Storybook”. Também estão sendo defininidas as stories para o componente Button: “with text” e “with some emoji”.

+ +

Outra coisa que podemos ver no arquivo de exemplo, é o uso da função action e linkTo. A funcão **action **é utilizada para criar funções mocks que podem ser passadas como callbacks através das props. Quando os mocks são executados, eles geram um log que aparece no storybook, o que é útil para debugging. A função linkTo por sua vez, cria links para outras stories.

+ +

Agora vamos ver exemplos que se aproximam mais de casos reais.

+ +

Button

+ +

Vamos criar um componente Button, que possui algumas variações de estado:

+ +

Primeiramente, crie uma pasta Button dentro de src. Dentro dela crie um arquivo Button.jsx e outro arquivo Button.css. A estrutura desses arquivos deve estar da seguinte maneira:

+ +
src/
+  Button/
+    Button.jsx
+    Button.css
+
+ +

O código para o componente será o seguinte:

+ + + +

No código acima, nós definimos o componente Button, que aceita as props: children, onClick e disabled.

+ +

Essas três props nós repassamos para o elemento button do html. Porém, nós também utilizamos a prop disabled para inserir ou não o class name: button–disabled que será utilizado para estilizar o componente no respectivo estado.

+ +

Para estilizar o componente acima, o arquivo Button.css deve conter o seguinte código:

+ + + +

O arquivo acima possui um estilo padrão para o componente através da classe .button e possui um estilo adicional para o estado **disabled, **através da classe .button–disabled

+ +

Por último, criaremos as stories do nosso componente. Substitua o código do arquivo src/stories/index.js pelo seguinte:

+ + + +

No arquivo acima, nós importamos o componente Button e criamos duas stories para o mesmo. Cada story possui uma utilização básica do componente. A primeira story nós só passamos um callback para a prop onClick, e sendo assim, o button assumirá seu estado padrão. Na segunda story, além da prop onClick, nós passamos a prop disabled, para que nessa story o componente assuma o respectivo estado.

+ +

Feito isso, acesse novamente o storybook no seu navegador e veja o resultado.

+ +

+ +

+ +

No geral, as stories funcionam basicamente assim: Você importa o componente, define uma story e utiliza o mesmo passando props e dados mocados para para simular um estado.

+ +

Carregando stories dinamicamente

+ +

Até aqui nós vimos como criar uma story. Porém, seria falta de organização e pouco produtivo manter as stories dos componentes todas em um único arquivo. O ideal é que possamos criar um arquivo de stories para cada componente e que não precisemos importar cada arquivo de stories manualmente. Vamos ver como podemos chegar nesse cenário.

+ +

Primeiramente, crie o arquivo Button.stories.jsx dentro da pasta do componente Button e mova para ele o conteúdo do arquivosrc/stories/index.js, corrigindo o caminho do import do componente. O arquivo em questão ficará com o seguinte código:

+ + + +

Feito isso, podemos remover completamente a pasta src/stories

+ +

Em seguida, iremos alterar o arquivo .storybook/config.js para carregar dinamicamente todos os arquivos que possuem .stories.jsx em seu nome. O arquivo final ficará da seguinte maneira:

+ + + +

No arquivo acima, nós utilizamos require.context para carregar todos os arquivos que respeitem o pattern que definimos. Com isso, para criar um novo arquivo de stories, basta criá-lo dentro da pasta src ou de qualquer sub-pasta dela e incluir .stories.jsx no final do nome do arquivo

+ +

Conclusão

+ +

Vimos que é possível criar cada componente de forma independente, isso nos dá mais controle do desenvolvimento e também nos compele a construir componentes mais resilientes, pensando em como eles irão se comportar em cada situação.

+ +

Aproveite que as stories estão configuradas e carregando automaticamente e crie um novo componente com novas stories. A melhor maneira de aprender e fixar o conhecimento, é praticando.

+ +

Gostou do post e achou útil? Ajude a divulgar para que mais pessoas tenham acesso! ❤️ ️

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/index.html b/public/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/index.html new file mode 100644 index 0000000..758b60c --- /dev/null +++ b/public/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/index.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Iniciando um Novo Projeto: Decisões de Arquitetura · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Iniciando um Novo Projeto: Decisões de Arquitetura +

+

+ Apr 5, 2017 00:00 + · 105 words + · 1 minute read + + + + + Desenvolvimento + + Arquitetura + + + + +

+

by Elton Minetto

+
+ +
+

No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência.

+ +

Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real.

+ +

O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. E aproveite e assine também o canal do Planrockr para acompanhar as novidades e hangouts que estamos lançando.

+ +

Originally published at http://eltonminetto.net/post/2017-04-06-iniciando-novo-projeto-decisoes-arquitetura/ on April 6, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/integracao-continua-usando-o-drone/index.html b/public/posts/2017/integracao-continua-usando-o-drone/index.html new file mode 100644 index 0000000..9ae806e --- /dev/null +++ b/public/posts/2017/integracao-continua-usando-o-drone/index.html @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integração Contínua Usando o Drone · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Integração Contínua Usando o Drone +

+

+ May 8, 2017 00:00 + · 804 words + · 4 minute read + + + + + Desenvolvimento + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone.

+ +

+ +

O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais:

+ +
    +
  • Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. Ele é um container Docker que deve ser executado em um local que possa ser visível tanto pelos agentes quanto pela hospedagem do repositório.

  • + +
  • Agents: os agentes fazem o trabalho pesado do processo. São eles que recebem do server as instruções que devem ser executadas durante um build ou deploy. São containers Docker que podem ser executados em qualquer máquina que suporte containers.

  • + +
  • Cli: o aplicativo de linha de comando é opcional mas ajuda bastante no processo de configuração e gerenciamento de deploys.

  • +
+ +

Vamos começar instalando o servidor e um agente em uma máquina. Para isso basta criar um arquivo docker-compose.yml como o abaixo:

+ + + +

Neste exemplo vamos usar a integração com o Github para executar os testes. O primeiro passo é criarmos uma integração do Github com o Drone e para isso é preciso acessar a URL: https://github.com/settings/applications/new e registrar uma nova aplicação.

+ +
    +
  • O campo nome é usado para a sua organização, então pode ser algo como Drone.

  • + +
  • No campo Homepage URL coloque o endereço do seu servidor: http://ci.seu_server.com:8001. Note que é o mesmo endereço usado na variável DRONE_SERVER do docker-compose.yml.

  • + +
  • No campo Authorization callback URL complete com o seguinte conteúdo: http://ci.seu_server.com:8001/authorize.

  • +
+ +

Após confirmar a criação o Github vai mostrar as informações de Client ID e Client Secret que devem ser salvas no docker-compose.yml, nas variáveis DRONE_GITHUB_CLIENT e DRONE_GITHUB_SECRET. Ainda sobre este arquivo, a variável DRONE_SECRET é uma informação que deve ser igual entre o server e os agents, para garantir a segurança.

+ +

Com tudo configurado basta executar o comando

+ +
docker-compose up -d
+
+ +

E acessar, via navegador o http://ci.seu_server.com:8001. Na interface é possível fazer login com o usuário do Github e visualizar os projetos e builds cadastrados. No momento ainda não temos nenhum projeto, então este vai ser o próximo passo.

+ +

Para facilitar este exemplo vou criar um repositório com um projeto do Zend Expressive, pois este já configura um ambiente de testes simples. Para isso usei os comandos:

+ +
curl -s http://getcomposer.org/installer | php
+php composer.phar create-project zendframework/zend-expressive-skeleton drone-post
+
+ +

Após responder os valores padrão que o script pergunta podemos verificar se os testes estão passando, usando os comandos:

+ +
cd drone-post/ ./vendor/bin/phpunit
+
+ +

Precisamos configurar o repositório para que os testes sejam executados a cada push. O primeiro passo é criarmos no repositório um arquivo chamado .drone.yml, que vai definir os passos que os agentes devem executar. O conteúdo deste arquivo ficou da seguinte forma:

+ + + +

Em image indicamos qual é o container Docker que vai ser usado para executar os commands. Neste caso estou usando o container oficial do PHP, que pode ser encontrado no Docker Hub. É possível usar qualquer container que esteja no Docker Hub ou em outro registro, tanto público quanto privado. Na documentação do Drone é possível ver como usar estes casos mais complexos.

+ +

O último passo é fazer a integração entre o Github e o Drone, para que o servidor seja avisado a cada alteração no repositório e inicialize os builds. É possível fazer isso usando a interface do Drone via navegador, ou usando o aplicativo de linha de comando. Vamos usar o CLI para fazer este processo.

+ +

Após instalá-lo em seu computador é preciso configurá-lo para que possa acessar o seu servidor. Para isso é preciso configurar duas variáveis de ambiente:

+ +
export DRONE_SERVER="http://ci.seu_server.com:8001"
+export DRONE_TOKEN="token"
+
+ +

Este token pode ser encontrado no seu servidor, na URL: http://ci.seu_server.com:8001/account, na opção Show token.

+ +

Agora basta executarmos:

+ +
drone repo add eminetto/drone-post
+
+ +

Para que isto seja possível é necessário que o usuário dono do Token seja um administrador do Drone, o que foi configurado na variável DRONE_ADMIN do docker-compose.yml. O comando acima criou um Webhook no repositório do Github indicando que os eventos de push, commit, deploy, etc, devem ser enviados ao nosso servidor do Drone. Agora basta fazer push dos arquivos para o repositório e acessar a interface do Drone para ver os testes passando:

+ +

+ +

O que é interessante na arquitetura do Drone é que basta executar mais agentes, em mais máquinas, que o processo de desenvolvimento escala conforme sua necessidade. É possível, por exemplo, usar as máquinas dos desenvolvedores para executarem builds, aumentando a velocidade durante o horário de trabalho.

+ +

Neste primeiro post apresentei o básico do Drone. Em futuros textos vou falar sobre deploy, plugins, segurança, etc. Enquanto isso é possível acessar a documentação oficial para encontrar mais detalhes e exemplos avançados.

+ +

Originally published at http://eltonminetto.net/post/2017-05-09-integracao-continua-drone-io/ on May 9, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/modelando-sistemas-usando-event-storming/index.html b/public/posts/2017/modelando-sistemas-usando-event-storming/index.html new file mode 100644 index 0000000..2e9a403 --- /dev/null +++ b/public/posts/2017/modelando-sistemas-usando-event-storming/index.html @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modelando Sistemas Usando Event Storming · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Modelando Sistemas Usando Event Storming +

+

+ Oct 11, 2017 00:00 + · 911 words + · 5 minute read + + + + + Desenvolvimento + + Metodologias + + + + +

+

by Elton Minetto

+
+ +
+ + +

Mão na massa!

+ +

O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade.

+ +

Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto.

+ +

Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. Neste post vou apresentar uma destas metodologias, o Event Storming.

+ +

O que é

+ +

Uma técnica de modelagem e discussão em grupo, rápida, divertida e que tem como objetivo acelerar o conhecimento sobre um projeto, negócio ou mesmo uma funcionalidade complexa.

+ +

Ela foi criada por um consultor italiano chamado Alberto Brandolini e sua primeira referência é de um post publicado em 2013.

+ +

O que não é

+ +

Apesar de ter vários conceitos em comum com DDD (Domain Driven Design) e Event Sourcing, o Event Storming não é voltado apenas para desenvolvimento de software. A ideia é que todos os envolvidos participem, para gerar uma linguagem que possa ser usada tanto pelos desenvolvedores quanto pelos detentores do conhecimento de negócios.

+ +

Não estamos discutindo sobre implementação então, mais tarde, a equipe de desenvolvimento pode selecionar a melhor arquitetura de código necessária para obter os resultados esperados.

+ +

Conceitos

+ +

Primeiro é necessário entendermos os conceitos básicos que vamos usar nos próximos passos. São eles:

+ +

Events

+ +

Um evento de domínio é algo que aconteceu e que tem relevância para o projeto sendo analisado. Eles capturam fatos que ocorreram, independente da forma como serão gerados ou tratados.

+ +

Commands

+ +

Os comandos são ações que ocorrem no sistema, os geradores dos eventos.

+ +

Actors

+ +

Os atores são os responsáveis por executar os comandos, que por sua vez geram os eventos. Como atores podemos considerar os usuários do sistema, sistemas externos ou até mesmo o tempo (um comando que é gerado em determinada data do mês, por exemplo).

+ +

Agreggate

+ +

Um agreggate é um agrupamento lógico de eventos e comandos que estão relacionados.

+ +

Bounded context

+ +

Representam os limites do sistema, agrupando agreggates e identificando como estes limites se comunicam. Podemos fazer uma analogia com os “módulos” de um sistema.

+ +

O workshop

+ +

Entendidos os conceitos principais podemos falar sobre o Event Storming propriamente dito. Trata-se de uma atividade em grupo onde juntamos desenvolvedores, designers, analistas de negócios, usuários do sistema, etc.

+ +

+ +

O que é necessário:

+ +
    +
  • Post-its de cores diferentes, para diferenciar Events, Commands, Actors e Agreggates, etc.

  • + +
  • Um espaço físico com uma parede disponível para os post-its serem colados. E sem cadeiras, a ideia é todos ficarem em pé discutindo, colando e movendo os post-its.

  • + +
  • Um mediador que vai ficar guiando o andamento e controlando o tempo.

  • +
+ +

Os passos:

+ +
    +
  1. São identificados os eventos que ocorrem, independente de ordem ou de quem os gera. São anotados em post-its de uma cor selecionada e colados na parede. Os nomes dos eventos devem ser escritos no passado, como “Usuário denunciado”, “Conta criada”.
  2. +
+ +

EventsEvents

+ +
    +
  1. São identificados os comandos que geram os eventos, anotados e colados próximos aos respectivos eventos. Os nomes dos comandos devem ser no formato “Denunciar usuário”, “Submeter formulário de cadastro”.

  2. + +
  3. São identificados os atores que executam os comandos. Os atores são anotados em post-its de uma cor selecionada e posicionados ao lado de cada comando.

  4. +
+ +

ActorsActors

+ +
    +
  1. Agrupar os eventos e comandos em agreggates, movendo os post-its para posicioná-los próximos e dando um nome para cada grupo
  2. +
+ +

AggregateAggregate

+ +
    +
  1. Identificar os Bounded contexts movendo os agreggates e identificando quais eventos fazem a ligação entre eles. Dependendo da complexidade do projeto ou mesmo da funcionalidade sendo analisada é possível que este passo não seja necessário.
  2. +
+ +

Uma sugestão para o mediador é definir um tempo específico para cada passo, geralmente 20 a 30 minutos.

+ +

Os resultados

+ +

Usamos um dos eventos internos da Coderockr, o Coderock Jam, para executar uma sessão de Event Storming. Ao final do processo conseguimos ter alguns resultados interessantes:

+ +
    +
  • Tivemos uma melhor compreensão dos eventos mais importantes que ocorrem. Durante as discussões várias vezes levantamos a pergunta “isso é um evento relevante?” antes de decidir se deveríamos ter um post-it na parede.

  • + +
  • Conseguimos identificar os limites dos módulos do sistema, graças aos Aggregates

  • + +
  • Foi mais fácil identificar o que seria prioridade no desenvolvimento, o que ajuda na definição de um roadmap

  • + +
  • Durante as discussões encontramos termos que eram dúbios e a equipe chegou a uma nomenclatura que todos acordaram. Isso é muito importante no desenvolvimento, para evitar confusão de conceitos e nomes

  • + +
  • Identificamos novas funcionalidades que podemos implementar em um futuro próximo e que não estavam no nosso radar antes da discussão

  • + +
  • A equipe interagiu bastante, gerando mais entrosamento e confiança

  • +
+ +

Alguns pontos a considerar no nosso caso:

+ +
    +
  • Foi a primeira sessão que fizemos de Event Storming, então pode ser que não tenhamos percebido alguns erros no processo

  • + +
  • Foi a primeira vez que mediei um Event Storming, então percebi alguns pontos que devo melhorar

  • + +
  • Usamos como case um projeto que estamos criando na Coderockr então agimos como desenvolvedores e também como “analistas de negócios”. Talvez esse não seja o cenário ideal, mas pretendemos repetir o processo em outros projetos, incluindo mais pessoas de diferentes áreas.

  • +
+ +

Nos próximos eventos internos da Coderockr vamos testar outras metodologias para podermos comparar os resultados e também postá-los aqui. Sabemos que o Event Storming não é uma “bala de prata” que vai resolver todos os nossos problemas, mas é uma ferramenta a mais no nosso arsenal. E foi uma experiência bem interessante e que recomendo a tentativa.

+ + + +

https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7 +https://techbeacon.com/introduction-event-storming-easy-way-achieve-domain-driven-design +http://ziobrando.blogspot.com.br/2013/11/introducing-event-storming.html

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/o-plano-de-carreiras-da-coderockr/index.html b/public/posts/2017/o-plano-de-carreiras-da-coderockr/index.html new file mode 100644 index 0000000..c038468 --- /dev/null +++ b/public/posts/2017/o-plano-de-carreiras-da-coderockr/index.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O Plano de Carreiras da Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ O Plano de Carreiras da Coderockr +

+

+ May 29, 2017 00:00 + · 1126 words + · 6 minute read + + + + + Carreira + + + + +

+

by Elton Minetto

+
+ +
+ + +

O que é um plano de carreira?

+ +

Citando a definição neste ótimo post publicado no site da Endeavor:

+ +
+

Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição.

+
+ +

Porque criar um plano?

+ +

A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. Isso nos deu uma boa experiência prática em ver como carreiras podem evoluir em pouco tempo, graças ao esforço de todos.

+ +

Este foi um dos pontos que nos inspirou a criar um plano, para termos uma melhor clareza do que esperamos das pessoas e, principalmente, como podemos contribuir para a sua evolução.

+ +

Neste post vamos explicar como chegamos a primeira versão do nosso plano de carreira.

+ +

Por onde começamos

+ +

A Coderockr é uma empresa criada e gerenciada por programadores. Todos somos apaixonados por tecnologia e por resolver problemas complexos usando esta arte. Por isso foi natural que o principal foco do plano foi definir carreiras para profissionais de tecnologia. Mas tentamos seguir um caminho que no futuro nos permita incluir outras disciplinas como vendas, marketing, etc. Nos próximos parágrafos isso deve fazer mais sentido.

+ +

O primeiro desafio que veio a nossa mente foi como definir os níveis. Apesar de existirem projetos interessantes como o Carreira PHP, achamos que usar apenas a tecnologia para definir isso seria complexo e limitante. Se levarmos em conta a velocidade que as tecnologias evoluem, facilmente o plano ficaria obsoleto no decorrer dos meses.

+ +

Então começamos uma pesquisa e conversas para ver como empresas que admiramos estão resolvendo estes problemas. O Anderson Borges, CTO da Conta Azul, nos deu dicas valiosas e conseguimos ver alguns desafios que uma empresa maior enfrenta e que talvez vamos passar no futuro. Outra fonte importante, na verdade a maior inspiração para nós no momento, foi o Buffer. A startup americana tem uma filosofia de transparência incrível e com isso foi possível analisarmos a sua solução neste post.

+ +

Desta forma, adotamos o formato que o Buffer usa para diferenciar os níveis e adaptamos para nossa realidade. O Buffer é uma empresa de produto, enquanto que a Coderockr é uma empresa de serviços. Além disso, eles estão espalhados por diversos países, enquanto nós estamos vinculados a uma série de restrições que as leis brasileiras nos impõem. Por isso adaptações, mesmo que pequenas, foram necessárias.

+ +

Os dois pontos usados para análise são: Escopo de influência e Ownership, que pode ser livremente traduzido por “sentimento de propriedade”. Eles significam, em tradução nossa:

+ +
    +
  • Escopo de influência: é a influência que uma pessoa tem em seu trabalho, seu time, a empresa e a indústria. Um engenheiro habilidoso pode facilmente ter influência sobre um projeto todo, ou área da empresa. Ter uma ampla influência requer maior experiência e habilidade, enquanto alguém iniciando em sua jornada geralmente pode influenciar apenas as tarefas em que trabalha diretamente.

  • + +
  • Ownership: refere-se ao sentimento de propriedade que a pessoa tem sobre seu trabalho ou área dentro da empresa. A quantia de ownership é um sinal do nível de responsabilidade que a pessoa tem dentro do seu time.

  • +
+ +

O interessante desta abordagem é que não está vinculada a nenhuma tecnologia, mas sim a comportamentos que fazem bastante sentido quando comparados com nossa visão e Culture Code.

+ +

Com isso em mente, definimos cinco níveis:

+ +

Level I

+ +

Scope of Influence: Themselves and their tasks +Ownership: No ownership responsibility. Learning and being actively developed by others +Summary: Expected to drive results with some support. They have experience in the role, can take responsibility, but are still learning the job and will have questions and need support. They can execute the tactical plan for a project but typically can’t make it.

+ +

Level II

+ +

Scope of Influence: Their projects and pace +Ownership: Fully owns an area, channel, or discipline. Accountable for deliverables in that area. +Summary: Progress beyond 1 but not quite to 3

+ +

Level III

+ +

Scope of Influence: Their area and strategy +Ownership: Consistent record of very strong ownership for their area. Accountable for results in that area. +Summary: Expected to drive results with little or no supervision (“set and forget”). These folks know how to do the job. They can make a project’s tactical plan. They can work across the organization to get it done.

+ +

Level IV

+ +

Scope of Influence: Whole organization +Ownership: Exhibits ownership across the team, as it relates to the impact of their area. Accountable for executing on their area’s strategy. +Summary: Progress beyond 3 but not quite to 5

+ +

Level V

+ +

Scope of Influence: Industry +Ownership: Fully responsible for all aspects of their area. +This takes an exceptional level of dedication to the craft and is a big jump from Level 4 +Summary: Expected to make the plan. Your job is to understand the company’s business situation, understanding the marketing vision and goals, make a plan to address it, build consensus and get approval for that plan, then go execute it.

+ +

Optamos por manter o texto em inglês, tanto os trechos que usamos do plano do Buffer quanto os que nós incluímos ou alteramos. A principal razão foi porque gostaríamos de contribuir com mais empresas, por isso publicamos este post e o formato em inglês. Além disso estamos disponibilizando uma planilha mais detalhada neste link e também no nosso Github. Esperamos que isso possa ajudar outras empresas como o Buffer e a Conta Azul nos ajudaram.

+ +

Os próximos passos

+ +

Depois de apresentarmos o plano para a equipe e fazermos as alterações e melhorias sugeridas por eles definimos que os próximos passos são:

+ +
    +
  • o plano começa a valer em 01/06/2017;

  • + +
  • a primeira avaliação vai ser realizada em Janeiro/2018;

  • + +
  • em Junho de 2018 vamos analisar o plano novamente para avaliarmos se precisa de alterações. Até lá o plano permanece o mesmo, para podermos ter pelo menos duas avaliações de experiência;

  • +
+ +

A ideia é fazermos uma avaliação a cada seis meses para definirmos se uma pessoa deve mudar de nível, que ações podemos tomar para acelerar o processo, etc. Seguindo o mais puro modelo “lean”, ainda não definimos exatamente como vai ser esta avaliação, se individual ou em equipe. Mas todos concordaram que é aceitável discutirmos isso nos próximos meses para chegarmos juntos a um formato ideal.

+ +

O importante, na opinião de todos da empresa, é termos um plano, mesmo que não 100% completo, mas algo com o que podemos trabalhar juntos e aprimorar no dia a dia.

+ +

Esperamos que este post e os documentos ajudem alguma equipe e que sirva para gerar discussões interessantes. Adoraríamos ouvir outras impressões e conhecer como outras empresas estão enfrentando este desafio importante na sua jornada.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/index.html b/public/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/index.html new file mode 100644 index 0000000..d95f2b9 --- /dev/null +++ b/public/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/index.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Por que não Temos Equipes Remotas na Coderockr · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Por que não Temos Equipes Remotas na Coderockr +

+

+ Jun 7, 2017 00:00 + · 454 words + · 3 minute read + + + + + Carreira + + Trabalho Remoto + + + + +

+

by Elton Minetto

+
+ +
+ + +

Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante:

+ +

+ +

Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”.

+ +

O Fator Matemática

+ +

Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. E deve sobrar uma margem de lucro, para podermos reinvestir na empresa e continuarmos no mercado, fazendo o que amamos.

+ +

Como nossa “matéria prima” são as pessoas, a maior fatia dos custos são com a equipe. Ao definir os nossos salários baseados no custo de vida e mercado de Joinville e região conseguimos pagar um valor justo para a equipe e ainda sermos competitivos e atrativos para os clientes. Esta matemática começa a ficar complexa se formos pagar valores justos para equipes morando em locais com custo de vida maior, como São Paulo.

+ +

O Fator Pessoas

+ +

Poderíamos usar o trabalho remoto para resolver o problema da matemática que citei acima. Bastaria vendermos horas calculadas com o custo de vida de São Paulo, por exemplo, e contratar pessoas trabalhando remotamente em locais menores, no interior do país. Pagaríamos valores menores para as pessoas e sobraria uma fatia maior de lucro para a empresa. Funcionaria e não seria errado, desde que feito de maneira honesta com todos os envolvidos. Mas resolvemos ir por outro caminho.

+ +

A grande maioria das pessoas que trabalham ou trabalharam na Coderockr vieram de cidades menores. Eu inclusive, que nasci em Chapecó/SC (Vamo, vamo Chape!!!) e vim pra Joinville em 2008. A nossa experiência mostrou o quanto esta mudança causou impacto positivo nas carreiras das pessoas. Sair da zona de conforto, vir para uma cidade maior, com mais oportunidades, maiores desafios, fez uma diferença enorme para as nossas carreiras. E esta diferença é maior nas carreiras que ainda estão se formando. Como a média de idade da empresa fica abaixo dos 25 anos (não me coloquei nesse cálculo…) faz ainda mais sentido.

+ +

Por estes motivos nossa política atual é que o trabalho remoto funciona por algum tempo, em períodos que alguém precise estar em outro lugar ou esteja em processo de mudança para Joinville. É comum as pessoas passarem alguns dias ou semanas trabalhando de outra cidade, mas é visível a diferença de ânimo quando estamos todos no mesmo espaço, discutindo idéias e falando sobre nerdices.

+ +

Como tentamos sempre melhorar e não existe verdade absoluta e imutável é possível que este cenário mude em algum momento no futuro, mas atualmente esta decisão tem se mostrado funcional.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/react-native-for-react-developers/index.html b/public/posts/2017/react-native-for-react-developers/index.html new file mode 100644 index 0000000..55d0ef1 --- /dev/null +++ b/public/posts/2017/react-native-for-react-developers/index.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + React Native for React Developers · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ React Native for React Developers +

+

+ Feb 16, 2017 00:00 + · 662 words + · 4 minute read + + + + + Desenvolvimento + + JS + + React + + React Native + + Mobile + + Programação Funcional + + + + +

+

by Vinicius Dacal

+
+ +
+ + +

React Native for React Developers

+ +

React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript.

+ +

In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code.

+ +

Building Blocks

+ +

React Native uses the same design as React, you will be using JSX and JavaScript to create your components. However, you have to pay attention to some particularities.

+ +

You are not writing for the web, so you cannot use the regular HTML elements, such as div, input, span, button, etc… Instead of those regular elements, you have a bunch of native components that React Native provides. It is possible to find all of them here.

+ +

For example, you can use a View component instead of a div, and use a Text where you would use a span.

+ + + +

To inform React Native about which component is the root in your Application, you have to use AppRegistry.

+ + + +

Usually, this code goes inside the index.ios.js or index.android.js file. The result will be as shown below:

+ +

+ +

Styling Components

+ +

React Native supports most of CSS properties. If you are familiar with regular CSS, you’ll have no big trouble styling your components.

+ +

Let’s focus on the main differences. On React Native, you are not able to use stylesheets, you have to use inline styles. I know it can seem weird, but it’s just how it works, and it works very well.

+ +

Width and Height: All dimensions are unitless and represent density independent pixels. In other words, you are not able to use percentage to set width, height, padding or margin.

+ +

See the code bellow and its result:

+ + + +

+ +

React Native does not support percentage, but it fully supports Flexbox Layout. So, you are able to create consistent layouts for different screen sizes.

+ +
+

Flexbox works the same way in React Native as it does in CSS on the web, with a few exceptions. The defaults are different, with flexDirection defaulting to column instead of row, and the flex parameter only supporting a single number. Docs.

+
+ +

Observe the code bellow using Flexbox:

+ + + +

+ +

Beyond particularities about dimension and default values, some components support only specific style attributes. For example, you cannot use font attributes(fontSize, FontFamily, color) in a View expecting the texts inside it to inherit the style. It’s possible to check all allowed attributes inside each component’s documentation. Check out the allowed attributes for the View component here.

+ +

For more detailed information about styling, try the Style section on React Native documentation.

+ +

Events and User Interaction

+ +

On React, we often catch interaction events by passing event handlers for specific props such as onClick, onFocus and onBlur. In React Native, you can do the same, in a similar way.

+ +

To create a button for example, you have to use a native tappable component, such as TouchableHighlight, TouchableNativeFeedback, TouchableOpacity or TouchableWithoutFeedback. Those components are able to catch touch events. To do that, you just pass an event handler to onPress.

+ + + +

It’s also possible to catch a long press event, just passing an event handler to onLongPress, the same way we did with onPress.

+ +

Another common event that is different is onChange, mostly used with input components. Now you just use onChangeText instead.

+ + + +

Conclusion

+ +

React Native is an Awesome project. Facebook is investing a lot on it and a lot of companies already adopt this technology, so you certainly can say it’s safe for production. With React Native, it’s easy to build and ship native mobile apps.

+ +

For sure, there is a lot more about React Native than we could touch on this post, if you are willing to dive into this, I would adivise you to start from the Documentation, the community has doing a awesome job there.

+ +

Did you enjoy the post and think it’s useful? Give a recommend❤️ below, to help us spread the word :)

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/simplificando-o-setup-de-projetos-no-github/index.html b/public/posts/2017/simplificando-o-setup-de-projetos-no-github/index.html new file mode 100644 index 0000000..adbe851 --- /dev/null +++ b/public/posts/2017/simplificando-o-setup-de-projetos-no-github/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simplificando o Setup de Projetos no GitHub · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Simplificando o Setup de Projetos no GitHub +

+

+ Jan 10, 2017 00:00 + · 296 words + · 2 minute read + + + + + Desenvolvimento + + GitHub + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+

Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles.

+ +

E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels:

+ +

Conjunto de labels utilizadas no [Coderockr Way](https://blog.coderockr.com)Conjunto de labels utilizadas no Coderockr Way

+ +

É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las.

+ +

Em todos os projetos cadastramos essas labels. Mas mesmo que você esteja de bom humor, vai ser um trabalho chato e moroso. E é bem provável que esqueça alguma delas, e precise revisar a lista para garantir que estão todas lá.

+ +

Esqueci o “Stage: Testing”? Achei…Esqueci o “Stage: Testing”? Achei…

+ +

Pensando nessa monotonia e para economizar algum tempo de setup nos projetos resolvemos criar um script que fizesse esse processo, adicionando as labels a um projeto que fosse informado.

+ +

O script acabou ficando bem mais simples que o esperado graças a simplicidade da API do GitHub, todo ele foi feito com cURL e alguns loops no bash para as labels.

+ +

Até preparamos ele para não precisar ser baixado/instalado, basta dar um cURL direto do repositório do GitHub que ele pede os dados que precisa.

+ +

nem precisa baixarnem precisa baixar

+ +

Resolvemos deixar o script que criamos em um repositório público no GitHub para quem estiver procurando uma solução parecida (ou que agora acha que vale a pena criar um também).

+ +

O script e como usá-lo estão aqui.

+ +

Conclusão, investir um pouco de tempo para entender as ferramentas que você usa, não só te poupa tempo a longo prazo, quanto também gera uns scripts legais de compartilhar

+ +

Criamos um novo script para fazer o mesmo setup para projetos no GitLab, pode visualizar o script aqui.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/time-tracking-na-linha-de-comando/index.html b/public/posts/2017/time-tracking-na-linha-de-comando/index.html new file mode 100644 index 0000000..b0e8e5e --- /dev/null +++ b/public/posts/2017/time-tracking-na-linha-de-comando/index.html @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Time Tracking na Linha de Comando · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Time Tracking na Linha de Comando +

+

+ Aug 21, 2017 00:00 + · 584 words + · 3 minute read + + + + + Desenvolvimento + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson.

+ +

Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. Quem me conhece sabe que não sou fã de IDEs e uso o terminal para fazer tudo, desde pesquisa em arquivos (grep, fgrep, find, ack) até executar testes unitários (PHPUnit, go test) e deploys (shell script). Nada mais natural que eu acabasse usando a linha de comando para monitorar o meu tempo também. Em uma das minhas leituras diárias no Hacker News esbarrei com uma ferramenta interessante, o Watson.

+ +

O funcionamento dele é bem simples. Após a instalação basta iniciar o trabalho usando o comando start, como no exemplo:

+ +
watson start coderockr +"Criacao de Post"
+
+ +

Sim, estou usando o Watson para monitorar o tempo que estou dedicando para escrever este post!

+ +

O parâmetro coderockr é o nome do projeto e o +“Criacao de Post” é a tag que estou atribuindo ao trabalho. É possível colocar mais tags, seguidas de espaços como:

+ +
watson start coderockr +"Criacao de Post" +Medium +Produtividade
+
+ +

Para visualizar todos os seus projetos basta executar:

+ +
watson projects
+
+ +

E as tags com o

+ +
watson tags
+
+ +

Também é possível ver o status do trabalho que está realizando agora:

+ +
watson status Project coderockr [Criacao de Post, Elton Minetto] started 9 minutes ago (2017.08.22 08:23:56-0300)
+
+ +

E ver o log dos seus trabalhos recentes com o :

+ +
watson log
+
+ +

A saída do comando log vai mostrar um identificador do trabalho, algo bem parecido com um commit do Git. Com esse identificador é possível editar determinado trabalho:

+ +
watson edit 66843a7
+
+ +

O seu editor padrão vai ser aberto com um arquivo json contendo as informações do trabalho, que pode ser alterado e salvo.

+ +

Para salvar o histórico dos trabalhos existe duas soluções. A mais simples é configurar uma variável de ambiente indicando para o Watson onde salvar seus arquivos, o que pode ser em um diretório do Dropbox, iCloud, ou mesmo Git. Eu configurei desta forma:

+ +
WATSON_DIR=/Users/eminetto/Dropbox/watson
+
+ +

A segunda forma é usar um servidor remoto para armazenar o seu log. O Watson tem um projeto complementar, o Crick. Com ele é possível sincronizar os seus logs e também visualizar de maneira gráfica como está sendo usado o tempo em cada projeto.

+ +

+ +

O Crick é um projeto open source que pode ser hospedado em um servidor próprio mas também existe uma solução na nuvem que pode ser usada tranquilamente. O Crick também permite a criação de times, o que facilita o seu uso em grupo. Depois de criada a conta no http://crick.io, ou no servidor próprio, basta configurar o Watson para usar o backend do Crick para sincronizar os dados. Depois de configurado basta executar o comando:

+ +
watson sync
+
+ +

Desta forma os logs são enviados para o servidor e ficam disponíveis via interface gráfica.

+ +

A grande vantagem do Watson é podermos usá-lo em automatizações e scripts, facilitando bastante o dia a dia do desenvolvedor e evitando o multitasking. E o Crick ajuda bastante na tarefa de visualizar de maneira mais rápida e prática como estamos consumindo nosso tempo, o que ajuda na otimização de tarefas.

+ +

E tudo isso sem sair do nosso amado terminal ;)

+ +

Originally published at http://eltonminetto.net/post/2017-08-22-time-tracking-na-linha-de-comando/ on August 22, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/index.html b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/index.html new file mode 100644 index 0000000..cc4d102 --- /dev/null +++ b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/index.html @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 +

+

+ Mar 7, 2017 00:00 + · 717 words + · 4 minute read + + + + + Desenvolvimento + + Kubernetes + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc.

+ +

Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google.

+ +

Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias.

+ +

Isso me salvou de já ter de sair pagando para testar, ou ter de fazer o setup do minikube na minha máquina, o que não me era muito atrativo.

+ +

Assim resolvi dar uma chance a plataforma da Red Hat, e construir um ambiente simples com um servidor HTTP em Node e um banco de dados MySQL, o que já me permite cobrir vários aspectos básicos do Kubernetes.

+ +

Mas como o texto foi ficando muito grande, achei melhor quebrá-lo em 4 partes para não cansar quem for ler e que irei publicar nos próximos dias.

+ +

Nessa primeira parte vou dar uma introdução aos conceitos básicos do Kubernetes, e nas próximas irei fazer uso desses conceitos.

+ +

A aplicação que construí usa um conjunto de dados sobre faltas em consultas que achei no Kaggle e gera os gráficos abaixo, podendo escolher o dia da semana como filtro.

+ +

O fonte dessa aplicação pode ser encontrado aqui: [https://github.com/lucassabreu/openshift-next-gen/tree/app](https://github.com/lucassabreu/openshift-next-gen/tree/app)O fonte dessa aplicação pode ser encontrado aqui: https://github.com/lucassabreu/openshift-next-gen/tree/app

+ +

Então publiquei no Docker Hub uma imagem para a aplicação (lucassabreu/openshift-app-test) e outra para o banco de dados (lucassabreu/openshift-mysql-test) — essa imagem é um MySQL normal, mas que adicionei um dump da base que vou usar para facilitar o deploy.

+ +

Agora se eu quiser executar essa aplicação na minha máquina, posso simplesmente executar os seguintes comando do Docker e terei o servidor me respondendo em http://localhost:

+ + + +

Certo, agora que tenho certeza de que a minha aplicação está operacional, comecei a criar os objetos do Kubernetes, mas antes é importante entender alguns conceitos da plataforma para não ficar muito perdido:

+ +

**- Pod**

+ +

Este é o menor componente do Kubernetes, representa um nó no cluster, executando um ou mais contêineres que entregam uma mesma função.

+ +

Eles tem a característica de serem descartáveis, ou seja, se eventualmente acontecer algum problema a um Pod, este pode ser destruído sem nenhum efeito colateral ou remorso.

+ +

- Deployment

+ +

Como o nome sugere controla o deploy de Pods dentro do cluster. Quando se cria esse componente, deve-se informar um template de Pod e quantos destes você precisa, e se necessário uma regra para criar mais instâncias.

+ +

Ele irá garantir duas coisas principalmente: que existam suficientes Pods quanto foi definido, e que os mesmos estejam atualizados em relação ao template que foi definido.

+ +

Então caso você mude algo no template o Deployment vai subir novos Pods e destruir os antigos para manter a expectativa (ele também “versiona” os deploys, então se algo explodir dá para voltar atrás).

+ +

- Service

+ +

Como os Pods além de efêmeros, podem existir em números variados por culpa dos Deployments, não há forma confiável de tentar conectar dois Pods diretamente, seja porque o Pod que você está dependendo pode morrer e quando voltar terá outro IP, e provavelmente outro nome, ou porque o Pod que você “fixou” pode não ser o mas indicado (menos ocupado ou mais próximo).

+ +

Para resolver esse problema existem os Services, em vez de tentar fazer as chamadas diretamente para um Pod, podemos chamar pelo nome de um Service e este irá rotear para um Pod que esteja abaixo dele.

+ +

É importante ressaltar que os Services fazem “apenas” a descoberta dos Pods, eles não os mantêm ligados, isso é responsabilidade dos Deployments.

+ +

- Route

+ +

Permitem que você exponha Services para a rede externa e também permite algumas regras de proxy para melhor apresentá-los.

+ +

Embora seja possível fazer a exposição de Services para a rede externa com Kubernetes, na plataforma da OpenShift é necessário o uso do componente Route para isso.

+ +

Como comentei no início, estou escrevendo uma série de postagens para mostrar como usar o básico do Kubernetes, e no próximo post irei usar os conceitos que acabei de descrever para implementar o ambiente.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/index.html b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/index.html new file mode 100644 index 0000000..6466910 --- /dev/null +++ b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 +

+

+ Mar 8, 2017 00:00 + · 803 words + · 4 minute read + + + + + Desenvolvimento + + Kubernetes + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido.

+ + + +

Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes.

+ +

O primeiro passo é definir quais são os Pods do meu cluster.

+ +

Embora o primeiro impulso seja colocar cada um dos contêineres em um Pod distinto e seguir em frente, esse não é necessariamente a melhor forma de defini-los. Por exemplo, em situação certos contêineres tem o mesmo objetivo, ou dependem muito um do outro é uma boa ideia mantê-los juntos.

+ +

Mas para a minha aplicação faz mais sentido um Pod por contêiner, um para o servidor HTTP e outro para o banco de dados.

+ +

Como não é uma boa ideia simplesmente definir um Pod diretamente, criei dois Deployments o node-deployment e o db-deployment.

+ +

No momento da escrita desse post os Deployments ainda estavam marcados como uma versão beta, mas já são bastante usados, então é confiável.

+ + + +

O primeiro Deployment é para o db-deployment. Os arquivos de configuração são simples de ler, sempre começamos o arquivo dizendo o tipo de objeto que será criado, o metadata e definimos as specs (que variam para cada tipo de componente).

+ +

Defini que preciso de apenas um Pod (replica) e que as mesmas serão identificáveis pelas labels: name=db-pod.

+ +

Outras duas informações importantes são ports e volumeMounts.

+ +
    +
  • ports define quais portas deverão ser expostas no Pod e permite que possam ser mapeadas nos Services posteriormente. Também é recomendado dar nomes às mesmas (mysql-port), assim podemos usar o nome como identificador no lugar de números.

  • + +
  • volumeMounts define todos os volumes do contêiner, dessa forma o volume de dados do MySQL precisou ser mapeado (/var/lib/mysql).

  • +
+ + + +

O segundo Deployment é do servidor HTTP, chamei-o de node-deployment. Ele segue as mesmas regras do anterior, sendo até mais simples.

+ +

A novidade aqui é o db-service, que vou explicar agora:

+ + + +

O db-service é o nome do Service que defini para agrupar os Pods de banco de dados, o Service ficou bem simples e basicamente tem duas partes:

+ +
    +
  • selector define uma regra para selecionar quais Pods fazem parte do Service, no caso estou usando uma regra bem simples de name=db-pod.

  • + +
  • ports permite que você mapeie as portas dos Pods para uma porta no Service, no caso estou roteando a porta de nome mysql-port para a 3306 do Service. Assim toda chamada para db-service:3306 será direcionada para a mysql-port de um dos Pods.

  • +
+ + + +

O node-service segue a mesma lógica, mas para os Pods do servidor HTTP.

+ + + +

Por fim criei uma Route para expor o serviço node-service para a Internet. Eu poderia definir qual o nome de host, mas como não o fiz o OpenShift irá gerar uma URL automaticamente para mim.

+ +

Essa URL pode ser descoberta entrando na Dashboard do OpenShift ou com o comando oc get routes:

+ + + +

Para aplicar as configurações no cluster a OpenShift disponibiliza um cliente de linha de comando, que usa basicamente a mesma estrutura do kubectl, o oc. Então tudo que precisa ser feito é executar:

+ + + +

As instruções de como instalar o cliente e configurá-lo estão nesse link: https://console.preview.openshift.com/console/command-line.

+ +

*** Update 2017–04–29 ***

+ +

Se estiver lendo esse artigo algum tempo depois de lançado, a OpenShift fechou o preview e o link anterior não funciona, mas ainda é possível baixar o oc client em: +openshift/origin +*origin - Enterprise Kubernetes for Developers*github.com

+ +

Caso não queira criar os todos esses fontes, pode pegá-los aqui: https://github.com/lucassabreu/openshift-next-gen/tree/v1; ou executar:

+ +
git clone -b v1 \
+    [https://github.com/lucassabreu/openshift-next-gen.git](https://github.com/lucassabreu/openshift-next-gen.git)
+
+ +

Agora no console do OpenShift deverão aparecer todos esses componentes rodando.

+ +

eu fiz algumas brincadeiras antes de chegar aqui, então tenho mais versões dos deploys ☺eu fiz algumas brincadeiras antes de chegar aqui, então tenho mais versões dos deploys ☺

+ +

Caso esteja acompanhando as etapas, você já deve ter visto esse Dashboard, mas caso esteja apenas lendo: esse Dashboard é a tela principal dos clusters que você criar no OpenShift; basta clicar aqui, autenticar-se com o GitHub, criar um Project, e pronto em Overview você verá os componentes surgirem e sumirem em tempo real conforme vai aplicando as configurações.

+ +

Voltando, nesse momento temos o mesmo comportamento da aplicação local, rodando dentro do Kubernetes, empenhando o mínimo possível de configuração.

+ +

Mas existem alguns problemas no que foi definido.

+ +

O primeiro é que os db-pods estão totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup !

+ +

Irei mostrar como resolver esse problema no próximo post.

+ +

Próximo Post: clique aqui

+ +

Gostou do post e achou útil? Dê um **like **❤ abaixo para ajudar na divulgação e para que mais pessoas tenham acesso 😄, e volte amanhã para acompanhar essa série sobre Kubernetes !

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/index.html b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/index.html new file mode 100644 index 0000000..b902365 --- /dev/null +++ b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/index.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 +

+

+ Mar 9, 2017 00:00 + · 584 words + · 3 minute read + + + + + Desenvolvimento + + Kubernetes + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido.

+ + + +

Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup !

+ +

E agora iremos tratar esse primeiro problema. Caso não tenha mais os fontes até o estado do post anterior, ou prefira acompanhar o meu andamento, pode pode pegá-los aqui: https://github.com/lucassabreu/openshift-next-gen/tree/v1; ou executar:

+ +
git clone -b v1 \
+    https://github.com/lucassabreu/openshift-next-gen.git
+
+ +

Volumes Persistentes

+ +

Podemos testar esse problema conectando no Pod e adicionando alguns dados e então destruindo ele para ver o efeito. Vou adicionar um registro sobre para Homens no Sábado, pois é um dia sem nenhuma informação e facilita a visualização.

+ +

Antes… sem dadosAntes… sem dados

+ +

Para acessar o Pod usa-se o comando oc rsh , e para encontrar o nome do Pod posso usar o comando oc get pods -l , então é só acessar o MySQL e inserir os dados:

+ + + +

Entrando novamente na aplicação e indo em “Sunday”, tenho um gráfico com dados para os Homens.

+ +

isso se o seu contêiner não morrer no caminhoisso se o seu contêiner não morrer no caminho

+ +

Para concluir o teste, basta apagar o Pod com oc delete pods -l name=db-pod ou oc delete pod db-deployment-xyz, esperar o Pod ser recriado e então ver que as alterações nos dados se foram:

+ +

:’(:’(

+ +

Para resolver esse problema o Kubernetes possui os **Persistent Volume Claims (PVC) **que permitem definir volumes que existem fora do ciclo de vida de um Pod, ou seja, mesmo que todos os Pods sejam destruídos, o PVC irá manter os dados em si.

+ +

Podemos utilizar vários tipos de volumes em um PVC para armazenar os dados, no caso do OpenShift o padrão é EBS, que são volumes armazenados dentro do AWS da Amazon, mas existe a opção de usar volumes do Google Cloud, do Azure, Locais, etc; no Kubernetes.

+ +

Mas no momento o OpenShift esta ofertando apenas o EBS. Abaixo esta a definição do PVC:

+ + + +

Depois de um momento o OpenShift irá criar um volume e disponibilizá-lo, agora é preciso vincular ele com os db-pods, para isso basta alterar os volumes no db-deployment:

+ + + +

Duas coisas foram alteradas no db-deployment:

+ +
    +
  • O nome do volume mudou, isso é necessário porque estamos fazendo uma mudança de tipo de volume, e o Deployment não consegue alterar o tipo, mas se temos um novo, então tudo bem.

  • + +
  • Adicionei a tag persistentVolumeClaim no volume novo e apontei para o PVC que criei agora a pouco.

  • +
+ +

Executo o comando oc apply -f db-deployment.yml e o Deployment irá destruir os Pods antigos e criar novos usando o PVC.

+ +

Agora se replicarmos os comandos de para incluir registros e destruir o Pod do MySQL, quando o Deployment recriar o Pod ele manterá os dados.

+ +

Outro ponto que esta desconfortável no meu ambiente é o fato das senhas e usuários estarem expostas diretamente nas configurações. O Kubernetes oferece uma solução para esse problema, que irei abordar no próximo post.

+ +

Próximo Post:

+ +

Gostou do post e achou útil? Dê um **like **❤ abaixo para ajudar na divulgação e para que mais pessoas tenham acesso 😄, e volte amanhã para acompanhar essa série sobre Kubernetes !

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/index.html b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/index.html new file mode 100644 index 0000000..09170c5 --- /dev/null +++ b/public/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/index.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 +

+

+ Mar 10, 2017 00:00 + · 482 words + · 3 minute read + + + + + Desenvolvimento + + Kubernetes + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido.

+ + + +

Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. O Kubernetes oferece uma solução para esse problema os **Secrets**.

+ +

E agora irei mostrar como adicioná-los ao projeto.

+ +

Caso não tenha mais os fontes até o estado do post anterior, ou prefira acompanhar o meu andamento, pode pode pegá-los aqui: https://github.com/lucassabreu/openshift-next-gen/tree/v2; ou executar:

+ +
git clone -b v2 \
+    https://github.com/lucassabreu/openshift-next-gen.git
+
+ +

Secrets

+ +

Existem algumas formas de criar e usar os mesmos, criá-los diretamente de arquivos, ou usando configurações, e expô-los aos contêineres usando volumes ou variáveis de ambiente.

+ +

Para essa aplicação vou utilizar um YAML para definir um Secret e vou modificar os Pods para alimentarem as variáveis de ambiente com eles. A estrutura básica do Secret é como segue:

+ + + +

Nele estou criando o Secret mysql-secrets e definindo quatro chaves que representam as três variáveis do MySQL e uma do servidor HTTP. No lugar do deve ir o conteúdo do segredo em Base 64, que pode ser gerado usando o comando echo -n “meusegredo” | base64 -w0.

+ +

Eu não gostei muito da ideia de guardar o Base 64 dentro da definição do Secret, então fiz a seguinte modificação no meu mysql-secrets.yml:

+ + + +

E quando vou aplicar o Secret no Kubernetes uso este script:

+ + + +

Esse script cria uma senha aleatória para o root e usa duas variáveis de ambiente para definir o usuário e senha do MySQL, faz o Base 64 deles, injeta eles no arquivo via sed no Secret e aplica no Kubernetes com oc apply -f - que irá ler a saída do sed e aplicá-la. Na hora de executar fica assim:

+ +
$ export DATABASE_USER=appoint
+$ export DATABASE_PASSWORD=123
+$ ./env-set-oc.sh
+secret "mysql-secrets" configured
+
+ +

Altero os Deployments para considerarem o Secret que criei:

+ + + +

A alteração consiste de trocar a chave value das variáveis por valueFrom e apontar para as chaves corretas dentro do Secret.

+ +

Depois que aplica as mudanças os Deployments vão identificá-las e trocar os Pods por novos. E passaram a utilizar os Secrets informado nas variáveis para eles.

+ +

Ao final dessa séria, a conclusão que posso chegar é que o Kubernetes exige um conjunto razoavelmente grande de configurações para podermos servir uma aplicação, mas são arquivos simples de se entender e muito bem documentados o que facilitou bastante o processo, e não me fez sentir o peso dessa quantidade.

+ +

Gostou do post e achou útil? Dê um **like **❤ abaixo para ajudar na divulgação e para que mais pessoas tenham acesso 😄, e obrigado por me acompanhar até aqui ️!

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/usando-aws-api-gateway-e-aws-lambda/index.html b/public/posts/2017/usando-aws-api-gateway-e-aws-lambda/index.html new file mode 100644 index 0000000..c59cc5e --- /dev/null +++ b/public/posts/2017/usando-aws-api-gateway-e-aws-lambda/index.html @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Usando AWS API Gateway e AWS Lambda · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Usando AWS API Gateway e AWS Lambda +

+

+ Jan 3, 2017 00:00 + · 517 words + · 3 minute read + + + + + Desenvolvimento + + AWS + + Ferramentas + + + + +

+

by Elton Minetto

+
+ +
+

Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação.

+ +

Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM.

+ +

Mas nesse momento enfrentamos um problema, pois algumas limitações da API não permitiram a integração usando JavaScript direto do navegador (a API do HubSpot não permite CORS…). A solução seria termos um script, em PHP por exemplo, que receberia os dados do formulário e os enviaria para a API, usando CURL. Como o site da Coderockr foi desenvolvido usando o Github Pages precisaríamos de um servidor para executar esse script, o que aumentaria o custo de execução e manutenção do site. Neste momento lembramos da solução API Gateway + Lambda, da Amazon Web Services.

+ +

O primeiro passo foi a criação da “função lambda”, que conteria a lógica necessária para realizar a operação de envio dos dados para o HubSpot. Usando o painel da AWS criamos uma função chamada “contato” e optamos por desenvolvê-la usando Python (as outras opções eram C#, Java e NodeJS). O código, com pequenas alterações, pode ser visto neste Gist. Para mais detalhes sobre a API do HubSpot é possível acessar a documentação oficial.

+ +

+ +

Com o código criado o próximo passo foi a criação de uma API, que recebe as informações do formulário e as repassa para a função lambda. Para isso usamos o serviço API Gateway e criamos o recurso chamado/contato. Um detalhe importante é que para podermos acessar essa API facilmente pelo navegador é preciso habilitarmos a opção “Enable CORS”, no menu Actions.

+ +

+ +

Também é preciso criarmos um “Stage”, na opção correspondente no menu na esquerda. Neste exemplo criamos apenas um, chamado prod e com isso temos uma url para acesso e opções de configuração avançada de segurança, cache e logs.

+ +

+ +

O passo final é configurar a função lambda para ser executada sempre que receber uma mensagem da API. No painel de configuração da função podemos usar a opção “Triggers” para fazer a conexão entre a API e nossa lógica.

+ +

+ +

Podemos fazer um teste de conexão usando o painel de configuração da API para garantirmos que tudo está funcionando

+ +

+ +

Assim bastou escrevermos um pouco de JavaScript para que o formulário fizesse um post para a nova API fornecida pelo Gateway e ela executa a função lambda e envia os dados para o HubSpot. E nós só pagamos para a Amazon apenas os segundos gastos nesse processo, sem a necessidade de mantermos um servidor rodando PHP ou outra linguagem.

+ +

O resultado final é uma nova entrada no nosso CRM e um e-mail na caixa postal do responsável por entrar em contato com os clientes, enviado automaticamente pelo próprio HubSpot.

+ +

+ +

Como todo o site é formado por páginas estáticas, fornecidas pelos servidores do Github, podemos dizer que temos uma solução “serverless” e barata. E mais um motivo para aprender algo novo ;)

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/index.html b/public/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/index.html new file mode 100644 index 0000000..1d0d439 --- /dev/null +++ b/public/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/index.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Usando um Bot do Telegram para Receber Notificações · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Usando um Bot do Telegram para Receber Notificações +

+

+ Jun 12, 2017 00:00 + · 320 words + · 2 minute read + + + +

+

by Elton Minetto

+
+ +
+

#

+ +

Quem me conhece sabe que eu não gosto muito do WhatsApp. E o motivo principal nem é a quantia de mensagens “bonitinhas” que seus parentes enviam todos os dias. O meu principal problema, pelo menos por enquanto, é a falta de opções para nós desenvolvedores criarmos automações e integrações.

+ +

Neste post vou mostrar um exemplo simples mas que está sendo bem útil para mim. Trata-se do Integram

+ +

+ +

Com o Integram é possível integrar o Telegram com vários serviços como Trello, Gitlab, Bitbucket, etc. E por ser um projeto Open Source qualquer pessoa pode sugerir melhorias ou submeter novas integrações.

+ +

Mas ele tem uma função ainda mais simples. Basta, no seu Telegram, seguir o usuário @bullhorn_bot. Ao fazer isso vai aparecer na tela a opção “start”, ou basta digitar o texto /start que o Bot vai criar uma URL única para você. Algo como: https://integram.org/asoijajsaioa

+ +

Com esta URL é possível enviar mensagens para o seu novo amigo, o Horn Bot. É só enviar uma requisição POST com o conteúdo:

+ +
{"text":"So _advanced_\nMuch *innovations* 🙀"}
+
+ +

No exemplo acima, o que o próprio Bot apresenta, é possível ver que ele suporta Emoji. Afinal, do que seria o mundo sem Emojis, certo?

+ +

Eu estou usando este bot para receber notificações de deploys em servidores, scripts demorados executando na minha máquina (npm install por exemplo…). É possível usar qualquer linguagem de programação ou o bom e velho CURL:

+ +
curl -H "Content-Type: application/json" -X POST -d '{"text":"Deploy Codenation Finalizado"}' [https://integram.org/asoijajsaioa](https://integram.org/asoijajsaioa)
+
+ +

Este é só um exemplo bem simples, mas útil, do que podemos fazer com o Telegram. Até onde eu sei este tipo de integração não é possível com o WhatsApp, mas o Facebook Messenger e o Apple iMessage suportam algo similar.

+ +

Como desenvolvedores, só nos resta esperar que algum dia o WhatsApp implemente algo similar ou que as pessoas comecem a usar algo melhor como o Telegram :)

+ +

Originally published at http://eltonminetto.net/post/2017-06-13-usando-bot-telegram/ on June 13, 2017.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/index.html b/public/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/index.html new file mode 100644 index 0000000..d0e8359 --- /dev/null +++ b/public/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 Razões para Desenvolver um Software Personalizado para o seu Negócio · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ 5 Razões para Desenvolver um Software Personalizado para o seu Negócio +

+

+ Mar 8, 2018 00:00 + · 502 words + · 3 minute read + + + + + Transformação Digital + + + + +

+

by Renata Willwock

+
+ +
+ + +

Sua empresa enfrenta problemas relacionados a gestão, lançamentos massivos, cadastros diversos, sofre com a falta de identidade da sua marca, opções de personalização e melhorias escassas, entre outros?

+ +

A solução pode estar na busca por uma Software House, empresa especializada no desenvolvimento de softwares e aplicativos, que atenda todas as suas necessidades. Veja as vantagens de investir no desenvolvimento de um software próprio:

+ +

Atende às necessidades específicas da empresa

+ +

A principal vantagem de ter um software sob medida é que este foi desenvolvido para atender especialmente às necessidades do seu negócio ou empresa. Softwares prontos geralmente são engessados e solucionam apenas uma parte dos problemas. Com um software desenvolvido especificamente para o seu negócio, você pode integrar todas as suas demandas em uma única solução. Essa integração além de evitar erros e retrabalhos, permite aos gestores uma visão completa do negócio, e ainda traz consigo uma enorme economia de tempo e investimento em múltiplas ferramentas.

+ +

Oferece maior segurança dos dados

+ +

Ao optar por um software personalizado, a empresa está adquirindo uma solução própria, desenvolvida especificamente para as suas necessidades e para funcionar no seu ambiente, então quem define onde esse software será hospedado é o cliente. Mesmo optando por uma arquitetura projetada para a nuvem, seu sistema terá uma proteção e confiabilidade mais robusta, e livre de compartilhamentos de dados com sistemas de terceiros.

+ +

Gera economia a longo prazo

+ +

É fato que um software pronto tem um custo inicial menor, mas isto perdura apenas por um curto prazo. Como mencionamos anteriormente, não apenas os softwares prontos podem não atender todas as necessidades da sua empresa ou negócio, mas também podem estar utilizando tecnologias mais antigas, menos seguras ou até mesmo deterioradas. Realizar melhorias em softwares prontos geralmente têm uma maior complexidade, e portanto custos mais altos. Um software feito sob medida para um tipo de negócio é um investimento para a empresa, que a longo prazo irá trazer diversos benefícios e agregar valor para o seu negócio.

+ +

Facilita as adaptações e evoluções

+ +

Com um software personalizado, você consegue realizar todas as alterações necessárias ao longo do tempo de uso, para que ele continue comportando inovações, atendendo às novas demandas do mercado, e agregando oportunidades ao negócio. Portanto, é um software que irá evoluir junto com a empresa, acompanhando todos os novos requisitos e melhorias necessárias. Um novo tipo de funcionalidade, de layout, ou relatório, tudo isso e muito mais pode ser facilmente customizado em um software desenvolvido sob medida, para que ele continue atendendo de maneira satisfatória e eficiente a todos os seus usuários.

+ +

Garante a identidade da empresa

+ +

Ter um software personalizado é com certeza um diferencial competitivo no mercado, mostra que com o uso da tecnologia, você quer ir além do que já está disponível. Uma solução pronta, limita os seus resultados, bem diferente de um software personalizado, que sua empresa tem total liberdade de ir modificando com a evolução do negócio.

+ +
+

Entre em contato e conte-nos o seu projeto, estamos prontos para dar um Show!
+coderockr.com
++55 (47) 3227–6359

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/index.html b/public/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/index.html new file mode 100644 index 0000000..044f188 --- /dev/null +++ b/public/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/index.html @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos +

+

+ Apr 16, 2018 00:00 + · 770 words + · 4 minute read + + + + + Desenvolvimento + + Transformação Digital + + Mobile + + + + +

+

by Renata Willwock

+
+ +
+ + +

O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações.

+ +
+

Atualmente o mundo dos smartphones está dividido entre Android e iOS e segundo uma recente pesquisa divulgada pelo Gartner, 99,9% dos novos aparelhos são Android ou iOS.

+
+ +

Mas a verdade é que existem alguns pontos em que todos que pretendem desenvolver um app precisam estar atentos, independente do sistema. São itens extremamente essenciais para o momento do mercado tecnológico, e que mudam a percepção do usuário e ajudam o app a se destacar entre os constantes lançamentos.

+ +

+ +

Confira nossa lista e entenda, que independente de ser mais fã da Apple ou do Google, algumas regras são universais:

+ +

1 . Resolva um problema da vida real

+ +

Quando for pensar na ideia do seu aplicativo, procure inspiração nas questões do dia-dia do seu negócio ou empresa. Exemplos de sucesso: Se existisse uma forma mais rápida de contratar um serviço, chamar um carro, ou pedir comida? Apps como iFood e Uber surgiram a partir desse pensamento tão corriqueiro e útil. Observe a rotina da sua empresa, dos colaboradores e o feedback dos seus clientes por melhorias, lembre-se que os clientes fornecem muitas idéias e de graça. Após ter prestado atenção nestes casos, tente resolver pelo menos um de seus problemas com o seu novo aplicativo.

+ +

2 . Garanta a usabilidade

+ +

Se uma pessoa instala um novo aplicativo, mas não entende logo no início como ele funciona, muito provavelmente ela irá desistir. Segundo o Google, 25% dos aplicativos são usados uma única vez antes de serem desinstalados do aparelho. Para o seu app não fazer parte dessa estatística, opte pelo mínimo possível de etapas no funcionamento inicial e garanta que ele responda de forma clara a todas as ações do usuário, neste caso menos é mais sempre.

+ +

3 . Certifique-se da agilidade

+ +

Cinco segundos e tem que funcionar! Esse é o tempo que as pessoas consideram aceitável para um app abrir. A agilidade é importantíssima, pois na era do “fast” e as coisas acontecendo à todo vapor, as pessoas não têm muita paciência e desistem do app em tempo recorde se ele não entregar rapidamente o que o usuário está pedindo.

+ +

4 . Aproveite do uso instintivo

+ +

Quando você vê um símbolo de lixeira na tela, o que entende? Que é uma ação para deletar algo. Este é um símbolo que se tornou universal e já faz parte da cultura da Internet. Na troca de ideias com seu fabricante de software/apps, aproveite este conhecimento utilizando os símbolos universais para tornar a usabilidade ainda mais instintiva. As pessoas sempre buscam alguma familiaridade, quando se deparam com o novo, na tecnologia não é diferente.

+ +

5 . Foque sempre no objetivo

+ +

Como falamos anteriormente, as pessoas têm pressa ou não têm tempo suficiente. Ser direto, e passar apenas as informações que o usuário realmente precisa, ajuda e muito o app a ser mais assertivo e consequentemente mais rápido. Você vai ter ideia e vontade que o app do seu negócio tenha várias operações diferentes, porém cuidado com o excesso de animações e textos. Foque naquilo que é realmente essencial e que atenda ao pedido do seu usuário, nesta fase a consultoria da Fábrica de Software ou Software House é decisiva, pois é ela que irá lhe fornecer o norte para o que é mais viável conforme o seu negócio.

+ +

6 . Valorize as funcionalidades essenciais

+ +

Hoje em dia as coisas mudam rapidamente, e o app precisa se adaptar, neste caso o melhor a fazer, é a escolha por desenvolver um MVP (produto inicial mais simples somente com as funcionalidades essenciais) e ir ajustando conforme vão surgindo as necessidades. Muitas vezes desenvolver um produto que você considera completo não acaba sendo exatamente o que o usuário precisa e há desperdício de recursos. Por isto, é mais assertivo ir iterando e melhorando aos poucos conforme o feedback dos usuários.

+ +

As dicas acima são válidas para o desenvolvimento em qualquer plataforma. Porém sabemos que iOS e Android têm usuários com perfis diferentes, mas esses são itens valorizados por qualquer pessoa.

+ +
+

Agora que você já está munido de informações chave para a criação do aplicativo ideal para o seu negócio, entre em contato conosco e conte-nos o seu projeto.

+ +

coderockr.com
++55 (47) 3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/aplicando-https-para-uma-spa-na-aws/index.html b/public/posts/2018/aplicando-https-para-uma-spa-na-aws/index.html new file mode 100644 index 0000000..1996105 --- /dev/null +++ b/public/posts/2018/aplicando-https-para-uma-spa-na-aws/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aplicando HTTPS para uma SPA na AWS · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Aplicando HTTPS para uma SPA na AWS +

+

+ Mar 31, 2018 00:00 + · 603 words + · 3 minute read + + + + + Desenvolvimento + + Criptografia + + Software Security + + AWS + + + + +

+

by Lucas Abreu

+
+ +
+

Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse.

+ +

Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários.

+ +

Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração.

+ +

A maioria dos tutoriais que existem na internet sobre habilitar HTTPS no AWS para um SPA passam a instrução errada de que não podemos usar o link facilitado do S3 para vincular com o CloudFront. Isso acabou em um conjunto problemas de comunicação com o S3, e o fez rejeitar as chamadas vindas do CloudFront; e passar a simplesmente redirecionar para a URL pública do bucket, quebrando algumas funcionalidades do Planrockr, principalmente no on-boarding.

+ +

Para evitar que outros acabem passando por problemas semelhantes e para servir de registro para projetos futuros, abaixo vou descrever a forma correta (e fácil) de habilitar HTTPS usando o S3 e CloudFront da AWS.

+ +

Para usar HTTPS em um bucket do S3, primeiro é necessário possuir um bucket (😜), para esse tutorial, criei um bucket com o nome simple.planrockr.com, e adicionei um arquivo index.html bem simples:

+ + + +

Habilitei o mesmo para funcionar como Static website hosting, então posso acessar a URL http://simple.planrockr.com.s3-website-sa-east-1.amazonaws.com/ e verei o seguinte:

+ +

+ +

Com esse bucket podemos simular a migração de uma “SPA” no S3 sem HTTPS para uma usando CloudFront para servir via HTTPS.

+ +

O primeiro é acessar o dashboard do CloudFront no AWS, nele acesse o botão Create Distribution:

+ +

+ +

Ir na opção para Web:

+ +

+ +

Na tela Create Distribution, informe o nome do bucket que deseja usar, e selecione-o quando aparecer na lista.

+ +

+ +

Eu recomendo marcar a opção “Redirect HTTP to HTTPS” em Viewer Protocol Policy, para que o seu site/SPA sempre seja acessado via HTTPS, mesmo que o usuário tenha um link com HTTP apenas.

+ +

O resto é bem simples, pode deixar tudo no padrão, e apenas informar o certificado e os “CNAMEs” para o seu serviço.

+ +

Como normalmente um SPA usa algum framework JavaScript para gerenciar as rotas (como no nosso caso o react-routes), então é necessário configurar algumas regras na distribution do CloudFront para que ele direcione todas as chamadas para o seu index.html base que ira lidar com as rotas.

+ +

Para isso entre na distribution, na aba “Error Pages”, vamos adicionar duas regras para que todas as chamadas para arquivos que não existam no bucket sejam direcionadas para o index.html do SPA.

+ +

Fica assim:

+ +

+ +

O S3 retorna os Status Codes 403 e 404 quando não consegue achar um arquivo ou não permite acesso a ele, desse modo criando a regra acima para esses dois Status Codes todas as requisições (que não forem de assets) serão direcionados ao index.html.

+ +

Depois destes ajustes você tem um bucket do S3 sendo servido com HTTPS pelo CloudFront sem quaisquer problemas.

+ +

É importante dizer que essa solução é muito boa para SPAs, mas se possuir regras mais complexas de redirecionamentos, ou mais “páginas principais” para o mesmo site, então provavelmente não vai lhe atender, pois não há suporte no CloudFront para isso, seria necessário tratar na origem que o CloudFront estiver lendo.

+ +

Originally published at www.lucassabreu.net.br on April 1, 2018.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/index.html b/public/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/index.html new file mode 100644 index 0000000..7dca8a1 --- /dev/null +++ b/public/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/index.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Entenda a Diferença de um Software Customizado e um Software Pronto · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Entenda a Diferença de um Software Customizado e um Software Pronto +

+

+ Aug 10, 2018 00:00 + · 674 words + · 4 minute read + + + + + Transformação Digital + + + + +

+

by Renata Willwock

+
+ +
+ + +

Um software pode ser desenvolvido para uma área de mercado ou customizado para atender uma necessidade específica de negócio. Neste último caso, o desenvolvimento é adaptado a empresa, compreendendo os desejos de seu cliente e criando áreas específicas para atender 100% a demanda em questão.

+ +

Um software pronto “de prateleira” é mais fechado, geralmente desenvolvido de maneira genérica para atender o maior número de situações de negócios possível, utilizando um modelo específico.

+ +

Neste caso ao ter de se adaptar ao software, a empresa acaba tendo de mudar a maneira como opera no seu dia a dia, e isso é quase sempre uma experiência negativa para a satisfação do cliente.

+ +

Algumas vantagens de se customizar o software

+ +

1. Telas flexíveis, que falem a língua da empresa

+ +

A customização do software permite chegar na raiz do problema, indo diretamente ao ponto que é necessário trabalhar, sem abrir espaço para dúvidas.

+ +

É possível diminuir muitos erros apenas fazendo com que as telas interajam diretamente com o usuário, utilizando uma linguagem para aquele ramo de atividade e com a clareza para aquelas pessoas que irão operar o sistema, retirando completamente as informações genéricas.

+ +

2. Sinergia entre software e departamento

+ +

Quando um processo comercial se inicia, por exemplo, espera-se que o software seja capaz de identificar cada detalhe do pedido de compra, do produto e comprador. Em alguns casos, dependendo do segmento, o processo de venda pode ser realizado de uma maneira bem específica.

+ +

Nesse cenário, um software customizado provavelmente atenderá esta demanda de maneira automatizada, levando em consideração que o sistema estará adaptado para a rotina da empresa, identificando assim, cada item do processo sem a necessidade de demais intervenções.

+ +

Ainda é possível desenvolver sistemas que atendam cada departamento da empresa separadamente, como RH, marketing, atendimento e assim por diante. Compreendendo cada setor da empresa em sua necessidade, é possível otimizar a comunicação entre essas áreas.

+ +

3. Correção de bugs em tempo real

+ +

Quando se faz uso de um software customizado, a identificação e correção de bugs (como problemas sistêmicos até mesmo comportamentos inesperados em relação ao negócio) ocorre com mais facilidade.

+ +

Se existir uma equipe de desenvolvimento responsável por essa customização, a solução de problemas pode ser feita na mesma hora em que ele for constatado.

+ +

Identificando as particularidades de cada grupo de usuários, este tipo de atividade pode fornecer um dinamismo muito grande ao software, permitindo que ele evolua continuamente.

+ +

4. Economia a longo prazo

+ +

Muitas empresas acabam optando pelo software pronto por causa do tempo de implantação e de seu preço, muitas vezes menor. Mas o que acabam não percebendo inicialmente, é que isto acaba fazendo com que elas gastem ainda mais tempo e dinheiro usando esta opção de softwares.

+ +

Em um determinado momento, estes softwares ficarão defasados, e não conseguirão atender o negócio como um todo, até porque ele tende a se modificar para se adaptar a diferentes tipos de necessidades ao longo do tempo.

+ +

Com um software customizado, é possível realizar a evolução contínua, onde a cada nova necessidade, uma adaptação é realizada.

+ +

Se a empresa optar por SaaS (software como serviço) por exemplo, este tipo de atualização pode ser feito sem que ninguém lá dentro precise parar seus processos ou serviços.

+ +

5. Novas perspectivas

+ +

Escolher por uma solução customizada faz com que a empresa participe de todo o processo de desenvolvimento do seu software, desde a sua concepção até a entrega do produto funcional. Isto permite que insights ocorram durante esse processo, e que ao serem identificados, podem ser implantados prontamente, enriquecendo a forma como a empresa lida com o seu sistema.

+ +

Quanto mais específico o segmento de mercado, mais focado é o software para a gestão. Não optar por soluções que sejam adequadas e adaptadas ao negócio da empresa podem deixar enormes lacunas abertas e prejudicar a sua gestão.

+ +
+

Nós da Codercokr somos especialistas no desenvolvimento de sistemas e aplicativos customizados conforme a necessidade da sua empresa e negócio. +Entre em contato e consulte como podemos ajudar a personalizar a gestão da tecnologia da sua empresa.

+ +

coderockr.com
++55 (47) 3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/escopo-fechado-porque-nao-optar/index.html b/public/posts/2018/escopo-fechado-porque-nao-optar/index.html new file mode 100644 index 0000000..302906e --- /dev/null +++ b/public/posts/2018/escopo-fechado-porque-nao-optar/index.html @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Escopo Fechado: Porque Não Optar? · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Escopo Fechado: Porque Não Optar? +

+

+ Jun 5, 2018 00:00 + · 1154 words + · 6 minute read + + + + + Transformação Digital + + + + +

+

by Renata Willwock

+
+ +
+ + +

Motivos que afetam o insucesso do seu projeto digital

+ +

+ +

O mercado de desenvolvimento de soluções digitais têm frequentemente se deparado com vários problemas ao optar por métodos de desenvolvimento de software tradicionais.

+ +

Principalmente quando as necessidades do projeto mudam e os desenvolvedores não tem expertise para atender essas mudanças em curto prazo. E acredite, com certeza as necessidades do projeto vão mudar em algum momento, mesmo você afirmando que hoje é somente isso o que quer em seu projeto.

+ +

Se o seu planejamento depende de algo que está em constante transformação, é praticamente impossível manter o planejamento atual a longo prazo, sem que ocorra nenhum tipo de mudanças. Bem diferente do que a maioria pensa, mudar definitivamente não é um problema. Se mudanças são previstas, é porque foi analisado onde algo pode melhorar.

+ +

Mas então vem o X da questão, como melhorar, readaptar ou aperfeiçoar se você optou por algo fechado? Trabalhar com** **escopo fechado é isso! É limitar as possibilidades, ignorar a inovação e as mudanças constantes, reduzir o envolvimento entre cliente e a desenvolvedora, restringir o acompanhamento do cliente ao projeto, até que esteja pronto como firmado no início do “contrato”.

+ +

Por que ainda muitas empresas acreditam ser mais vantajoso?

+ +

Ao contratar uma empresa para desenvolver seu projeto, você quer saber no que está investindo e quando isso estará “pronto”.

+ +

No escopo fechado, tudo o que será criado, quanto será investido e quando o desenvolvedor irá entregar seu produto, são informações e decisões tomadas no início do contrato. Você acredita estar tomando a decisão certa, acredita que desta maneira estará protegido de surpresas e que não haverá mudanças na entrega do projeto, mas é aí que você se engana.

+ +

Apesar de você ter listado como você quer exatamente sua solução digital, você dificilmente terá ela funcional e viável no seu planejamento. Isto, por alguns motivos:

+ +
    +
  • Você não pode prever como o desenvolvimento do software irá acontecer. Nenhum software é igual ao outro, não existe software igual, como um modelo para ser copiado, todo processo é de descoberta, cada projeto é único!

  • + +
  • Você sabe as funcionalidades que quer, mas até testar, você não saberá quais as funcionalidades precisará realmente considerar.

  • + +
  • O software não termina depois de “pronto”, porque “pronto” não existe para o que está em constante transformação, o avanço da tecnologia não para!

  • + +
  • Como você pode prever o quanto será investido no total, se você não sabe o que precisará aprimorar ou corrigir depois do projeto “finalizado”?

  • + +
  • E o prazo de desenvolvimento? Infelizmente o modelo de escopo fechado com um tempo determinado (fechado), acarreta quase sempre em atraso no projeto.

  • +
+ +

Com o escopo fechado você recebe o seu projeto no final do prazo estipulado, com pouca ou nenhuma interação, durante o desenvolvimento, entre a desenvolvedora e cliente. Afinal, vocês já acertaram todos os detalhes no fechamento do contrato. Além desses pontos negativos, ainda há outros grandes motivos que levam ao insucesso os projetos em escopo fechado.

+ +

+ +

O grande intervalo de tempo entre o esclarecimento do cliente e a entrega de produto final

+ +

Aí está a grande armadilha, não há como criar algo estabelecido meses antes em um universo criativo, sem que não haja nenhuma modificação ou obstáculos. E dificilmente você receberá algo 6 meses depois por exemplo, sem desejar nenhuma modificação. Sempre haverá onde melhorar, e é neste momento que entra o primeiro problema. Como você optou por determinado valor para o desenvolvimento do seu software, o que surgir a partir deste instante é outro item, portanto, um novo valor (orçamento) a ser investido.

+ +

O acompanhamento do cliente no desenvolvimento do projeto

+ +

No formato de escopo fechado, as metas são definidas no início do projeto e a partir daí, não há interação constante entre empresa e cliente. Não é levado em consideração o que o cliente pode contribuir para o projeto e sim o que foi definido pelo escopo com o valor afirmado.

+ +

Dessa forma, possíveis erros ou obstáculos são percebidos tardiamente e geralmente acabam causando transtornos para o cliente que esperava receber o software em determinada data, com determinadas funcionalidades e isso acaba não acontecendo. Isto por falta de comunicação, ou por interpretação errada sobre o que o cliente queria.

+ +

Com as atuais metodologias de desenvolvimento de software, dificilmente ocorrem problemas desse tipo, pois há uma interação constante com o cliente, corrigindo e aprimorando o que se observa necessário. E isso, colabora diretamente com a antecipação de possíveis erros futuros, formando uma parceria confiável entre os integrantes da equipe de desenvolvimento e o cliente.

+ +

Os desenvolvedores não têm a autonomia no projeto

+ +

Em muitas empresas de desenvolvimento, infelizmente, ainda é comum os desenvolvedores não possuírem autonomia alguma sobre os projetos. É comum receberem um layout pronto para programarem em cima do que já foi pensado, sem que os gestores levem em consideração as funcionalidades e a melhor forma do seu software ser desenvolvido, tarefa esta que cabe ao desenvolvedor realizar, pois é ele que está com a “mão na massa” e sabe o que pode se adaptar melhor.

+ +

Empresas que trabalham com métodos atuais, como as metodologias ágeis, investem na interação constante entre o time de desenvolvedores e o de designers. Ambos buscam os melhores resultados para o sucesso dos seus clientes, o que realmente importa! Pois querem o cliente com eles por muito tempo.

+ +

Trabalhar com o escopo fechado é ainda assumir, que todas as necessidades do cliente foram totalmente compreendidas e não terão mudanças até o término do projeto, que levará semanas ou meses para ser concluído. Correndo o risco de chegar na entrega e o projeto não ser nada ou praticamente nada do que o cliente esperava.

+ +

Equipe de desenvolvimento de software ágilEquipe de desenvolvimento de software ágil

+ +

Em um cenário atual de desenvolvimento, as metodologias ágeis têm sido amplamente associadas a maior qualidade dos projetos, com o melhor envolvimento entre empresa e cliente e entregas frequentes e satisfatórias.

+ +

Isto acaba contrastando drasticamente com os métodos tradicionais de desenvolvimento, que possuem modelos de escopo fechado, associados a maiores riscos de atrasos e o serviço de má qualidade.

+ +

É claro que há exemplos de projetos de software bem sucedidos ou mal sucedidos, tanto com as metodologias tradicionais quanto com metodologias ágeis. Cabe a cada gestor buscar o caminho que favoreça seu negócio. Por isso, é importante ter muito bem definido os objetivos do seu projeto, as necessidades a serem atingidas, a realidade do seu negócio e além disso tudo, conhecer a empresa e o método de trabalho que será utilizado, porque de fato, isto interferirá diretamente no resultado do seu projeto, podendo levá-lo ao fracasso ou ao sucesso.

+ +
+

Se você está em busca de uma empresa que trabalhe de forma eficaz e traga resultados positivos, nós da Coderockr podemos te ajudar, pois em 8 anos de serviços prestados no desenvolvimento personalizado, utilizando de métodos ágeis e com entregas constantes, temos orgulho de continuarmos com clientes que se renovam a cada nova fase do seu software com o nosso apoio.

+ +

coderockr.com
++55 (47) 3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/inteligencia-artificial/index.html b/public/posts/2018/inteligencia-artificial/index.html new file mode 100644 index 0000000..6f504ad --- /dev/null +++ b/public/posts/2018/inteligencia-artificial/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I.A. Inteligência Artificial · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ I.A. Inteligência Artificial +

+

+ Nov 29, 2018 00:00 + · 641 words + · 4 minute read + + + + + Transformação Digital + + I.A. + + + + +

+

by Renata Willwock

+
+ +
+ + +

+ +

Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I.A. que nos esperam para o novo ano.

+ +

Análise de dados mais sofisticada

+ +

É preciso que os gestores tenham plena certeza que atualmente os dados são os ativos mais importantes das empresas. Para 2019 prevê-se que a análise de dados tenha uma importância ainda maior e que sejam utilizados aplicações e programas que permitam que os dados sejam analisados de forma mais rápida e automática. O objetivo não é a substituição dos humanos nesta tarefa, mas sim dotá-lo de todas as ferramentas e informações necessárias para uma tomada de decisão mais assertiva. De forma mais rápida e objetiva, será possível automatizar a criação de dados, descobrir tendências e trocar informações entre vários departamentos.

+ +

Gêmeos Digitais

+ +

Esta é uma solução que visa aperfeiçoar os processos de criação, testes e correções na fabricação de novos produtos. Na prática, os gêmeos digitais são uma cópia de processos que existem na realidade, ou seja, ao mesmo tempo que um produto é criado no mundo físico, o seu desenvolvimento também acontece no mundo virtual. Desta maneira, é possível realizar análises e testes antes do produto ser lançado para o mercado. Veja as principais vantagens desta tecnologia:

+ +
    +
  • Redução do tempo de produção

  • + +
  • Redução de erros

  • + +
  • Maior capacidade de adaptação

  • + +
  • Redução de custos

  • + +
  • Melhor previsão de lucros

  • + +
  • Melhorias da previsão de riscos

  • +
+ +

Uso padronizado dos chatbots

+ +

Os chatbots são as celebridades da inteligência artificial. Estão conectados à base de dados da empresa e usam de linguagem comum para falar com os clientes. São capazes de reconhecer nomes e números de telefone para prever o comportamento das pessoas atendidas. São sistemas dotados com grande inteligência, que armazenam a informação essencial para poderem encaminhar os clientes para as áreas que eles precisam ser atendidos por um colaborador específico.

+ +

+ +

Centralização da informação

+ +

A inteligência artificial faz com que as empresas interliguem todas as suas informações, o que tem um peso importantíssimo nas tomadas de decisões de gestão e sobretudo para o marketing da empresa. Uma empresa que analisa informação em tempo real e que disponha de todas as informações de negócio importantes em um só lugar, é capaz de tomar decisões mais assertivas, o que aumenta e muito o sucesso do negócio. Aqui na Coderockr por exemplo, desenvolvemos o Planrockr que é uma ferramenta para gerenciamento de projetos de T.I., e as empresas de tecnologia estão buscando muito por este serviço, justamente por fornecer este tipo de informação.

+ +

Solidificação da Blockchain

+ +

O Blockchain está famoso e sendo usado com frequência, devido ao uso crescente das criptomoedas, mas o seu uso vai muito além disso. Esta tecnologia torna o registo das transações muito mais seguro, inovou na forma de registrar informações, o que proporciona uma nova forma de trabalhar com dados no mundo web. Mas o Blockchain não é utilizado apenas no mundo das criptomoedas. Na área da saúde esta tecnologia também pode ser utilizada, permitindo que haja um registro de toda a movimentação de dados, aumentando ainda mais a segurança dos mesmos.

+ +

A inteligência artificial já está por toda parte e não tem como desviar dessa realidade. Se há alguns anos quando pensávamos no assunto, tínhamos uma ideia de um futuro distante, hoje podemos afirmar que a inteligência artificial faz parte do nosso dia-a-dia.

+ +
+

Na Coderockr utilizamos as tecnologias mais modernas do mercado, garantindo aos nossos clientes a melhor experiência no desenvolvimento e uso do seu sistema, aplicativo ou site responsivo.

+ +

coderockr.com
++55 (47) 3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/index.html b/public/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/index.html new file mode 100644 index 0000000..142bf21 --- /dev/null +++ b/public/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mercado de Aplicativos: 4 Tendências para 2019 · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Mercado de Aplicativos: 4 Tendências para 2019 +

+

+ Dec 14, 2018 00:00 + · 911 words + · 5 minute read + + + + + Transformação Digital + + + + +

+

by Renata Willwock

+
+ +
+ + +

O mercado de apps está sempre repleto de novidades e para o próximo ano as perspectivas não são diferentes. Esse mercado continuará em expansão, acompanhando a consolidação do crescente uso de celulares e outros dispositivos móveis, como os tablets. Os smartphones, por exemplo, já não são mais acessórios usados apenas para ligações e envio de mensagens. Com o desenvolvimento tecnológico do mercado de aplicativos, esses aparelhos se tornaram presentes em diversas etapas do dia-dia. Por isso, para que sua empresa não fique para trás, o ideal é estar atento às novidades, além de buscar maneiras de se diferenciar enquanto acompanha as tendências. Separamos neste post 4 tendências de como o desenvolvimento e implementação de novas tecnologias e aplicativos podem transformar os resultados da sua empresa. Boa leitura!

+ +

1. REALIDADE VIRTUAL E AUMENTADA

+ +

+ +

Aplicativos de realidade virtual e aumentada vieram para ficar. Uma das maiores sensações de aplicativos desse tipo, aconteceu no ano de 2016 quando o jogo Pokémon Go foi lançado em diversos países. Com isso, adultos e crianças aderiram ao jogo que misturava realidade virtual e aumentada em busca de novos personagens.

+ +

A realidade aumentada acontece quando o usuário, com o recurso de um dispositivo, é capaz de visualizar elementos virtuais em cenários locais (reais). Já a realidade virtual ocorre quando uma pessoa entra em um ambiente 100% virtual, com a ajuda de um óculos especial, por exemplo.

+ +

As duas tecnologias estão mais relacionadas ao setor de games, mas também estão expandindo no setor varejista. Já existem aplicativos que permitem uma visualização prévia de como um móvel irá ficar em um determinado cômodo de uma casa ou como uma tatuagem ficaria em uma parte do corpo, por exemplo. Ambas tecnologias são capazes de melhorar a experiência do usuário, fazendo com que ele opte de maneira mais natural pela compra.

+ +

2. CHATBOTS, INTELIGÊNCIA ARTIFICIAL E MACHINE LEARNING

+ +

Os chatbots são softwares que simulam a fala humana e são capazes de conversar com usuários no Facebook e Telegram, por exemplo. Eles ganharam popularidade nos últimos anos e têm sido usados por várias empresas para atendimento de seus clientes on-line, são treinados para dar informações sobre serviços, vender produtos, entregar conteúdo, entre outras funções. Essas ferramentas usam inteligência artificial e estão cada vez mais aperfeiçoadas. Ou seja, muito provavelmente você já conversou com um robô.

+ +

Os chatbots são utilizados para diversos canais, seja web, aplicativos próprios e plataformas de troca de mensagens, como o Facebook Messenger, por exemplo. A tecnologia funciona sem uma interface complexa, desenvolvida para que o usuário insira e receba dados específicos. A função dos chatbots é descobrir os desejos do usuário e como irá entregá-los. A linguagem humana é confusa e imprecisa e entendê-la é a responsabilidade do machine learning ou “aprendizado de máquina” e do processamento de linguagem natural, que usa algoritmos para coletar dados, aprender com eles e tomar decisões a partir disso, com a automatização do processo de análise. Um exemplo é a técnica presente na base dos sistemas de reconhecimento de voz de assistentes virtuais como o Google Now.

+ +

3. OMNICHANNEL

+ +

+ +

O omnichannel é um conceito que vem ganhando bastante espaço e nada mais é, do que a integração de todos os canais de compra de uma empresa, com o intuito de garantir uma experiência única ao consumidor. Dessa forma, o usuário pode ser atendido de maneira integrada, com a interação do universo online e do offline, consolidando a experiência de compra. Sendo assim, o atendimento pode iniciar na sua loja física e terminar online, ou ao contrário, iniciar no site da sua empresa e terminar com a compra em uma de suas sedes.

+ +

O mais importante é prezar pela eficiência e agilidade, sem perder a qualidade de todos os canais envolvidos. O conceito de omnichannel ainda não é muito usado por grande parte dos varejistas e para que isso seja possível, é necessário que haja:

+ +
    +
  • Grande envolvimento de processos logísticos;

  • + +
  • Estratégias de marketing direcionadas;

  • + +
  • Sistemas bem definidos.

  • +
+ +

Por exigir grandes esforços, a implementação desse sistema é mais difícil e demorada, mas é aí que está a grande oportunidade. Aplicativos bem pensados e estruturados, responsivos e leves, são o que esse mercado precisa. Então, se o seu objetivo é aumentar o capital da sua empresa com um app em 2019, essa é uma ótima opção.

+ +

4. ON DEMAND

+ +

On demand quer dizer “sob demanda“, ou seja, é algo que funciona baseado na necessidade ou na encomenda feita por alguém. Você solicita aquilo que precisa, na hora que precisa, através de aplicativos e sites. Este tipo de aplicativo têm sido bastante procurado nos últimos anos, pelo fato deles tornarem a vida das pessoas cada vez mais fácil. Um bom exemplo é a TV por assinatura, antes um assinante só conseguia assistir aos filmes que estavam na programação dos canais. Hoje, a maioria das operadoras de TV já possuem plataformas de vídeo on demand, possibilitando ao assinante escolher o que deseja assistir, quando e onde quiser.

+ +

Aplicativos como Uber, 99, Netflix, Spotify, iFood, são outros exemplos de que é possível ganhar dinheiro atuando em diversas áreas com apps on demand. Sendo assim, se o seu objetivo é estar à frente dos seus concorrentes, essa tendência do mercado de apps pode ser a certa para o seu negócio.

+ +

Gostou deste conteúdo? Compartilhe e nos ajude a espalhar conteúdos de impacto para outras pessoas interessadas em tecnologia.

+ +
+

Tem um projeto para ser desenvolvido? Conte conosco! Somos especialistas em desenvolvimento de softwares sob demanda web e mobile.

+ +

coderockr.com
++55(47)3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/presenca-digital-para-as-organizacoes/index.html b/public/posts/2018/presenca-digital-para-as-organizacoes/index.html new file mode 100644 index 0000000..c4d1ab8 --- /dev/null +++ b/public/posts/2018/presenca-digital-para-as-organizacoes/index.html @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Presença Digital para as Organizações · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Presença Digital para as Organizações +

+

+ Oct 18, 2018 00:00 + · 631 words + · 3 minute read + + + + + Transformação Digital + + + + +

+

by Renata Willwock

+
+ +
+ + +

Entenda a importância!

+ +

+ +

O mercado apresenta novas tendências cada vez mais rápido e, com esta realidade, é natural que o seu cliente também esteja atento a essas mudanças e modifique o seu perfil em busca de novas oportunidades que lhe proporcionem maior retorno.

+ +

Nesse cenário, as empresas que possuem forte presença digital têm uma excelente vantagem, porque conseguem atender a esse anseio do público com maior facilidade na hora de adquirir um produto ou serviço. A seguir, listamos alguns pontos que demonstram como atualmente ser digital é imprescindível, confira:

+ +

1 — Maior poder de comunicação

+ +

A comunicação eficiente é fundamental para qualquer empresa em busca de sucesso, e isto vai além de um simples contato, tudo começa da busca por compreender o desejo do cliente, entender como resolver isso e apresentar soluções mais eficientes, sendo rápido e funcional.

+ +

Uma presença digital forte aumenta esse poder, sendo que são inúmeros os canais que podem ser utilizados além das redes sociais, como: blogs, loja virtual, chats, aplicativos, isso facilita para que o público possa se comunicar com a empresa e que esta, possa ter mais interação com os seus clientes e gerar mais oportunidades de vendas.

+ +

2 — Mais ferramentas para vencer a concorrência

+ +

A concorrência sempre estará presente na vida de qualquer empreendedor, de uma forma ou de outra. Sendo ela de forma saudável, trata-se de uma ótima oportunidade para gerar excelência, estar antenado com o mercado e oferecer o melhor caminho para o público consumidor chegada até o produto ou serviço oferecido.

+ +

A presença digital vem para tornar esse processo mais eficiente, ficando também mais fácil mapear a concorrência, ver de qual forma ela está se posicionando na internet e com as novas tecnologias, e a partir disso, criar estratégias que, além de capazes de vencer os concorrentes, possam ser ótimas para os clientes, como, por exemplo, promoções, cupons de desconto, brindes etc.

+ +

3 — Ser encontrado mais facilmente pelos clientes

+ +

Totalmente diferente de alguns anos atrás, quando se buscavam determinadas empresas por meio da lista telefônica, a forma mais popular atualmente é pesquisando em provedores de busca como Google, Yahoo, entre outros.

+ +

Com base nesta realidade, uma empresa que esteja bem posicionada na internet, acaba sendo encontrada mais facilmente pelos clientes, pois está utilizando canais que são exatamente aqueles onde os consumidores fazem essa busca.

+ +

Isso também proporciona maiores possibilidades de fidelização dos clientes, visto que, se é fácil encontrar uma empresa que tenha excelente atendimento e forte interação digital, a tendência é que eles voltem a fazer negócios com ela.

+ +

4 — Expandir negócios por meio da tecnologia

+ +

+ +

Se uma presença digital bem elaborada é capaz de atrair clientes, podemos afirmar que é possível expandir negócios a partir disso. Mais do que simplesmente encontrar e ser encontrado pelo público, a tecnologia proporciona a oportunidade de ultrapassar barreiras, sendo possível em alguns segmentos, fechar negócios com clientes de diversas partes do país e até do mundo.

+ +

Estudos apontam que ter um sistema de gestão por exemplo, amplia em 40% as possibilidades de uma loja expandir sua atuação, pois ganha em agilidade e dinamismo de tomada de decisão. Além disso, pode reduzir os custos mensais em mais de 10%, pois reduz o índice de erros e ainda diminuiu o período gasto em administrar informações e dados dispersos significativamente, sobrando mais tempo para fazer o que realmente importa.

+ +

Não interessa qual o tamanho da sua empresa, ela pode tirar muito proveito de um sistema, aplicativo ou site, desenvolvido especialmente para o seu tipo de negócio. A praticidade e eficiência trazida por eles garante melhores resultados independente do segmento ou objetivo da marca, além de controle total por parte do empresário. +> Nós da www.coderockr.com podemos ajudar sua empresa no desenvolvimento personalizado de, sistemas web, sites responsivos e aplicativos mobile.

+ +
+

coderockr.com
++55(47)3227–6359
+contato@coderockr.com

+
+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/index.html b/public/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/index.html new file mode 100644 index 0000000..f2b5564 --- /dev/null +++ b/public/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/index.html @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simplificando Ainda Mais o Setup de Projetos · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Simplificando Ainda Mais o Setup de Projetos +

+

+ Jun 6, 2018 00:00 + · 463 words + · 3 minute read + + + + + Desenvolvimento + + GitHub + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+ + +

Simplificando ainda mais o Setup de Projetos

+ +

Agora simplificando GitHub, GitLab e Trello

+ +

English version: click here

+ +

Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub.

+ +

Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles.

+ +

Agora no inicio do ano criei um novo script para realizar o setup dos projetos no GitLab, que é basicamente uma cópia com os endpoints do GitLab.

+ +

Ao começar a trabalhar no script para o Trello acabei me deparando com um problema, diferente do GitLab e GitHub ele não oferece um sistema de tokens para serem usados em scripts. Mas isso não impede integrações com o Trello, apenas é necessário usar o processo de autenticação deles (lembra OAuth, mas muito mais simples).

+ +

Eu poderia criar um script que usasse o token retornado por esse processo, porém isso exigiria que o usuário usasse o navegador para autenticar e depois informasse no script ou abrir a tela durante a execução do script.

+ +

Não gostei muito da ideia parecia muito com uma gambiara, digo, artifício técnico.

+ +

Procurando uma outra solução resolvi criar uma SPA para fazer o setup dos projetos com base no Coderockr Way, dessa forma quando fosse necessário fazer o setup de um projeto não precisaria nem da minha máquina, poderia fazer direto do celular por exemplo.

+ +

Aproveitei e além do Trello essa SPA também iria cobrir o GitHub e o GitLab, sendo uma solução completa para as ferramentas que usamos hoje.

+ +

Então encontrei outro problema, quando comecei a desenvolver a integração com o GitHub e GitLab seria necessário usar a autenticação por OAuth que exige um callback e tratamento em um backend. Isso queria dizer que precisaria também de um servidor para realizar as autorizações, não poderia ser simplesmente um GitHub Pages ou S3 servindo a SPA.

+ +

Para minha sorte eu já estava usando um outro serviço de gerenciamento de páginas estáticas, o Netlify! E convenientemente ele possui um feature chamada OAuth Providers que pode ser usada para se autenticar contra o GitHub e GitLab (BitBucket também, mas não vem ao caso), além de servir as páginas por HTTPs que é muito bom.

+ +

Agora com todos os problemas resolvidos, faltava apenas terminar o SPA e publicar 😄

+ +

Agora quando for necessário fazer o setup é só entrar no “Coderockr Way Project Setup”, se autorizar, escolher o projeto na lista (com base na sua permissão) e Aplicar !

+ +

De uma olhada em como ficou: https://cwps.lucassabreu.net.br

+ +

+ +

Para quem estiver interessado em customizar a ferramenta com as próprias labels basta fazer um fork e alterar o arquivo Labels.js e aproveitar 😉

+ +

Aqui esta o fonte.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/simplifying-project-setup-even-further/index.html b/public/posts/2018/simplifying-project-setup-even-further/index.html new file mode 100644 index 0000000..71a57e7 --- /dev/null +++ b/public/posts/2018/simplifying-project-setup-even-further/index.html @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simplifying Project Setup Even Further · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Simplifying Project Setup Even Further +

+

+ May 6, 2018 00:00 + · 450 words + · 3 minute read + + + + + Desenvolvimento + + GitHub + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+

Now simplifying GitHub, GitLab and Trello

+ +

Em português clique aqui

+ +

Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub.

+ +

We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them.

+ +

At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints..

+ +

When I started working on the script for Trello I came across a problem, unlike GitLab and GitHub it does not offer a system of tokens to be used for scripting.

+ +

But this does not prevent integrations with Trello, we should just use their authentication process (like OAuth, but much simpler).

+ +

I could create a script that uses the token returned by this process, but this would require the user to use the browser to authenticate and then report the script or open the screen during script execution.

+ +

I did not like the idea, it looked like a jerry-rig.

+ +

Looking for another solution I decided to create a SPA to do the setup of the projects based on Coderockr Way, then when a project setup is necessary, I would not need access to my terminal, I could do it straight from my cell phone, for example.

+ +

Once I was making it I decided that the SPA would also cover GitHub and GitLab setups, being a complete solution for the tools we use today.

+ +

Then I found another problem, while coding the integration with GitHub and GitLab it would have to use OAuth authentication, which requires a callback and handling from a backend. Meaning that I would also need a server to perform authorizations, GitHub Pages or S3 were not suitable for serving the SPA.

+ +

Luckily I already knew another static page deployment service, Netlify! And conveniently it has a feature called OAuth Providers that can be used to authenticate against GitHub and GitLab (BitBucket too, but that’s beside the point) as well serving pages over HTTPs which is very good.

+ +

Now with all the problems solved, it was only necessary to finish the SPA and publish it 😄

+ +

Now, when you need to setup a project, just go to “Coderockr Way Project Setup”, authorize yourself, choose your project in the list (based on your permission) and Apply!

+ +

Take a look at how it was: https://cwps.lucassabreu.net.br

+ +

+ +

For those who are interested in customizing the tool with the your labels, just make a fork and change the Labels.js file and enjoy 😉

+ +

Here is the source code.

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/2018/simplifying-project-setup-on-github/index.html b/public/posts/2018/simplifying-project-setup-on-github/index.html new file mode 100644 index 0000000..38a6fd8 --- /dev/null +++ b/public/posts/2018/simplifying-project-setup-on-github/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simplifying Project Setup on GitHub · Blog Coderockr + + + + + + + + + + + + + + + + + +
+
+
+

+ Simplifying Project Setup on GitHub +

+

+ Jun 5, 2018 00:00 + · 327 words + · 2 minute read + + + + + Desenvolvimento + + GitHub + + Ferramentas + + + + +

+

by Lucas Abreu

+
+ +
+

At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them.

+ +

Over the years we ended up defining a structure to control our issues, using the following labels:

+ +

Labels set used on [Coderockr Way](https://blog.coderockr.com)Labels set used on Coderockr Way

+ +

It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening.

+ +

We register these labels in all of our projects. But even if you’re in a good mood, it’s pretty boring and time-consuming work to register them one by one. And we’re likely to forget some of them, and and so to make sure they are all there you will need to review the list.

+ +

Did I forget the “Stage: Testing”? Oh, found it…Did I forget the “Stage: Testing”? Oh, found it…

+ +

With this monotonous activity in mind and to save some setup time, we decided to create a script to do this process, adding the labels to a specific project.

+ +

The script ended up getting much simpler than expected thanks to the simplicity of the GitHub API, all of it was done with cURL and some bash loops for the labels.

+ +

We even prepared it so it does not need to be downloaded/installed, just give a cURL from GitHub and it asks for the data it needs.

+ +

do not even need to downloaddo not even need to download

+ +

We decided to leave the script we created in a public repository on GitHub for anyone looking for a similar solution (or who now thinks it’s worth creating one too).

+ +

The script and how to use it are here.

+ +

In conclusion, investing a little time to understand the tools you use not only saves you time in the long run, but also generates some cool scripts to share :)

+ +

We created a new script to do the same setup for projects in GitLab, you can view the script here

+ +
+
+ + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/index.html b/public/posts/index.html new file mode 100644 index 0000000..d4bdf09 --- /dev/null +++ b/public/posts/index.html @@ -0,0 +1,743 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Posts · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+

2017

+ +
+ +
+

2016

+ +
+ + + +
+

2014

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/posts/index.xml b/public/posts/index.xml new file mode 100644 index 0000000..0943fb2 --- /dev/null +++ b/public/posts/index.xml @@ -0,0 +1,866 @@ + + + + Posts on Blog Coderockr + //blog.coderockr.com/posts/ + Recent content in Posts on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 14 Dec 2018 00:00:00 +0000 + + + + + + Mercado de Aplicativos: 4 Tendências para 2019 + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + O mercado de apps está sempre repleto de novidades e para o próximo ano as perspectivas não são diferentes. Esse mercado continuará em expansão, acompanhando a consolidação do crescente uso de celulares e outros dispositivos móveis, como os tablets. Os smartphones, por exemplo, já não são mais acessórios usados apenas para ligações e envio de mensagens. Com o desenvolvimento tecnológico do mercado de aplicativos, esses aparelhos se tornaram presentes em diversas etapas do dia-dia. + + + + I.A. Inteligência Artificial + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I. + + + + Presença Digital para as Organizações + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Thu, 18 Oct 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Entenda a importância! +O mercado apresenta novas tendências cada vez mais rápido e, com esta realidade, é natural que o seu cliente também esteja atento a essas mudanças e modifique o seu perfil em busca de novas oportunidades que lhe proporcionem maior retorno. +Nesse cenário, as empresas que possuem forte presença digital têm uma excelente vantagem, porque conseguem atender a esse anseio do público com maior facilidade na hora de adquirir um produto ou serviço. + + + + Entenda a Diferença de um Software Customizado e um Software Pronto + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Fri, 10 Aug 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Um software pode ser desenvolvido para uma área de mercado ou customizado para atender uma necessidade específica de negócio. Neste último caso, o desenvolvimento é adaptado a empresa, compreendendo os desejos de seu cliente e criando áreas específicas para atender 100% a demanda em questão. +Um software pronto “de prateleira” é mais fechado, geralmente desenvolvido de maneira genérica para atender o maior número de situações de negócios possível, utilizando um modelo específico. + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Escopo Fechado: Porque Não Optar? + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Motivos que afetam o insucesso do seu projeto digital +O mercado de desenvolvimento de soluções digitais têm frequentemente se deparado com vários problemas ao optar por métodos de desenvolvimento de software tradicionais. +Principalmente quando as necessidades do projeto mudam e os desenvolvedores não tem expertise para atender essas mudanças em curto prazo. E acredite, com certeza as necessidades do projeto vão mudar em algum momento, mesmo você afirmando que hoje é somente isso o que quer em seu projeto. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + 5 Razões para Desenvolver um Software Personalizado para o seu Negócio + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Thu, 08 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Sua empresa enfrenta problemas relacionados a gestão, lançamentos massivos, cadastros diversos, sofre com a falta de identidade da sua marca, opções de personalização e melhorias escassas, entre outros? A solução pode estar na busca por uma Software House, empresa especializada no desenvolvimento de softwares e aplicativos, que atenda todas as suas necessidades. Veja as vantagens de investir no desenvolvimento de um software próprio: +Atende às necessidades específicas da empresa A principal vantagem de ter um software sob medida é que este foi desenvolvido para atender especialmente às necessidades do seu negócio ou empresa. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Usando um Bot do Telegram para Receber Notificações + //blog.coderockr.com/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/ + Mon, 12 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/ + # +Quem me conhece sabe que eu não gosto muito do WhatsApp. E o motivo principal nem é a quantia de mensagens “bonitinhas” que seus parentes enviam todos os dias. O meu principal problema, pelo menos por enquanto, é a falta de opções para nós desenvolvedores criarmos automações e integrações. +Neste post vou mostrar um exemplo simples mas que está sendo bem útil para mim. Trata-se do Integram +Com o Integram é possível integrar o Telegram com vários serviços como Trello, Gitlab, Bitbucket, etc. + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + O Plano de Carreiras da Coderockr + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + Mon, 29 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + O que é um plano de carreira? +Citando a definição neste ótimo post publicado no site da Endeavor: + Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição. + Porque criar um plano? A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + Integração Contínua Usando o Drone + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone. +O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais: + Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando um Novo Projeto: Decisões de Arquitetura + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência. +Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real. +O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + Dois Anos de Coderockr + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Sun, 26 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + Culture Code da Coderockr + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Mon, 09 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Hoje é um dia importante para nós da Coderockr pois estamos tornando público nosso Culture Code. +Essa é uma prática que se tornou famosa desde que a Netflix publicou o seu em 2009 e desde então várias empresas fizeram o mesmo. +Citando o post da Resultados Digitais sobre o assunto: + Culture Code é um documento que serve para uma série de coisas: um guia para os colaboradores da empresa, um material para atração de novas pessoas para o time, critérios de seleção e avaliação de desempenho, um norte para onde queremos evoluir com as nossas práticas no dia a dia e em última instância até como um “manifesto” de como achamos que o trabalho deveria ser na maioria dos lugares. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + The Code Ownership Feeling + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Fri, 30 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be +That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. + + + + A Importância do Propósito + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Tue, 20 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais &ldquo;tradicionais&rdquo; ou &ldquo;startups&rdquo;. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como &ldquo;missão, visão, valores&rdquo;, e o que eu acho ainda mais útil: o propósito da empresa. + + + + O Sentimento de Propriedade do Código + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + Thu, 15 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + My precious! + Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo. +Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Como Usamos o Slack na Coderockr + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Thu, 21 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Dentre os valores da Coderockr estão dois pontos importantes: cooperação e transparência. Como somos uma empresa que desenvolve software nada mais esperado do que usarmos aplicativos para ajudar nestes objetivos. E hoje a principal ferramenta para isso é o Slack, que rapidamente tornou-se o coração de muitas empresas +Nós usamos o Slack como o nosso canal de comunicação, tanto entre as equipes quanto com os clientes. Cada projeto recebe um canal específico, como no exemplo abaixo: + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + Aprenda a Dizer NÃO, Você Precisará Disso! + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Sat, 02 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido. +Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook. + + + + Nossas Experiências com Mentoria na Coderockr + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Fri, 01 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias. +A motivação Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer: + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Por que Ir a Eventos? + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Fri, 26 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira. +Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + Tue, 23 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser. +A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client. +Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados. + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Tue, 02 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Se eu Soubesse aos 18  —  Profissão + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Fri, 18 Dec 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca. +A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + O Propósito da Coderockr + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Thu, 14 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de &ldquo;golden circle&rdquo; onde mostra a importância das empresas terem foco no &ldquo;por quê&rdquo; mais do que no &ldquo;como&rdquo; ou &ldquo;o que&rdquo; fazem. +Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos. + Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + Se as Empresas Fossem Bandas de Rock + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Wed, 22 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas. +O Manager O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + Multitasking Só é Bom no seu Computador + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Thu, 27 Nov 2014 00:00:00 +0000 + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias. +Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + Programador Dave Grohl e Não Axl Rose + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + Mon, 26 Aug 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado. +O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”. +Traduzi/adaptei os trechos mais importantes: + Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos. + + + + \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..e2df4ba --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,626 @@ + + + + + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + 2018-12-14T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + 2018-11-29T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + 2018-10-18T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + 2018-08-10T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + 2018-06-06T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + 2018-06-05T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + 2018-06-05T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + 2018-05-06T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + 2018-04-16T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + 2018-03-31T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + 2018-03-08T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + 2017-11-13T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + 2017-11-03T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + 2017-10-11T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + 2017-08-21T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + 2017-07-27T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + 2017-06-28T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/usando-um-bot-do-telegram-para-receber-notificacoes/ + 2017-06-12T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + 2017-06-07T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + 2017-05-29T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + 2017-05-10T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + 2017-05-08T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + 2017-05-08T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + 2017-05-01T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + 2017-04-10T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + 2017-04-05T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + 2017-03-30T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + 2017-03-29T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + 2017-03-20T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + 2017-03-13T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + 2017-03-10T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + 2017-03-09T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + 2017-03-08T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + 2017-03-07T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + 2017-02-26T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + 2017-02-16T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + 2017-01-10T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + 2017-01-09T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + 2017-01-03T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + 2016-11-02T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + 2016-10-19T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + 2016-09-30T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + 2016-09-20T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + 2016-09-15T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + 2016-09-05T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + 2016-08-29T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + 2016-08-22T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + 2016-07-28T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + 2016-07-21T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + 2016-07-14T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + 2016-07-13T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + 2016-07-02T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + 2016-06-23T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + 2016-06-22T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + 2016-06-22T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + 2016-06-16T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + 2016-06-02T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + 2016-05-31T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/por-que-go/ + 2016-04-28T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + 2016-04-07T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + 2016-04-02T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + 2016-04-01T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + 2016-03-15T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + 2016-02-26T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + 2016-02-23T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + 2016-02-22T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + 2016-02-02T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + 2016-01-07T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + 2015-12-18T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/coderockr-way/ + 2015-10-29T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + 2015-06-25T00:00:00+00:00 + + + + //blog.coderockr.com/about/ + 2015-06-20T14:02:37+02:00 + + + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + 2015-06-05T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + 2015-05-14T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + 2015-05-07T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + 2015-04-28T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + 2015-04-22T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + 2015-03-14T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + 2014-11-27T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + 2013-09-01T00:00:00+00:00 + + + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + 2013-08-26T00:00:00+00:00 + + + + //blog.coderockr.com/tags/api/ + 2017-06-28T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/arquitetura/ + 2017-04-05T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/aws/ + 2018-03-31T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/ + 2018-12-14T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/categories/carreira/ + 2017-03-30T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/carreira/ + 2017-06-07T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/categories/ + 2017-03-30T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/clean-code/ + 2017-11-13T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/categories/coderockr-culture/ + 2017-11-13T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/criptografia/ + 2018-03-31T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/d3/ + 2016-08-22T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/categories/desenvolvimento/ + 2018-06-06T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/desenvolvimento/ + 2018-06-06T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/doctrine/ + 2016-02-22T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/ferramentas/ + 2018-06-06T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/gerenciamento-de-projetos/ + 2016-06-02T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/github/ + 2018-06-06T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/gitlab/ + 2017-05-01T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/go/ + 2017-07-27T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/i.a./ + 2018-11-29T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/js/ + 2017-11-03T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/kubernetes/ + 2017-03-10T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/categories/mercado/ + 2018-12-14T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/metodologias/ + 2017-10-11T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/mobile/ + 2018-04-16T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/php/ + 2016-08-29T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/posts/ + 2018-12-14T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/programa%C3%A7%C3%A3o-funcional/ + 2017-11-03T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/react/ + 2017-11-03T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/react-native/ + 2017-02-16T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/redux/ + 2016-10-19T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/software-security/ + 2018-03-31T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/ + 2017-06-28T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/tdd/ + 2016-06-16T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/trabalho-remoto/ + 2017-06-07T00:00:00+00:00 + 0 + + + + //blog.coderockr.com/tags/transforma%C3%A7%C3%A3o-digital/ + 2018-12-14T00:00:00+00:00 + 0 + + + \ No newline at end of file diff --git a/public/tags/api/index.html b/public/tags/api/index.html new file mode 100644 index 0000000..14e91df --- /dev/null +++ b/public/tags/api/index.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Api · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2017

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/api/index.xml b/public/tags/api/index.xml new file mode 100644 index 0000000..05d6f2e --- /dev/null +++ b/public/tags/api/index.xml @@ -0,0 +1,55 @@ + + + + Api on Blog Coderockr + //blog.coderockr.com/tags/api/ + Recent content in Api on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 28 Jun 2017 00:00:00 +0000 + + + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + \ No newline at end of file diff --git a/public/tags/arquitetura/index.html b/public/tags/arquitetura/index.html new file mode 100644 index 0000000..75ce7ea --- /dev/null +++ b/public/tags/arquitetura/index.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Arquitetura · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+

2016

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/arquitetura/index.xml b/public/tags/arquitetura/index.xml new file mode 100644 index 0000000..687ef28 --- /dev/null +++ b/public/tags/arquitetura/index.xml @@ -0,0 +1,47 @@ + + + + Arquitetura on Blog Coderockr + //blog.coderockr.com/tags/arquitetura/ + Recent content in Arquitetura on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 05 Apr 2017 00:00:00 +0000 + + + + + + Iniciando um Novo Projeto: Decisões de Arquitetura + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência. +Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real. +O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + \ No newline at end of file diff --git a/public/tags/aws/index.html b/public/tags/aws/index.html new file mode 100644 index 0000000..5e5f455 --- /dev/null +++ b/public/tags/aws/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aws · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2018

+ +
+ +
+

2017

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/aws/index.xml b/public/tags/aws/index.xml new file mode 100644 index 0000000..449dd1f --- /dev/null +++ b/public/tags/aws/index.xml @@ -0,0 +1,36 @@ + + + + Aws on Blog Coderockr + //blog.coderockr.com/tags/aws/ + Recent content in Aws on Blog Coderockr + Hugo -- gohugo.io + pt-br + Sat, 31 Mar 2018 00:00:00 +0000 + + + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + \ No newline at end of file diff --git a/public/tags/carreira/index.html b/public/tags/carreira/index.html new file mode 100644 index 0000000..83158fe --- /dev/null +++ b/public/tags/carreira/index.html @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Carreira · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+

2014

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/carreira/index.xml b/public/tags/carreira/index.xml new file mode 100644 index 0000000..e7fb484 --- /dev/null +++ b/public/tags/carreira/index.xml @@ -0,0 +1,211 @@ + + + + Carreira on Blog Coderockr + //blog.coderockr.com/tags/carreira/ + Recent content in Carreira on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 07 Jun 2017 00:00:00 +0000 + + + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + O Plano de Carreiras da Coderockr + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + Mon, 29 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/o-plano-de-carreiras-da-coderockr/ + O que é um plano de carreira? +Citando a definição neste ótimo post publicado no site da Endeavor: + Plano de carreira é um programa estruturado que estipula o caminho que cada funcionário vai percorrer dentro de uma organização. Ele determina as competências necessárias para cada posição hierárquica e também qual é a expectativa da empresa em relação àquela posição. + Porque criar um plano? A Coderockr está fazendo sete anos de existência em 2017 e durante estes anos pudemos acompanhar algumas histórias de pessoas trabalhando conosco e seguindo novas jornadas. + + + + Como Montar um Bom Currículo para Desenvolvedores e Designers + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Thu, 30 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-montar-um-bom-curriculo-para-desenvolvedores-e-designers/ + Desde 2010, quando fundamos a Coderockr, uma das tarefas mais difíceis e importantes que eu tenho realizado é a contratação de pessoas. Neste post gostaria de compartilhar algumas ideias que podem ajudar na escrita de um currículo para desenvolvedores e designers. +Vamos lá… +Com o passar do tempo nós fomos evoluindo nosso processo e atualmente ele é formado por quatro etapas: &gt; leitura de currículos -&gt; entrevista -&gt; teste técnico -&gt; entrevista com a equipe. + + + + Dois Anos de Coderockr + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Sun, 26 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/dois-anos-de-coderockr/ + Este mês, estou completando oficialmente dois anos trabalhando para a Coderockr, e através desse post, gostaria de trazer um overview desta experiência. +Antes de entrar na Coderockr eu trabalhava em uma agência digital, desenvolvendo hotsites e sites constitucionais, projetos que deveriam ficar prontos dentro de duas semanas e que tinham um orçamento baixo. Naquela época, eu já acompanhava muito a comunidade de desenvolvimento e todas as tecnologias e boas práticas que estavam sendo adotadas e nas minhas horas vagas eu tirava um tempo para estudá-las. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + The Code Ownership Feeling + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Fri, 30 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be +That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. + + + + A Importância do Propósito + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Tue, 20 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/a-importancia-do-proposito/ + Nos últimos anos o Brasil viu um crescimento do número de novas empresas, sejam mais &ldquo;tradicionais&rdquo; ou &ldquo;startups&rdquo;. E eu me encaixo nessa nova onda de empreendedores, mesmo com minha formação de cientista da computação. Talvez por eu não ter uma formação empreendedora mais tradicional eu demorei alguns anos para perceber que não é perda de tempo parar um pouco e pensar em coisas importantes como &ldquo;missão, visão, valores&rdquo;, e o que eu acho ainda mais útil: o propósito da empresa. + + + + O Sentimento de Propriedade do Código + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + Thu, 15 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + My precious! + Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo. +Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. + + + + Aprenda a Dizer NÃO, Você Precisará Disso! + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Sat, 02 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/aprenda-a-dizer-nao-voce-precisara-disso/ + Uma das habilidades mais importantes e que muitas pessoas não a tem, e quando digo muitas pessoas também me incluo entre elas. Acredito que o texto abaixo se encaixa em qualquer área, mas como trabalho com desenvolvimento de software é nesse contexto que o texto será desenvolvido. +Em sua grande maioria, quem trabalha com computadores está acostumado com o título “Garoto do computador”, não importa se você é técnico em informática, se você é programador, arquiteto de software ou CTO de alguma startup, algumas pessoas ainda recorrerão a você quando perderem a senha do Facebook. + + + + Nossas Experiências com Mentoria na Coderockr + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Fri, 01 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/nossas-experiencias-com-mentoria-na-coderockr/ + Quero neste post compartilhar uma experiência que estamos fazendo na Coderockr nos últimos meses: um processo de mentorias. +A motivação Como quase todas as iniciativas humanas esta também começou com uma motivação egoísta: eu quero que a Coderockr seja uma empresa cada vez melhor e mais relevante. Em algum post que eu li algum tempo atrás eu encontrei algo que acho bem importante. Trata-se de uma lista de quatro formas para uma empresa de serviços como a Coderockr crescer: + + + + Por que Ir a Eventos? + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Fri, 26 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-ir-a-eventos/ + Algumas pessoas me perguntam se vale a pena ir em eventos e neste post quero citar alguns motivos pelos quais acredito que isso é um dos melhores investimentos que você pode fazer para sua carreira. +Conhecimento. Apesar de termos todo conhecimento necessário para resolver qualquer problema ao acesso de uma busca no Google, ir a eventos trás um outro tipo de informação. Assistindo as palestras, conversando com as pessoas nos corredores você consegue adquirir algo que não está tão facilmente disponível na internet: a experiência das pessoas. + + + + Como o Facebook pode Prejudicar sua Carreira como Desenvolvedor + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Tue, 02 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-o-facebook-pode-prejudicar-sua-carreira-como-desenvolvedor/ + Quem me conhece pessoalmente, ou pelas redes sociais, sabe que eu não sou muito fã do Facebook por isso este post não deve ser surpresa. Eu poderia citar aqui vários motivos do meu desgosto pessoal, como a perda de tempo, a quantia de posts sobre política e sem embasamento nenhum, as centenas de comentários inúteis (kkkk, hehehe), etc. Mas neste post vou falar sobre outro aspecto do Facebook que pode prejudicar a sua carreira. + + + + Se eu Soubesse aos 18  —  Profissão + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Fri, 18 Dec 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-eu-soubesse-aos-18/ + Há 9 meses atrás escrevi um post semelhante falando sobre a faculdade, nele eu prometi escrever um post abordando o tema profissão, e aqui estou, cumprindo com a promessa; Antes tarde do que nunca. +A intensão desse post não é falar nenhuma verdade absoluta ou mostrar um caminho definitivo para o sucesso profissional, e sim, apenas relatar um pouco da experiência que tive nesses quatro anos trabalhando com web, e contribuir com algumas dicas que acredito que teriam sido úteis la no início. + + + + O Propósito da Coderockr + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Thu, 14 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/o-proposito-da-coderockr/ + Em seu célebre TED Talk Simon Sinek nos apresenta o que ele chamou de &ldquo;golden circle&rdquo; onde mostra a importância das empresas terem foco no &ldquo;por quê&rdquo; mais do que no &ldquo;como&rdquo; ou &ldquo;o que&rdquo; fazem. +Inspirado neste conceito e no projeto /purpose criamos esta página para compartilhar nossa visão de mundo, nossos propósitos. + Nosso propósito é criar softwares incríveis e ajudar outras empresas a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação. + + + + Se as Empresas Fossem Bandas de Rock + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Wed, 22 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/se-as-empresas-fossem-bandas-de-rock/ + Um dos motes da Coderockr é “Bons programadores são únicos, assim como estrelas no mundo do rock”. Nesse post vou aumentar um pouco as analogias, envolvendo outras áreas das empresas. +O Manager O Manager é a pessoa que negocia os shows, que assina os contratos da banda com gravadoras, que vende os direitos autorais das músicas. Os Beatles não seriam ninguém sem o Brian Epstein fazer sua parte e colocá-los em grandes contratos. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + Multitasking Só é Bom no seu Computador + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Thu, 27 Nov 2014 00:00:00 +0000 + + //blog.coderockr.com/posts/2014/multitasking-so-e-bom-no-seu-computador/ + Recentemente a Coderockr conquistou alguns clientes no formato “banco de horas”. Isto significa que o cliente compra um número de horas de nossa experiência e trabalho, então precisamos ter alguma forma de contabilizar como estamos usando nossos dias. +Confesso que no começo achei que iria ser bem chato anotar as minhas atividades e anotar quantas horas estou trabalhando em cada projeto. Mas já no segundo dia eu me apaixonei pelo processo e isso se tornou um vício. + + + + Carreira, e não Emprego + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + Sun, 01 Sep 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/carreira-e-nao-emprego/ + A ideia para este post surgiu de duas situações. A primeira foi o fato de que com os cursos básicos de programação que estamos publicando no Code Squad (logica e php) estou recebendo mais e-mails de pessoas que estão entrando agora na profissão de programador, com aquelas dúvidas que eu também tive no início. +A segunda motivação foi uma das ótimas conversas geradas em intervalos de palestras em um evento de desenvolvedores que participei (você precisa participar destes eventos! + + + + Programador Dave Grohl e Não Axl Rose + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + Mon, 26 Aug 2013 00:00:00 +0000 + + //blog.coderockr.com/posts/2013/programador-dave-grohl-e-nao-axl-rose/ + O lema da Coderockr é “Programadores são artistas, são Rockstars!”. Esse termo “programador rockstar” vem sendo usado por algumas pessoas como pejorativo, como algo a ser evitado. +O CEO da Netguru fez uma ótima apresentação com o título “Why no one is looking for ‘rockstar programmers”. +Traduzi/adaptei os trechos mais importantes: + Seja um programador sem ego. Lembre que você não é o seu código. A única forma de melhorar é estar aberto para ao feedback dos outros e dar feedbacks honestos e sem julgamentos. + + + + \ No newline at end of file diff --git a/public/tags/clean-code/index.html b/public/tags/clean-code/index.html new file mode 100644 index 0000000..891bff6 --- /dev/null +++ b/public/tags/clean-code/index.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clean Code · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/clean-code/index.xml b/public/tags/clean-code/index.xml new file mode 100644 index 0000000..7fb6777 --- /dev/null +++ b/public/tags/clean-code/index.xml @@ -0,0 +1,59 @@ + + + + Clean Code on Blog Coderockr + //blog.coderockr.com/tags/clean-code/ + Recent content in Clean Code on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 13 Nov 2017 00:00:00 +0000 + + + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + \ No newline at end of file diff --git a/public/tags/criptografia/index.html b/public/tags/criptografia/index.html new file mode 100644 index 0000000..a2da5ee --- /dev/null +++ b/public/tags/criptografia/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Criptografia · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2018

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/criptografia/index.xml b/public/tags/criptografia/index.xml new file mode 100644 index 0000000..34f6de8 --- /dev/null +++ b/public/tags/criptografia/index.xml @@ -0,0 +1,36 @@ + + + + Criptografia on Blog Coderockr + //blog.coderockr.com/tags/criptografia/ + Recent content in Criptografia on Blog Coderockr + Hugo -- gohugo.io + pt-br + Sat, 31 Mar 2018 00:00:00 +0000 + + + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + \ No newline at end of file diff --git a/public/tags/d3/index.html b/public/tags/d3/index.html new file mode 100644 index 0000000..69792b7 --- /dev/null +++ b/public/tags/d3/index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + D3 · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/d3/index.xml b/public/tags/d3/index.xml new file mode 100644 index 0000000..79ae8eb --- /dev/null +++ b/public/tags/d3/index.xml @@ -0,0 +1,25 @@ + + + + D3 on Blog Coderockr + //blog.coderockr.com/tags/d3/ + Recent content in D3 on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 22 Aug 2016 00:00:00 +0000 + + + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + \ No newline at end of file diff --git a/public/tags/desenvolvimento/index.html b/public/tags/desenvolvimento/index.html new file mode 100644 index 0000000..58fd968 --- /dev/null +++ b/public/tags/desenvolvimento/index.html @@ -0,0 +1,554 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Desenvolvimento · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+

2017

+ +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/desenvolvimento/index.xml b/public/tags/desenvolvimento/index.xml new file mode 100644 index 0000000..c0c6ae6 --- /dev/null +++ b/public/tags/desenvolvimento/index.xml @@ -0,0 +1,609 @@ + + + + Desenvolvimento on Blog Coderockr + //blog.coderockr.com/tags/desenvolvimento/ + Recent content in Desenvolvimento on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 06 Jun 2018 00:00:00 +0000 + + + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + Integração Contínua Usando o Drone + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone. +O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais: + Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando um Novo Projeto: Decisões de Arquitetura + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-um-novo-projeto-decisoes-de-arquitetura/ + No PHP Experience 2017 eu apresentei uma palestra falando sobre algumas das experiências (trocadilho acidental…) que a Coderockr acumulou nesses quase sete anos de existência. +Aproveitei que estamos iniciando um novo projeto para um cliente/parceiro da Coderockr e gravei um screencast comentando e exemplificando algumas das decisões que citei na palestra usando um caso real. +O video está no nosso canal do Youtube, que eu recomendo que você assine agora mesmo porque devemos lançar mais vídeos similares em breve. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + Culture Code da Coderockr + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Mon, 09 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/culture-code-da-coderockr/ + Hoje é um dia importante para nós da Coderockr pois estamos tornando público nosso Culture Code. +Essa é uma prática que se tornou famosa desde que a Netflix publicou o seu em 2009 e desde então várias empresas fizeram o mesmo. +Citando o post da Resultados Digitais sobre o assunto: + Culture Code é um documento que serve para uma série de coisas: um guia para os colaboradores da empresa, um material para atração de novas pessoas para o time, critérios de seleção e avaliação de desempenho, um norte para onde queremos evoluir com as nossas práticas no dia a dia e em última instância até como um “manifesto” de como achamos que o trabalho deveria ser na maioria dos lugares. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + The Code Ownership Feeling + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Fri, 30 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/the-code-ownership-feeling/ + Every developer, sometime in their lives, or very often pass through this feeling. You write code and it feels like it’s a part of you, thus motivating you to write the best code in the world, or at least what you consider it to be +That’s a good thing if we take into account that you increasingly want to take care of the project, establish patterns and think about more ways of improving your code and scaling the system. + + + + O Sentimento de Propriedade do Código + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + Thu, 15 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-sentimento-de-propriedade-do-codigo/ + My precious! + Todo programador, uma hora ou outra, ou quase sempre passa por isso. Você escreve código e as vezes sente que aquilo faz parte de você, e por isso, a partir desse sentimento, você quer escrever o melhor código do mundo, pelo menos o que você considera ser o melhor código do mundo. +Isso é uma coisa muito boa, partindo do principio que você quer cuidar do projeto cada vez mais, estabelecer padrões e pensar formas cada vez melhores de escrever o código e escalar o sistema. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + Tue, 23 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser. +A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client. +Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados. + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + Sintomas de Design de Software Podre + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Thu, 07 May 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sintomas-de-design-de-software-podre/ + Existem quatro sintomas primários que nos ajudam a identificar quando nosso design está apodrecendo. São ortogonais, mas relacionados de formas óbvias. Os sintomas são: rigidez, fragilidade, imobilidade, e viscosidade. +Rigidez É a tendência do software ser difícil de mudar, mesmo que de maneira simples. Cada mudança causa uma cascata de mudanças subsequentes em módulos independentes. O que começa como uma simples mudança de dois dias em um módulo cresce em uma maratona de mudanças de várias semanas alterando módulo atrás de módulo. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + Sobre como Começar na Área de Desenvolvimento + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Sat, 14 Mar 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/sobre_como_come%C3%A7ar_na_area_de_desenvolvimento/ + Recebi um e-mail essa semana com uma dúvida bem comum, que eu mesmo já passei alguns (muitos) anos atrás: + Bom dia Elton, tudo bem? Trabalho com TI a 4 anos [..], e agora quero migrar para o desenvolvimento. O grande dilema neste momento tem sido a linguagem. [..] estou na dúvida se começo em PHP (que aparentemente é uma ótima porta de entrada para o desenvolvimento) ou Ruby. Ambas as linguagens parecem de curva de aprendizado rápido [. + + + + \ No newline at end of file diff --git a/public/tags/doctrine/index.html b/public/tags/doctrine/index.html new file mode 100644 index 0000000..34351a9 --- /dev/null +++ b/public/tags/doctrine/index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Doctrine · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2016

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/doctrine/index.xml b/public/tags/doctrine/index.xml new file mode 100644 index 0000000..6c4f1bb --- /dev/null +++ b/public/tags/doctrine/index.xml @@ -0,0 +1,24 @@ + + + + Doctrine on Blog Coderockr + //blog.coderockr.com/tags/doctrine/ + Recent content in Doctrine on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 22 Feb 2016 00:00:00 +0000 + + + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + \ No newline at end of file diff --git a/public/tags/ferramentas/index.html b/public/tags/ferramentas/index.html new file mode 100644 index 0000000..d022439 --- /dev/null +++ b/public/tags/ferramentas/index.html @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ferramentas · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/ferramentas/index.xml b/public/tags/ferramentas/index.xml new file mode 100644 index 0000000..e281724 --- /dev/null +++ b/public/tags/ferramentas/index.xml @@ -0,0 +1,356 @@ + + + + Ferramentas on Blog Coderockr + //blog.coderockr.com/tags/ferramentas/ + Recent content in Ferramentas on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 06 Jun 2018 00:00:00 +0000 + + + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Time Tracking na Linha de Comando + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Mon, 21 Aug 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/time-tracking-na-linha-de-comando/ + Escrevi um post algum tempo atrás falando sobre as armadilhas do “multitasking” no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez. Neste post vou apresentar uma nova ferramenta que estou usando e gostando bastante, o Watson. +Eu passo a maior parte do meu tempo na frente do computador com um terminal aberto. + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Definindo APIs com o API Blueprint + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/definindo-apis-com-o-api-blueprint/ + Definindo APIs com o API Blueprint Uma das melhores decisões que tomamos na Coderockr foi adotarmos a abordagem “API First” para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma necessidade: melhorar o processo de definição e documentação das APIs. +Já usávamos outras abordagens, mas a maioria delas envolvia documentar a API no próprio código, usando annotations. Esta abordagem funciona, mas tem alguns problemas, principalmente quando a documentação precisa ser alterada por alguém de negócios. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + Integração Contínua Usando o Drone + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/integracao-continua-usando-o-drone/ + Integração contínua e deploy contínuo são dois pontos muito importantes no “Coderockr Way”, o processo de desenvolvimento que usamos na Coderockr. Neste post vou falar sobre uma nova ferramenta que estamos avaliando, o Drone. +O Drone é uma solução open source, desenvolvida em Go e baseada fortemente no uso de containers Docker. Ele é formado por três componentes principais: + Server: faz a orquestração dos builds, ouvindo eventos em repositórios hospedados no Github, Gitlab ou Bitbucket e gerenciando a execução usando os agentes. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + Usando AWS API Gateway e AWS Lambda + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Tue, 03 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/usando-aws-api-gateway-e-aws-lambda/ + Recentemente lançamos uma nova versão do site da Coderockr (já viu? Está lindão!) e nosso desenvolvedor/designer apresentou uma ótima ideia: criarmos um formulário de contato mais inteligente, onde o interessado pode nos fornecer informações mais completas já no primeiro momento, acelerando nosso processo de negociação. +Como usamos o CRM da HubSpot para gerenciar nossos contatos com clientes, rapidamente a ideia evoluiu para usarmos a API e integrarmos o formulário com o CRM. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Como Usamos o Slack na Coderockr + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Thu, 21 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-usamos-o-slack-na-coderockr/ + Dentre os valores da Coderockr estão dois pontos importantes: cooperação e transparência. Como somos uma empresa que desenvolve software nada mais esperado do que usarmos aplicativos para ajudar nestes objetivos. E hoje a principal ferramenta para isso é o Slack, que rapidamente tornou-se o coração de muitas empresas +Nós usamos o Slack como o nosso canal de comunicação, tanto entre as equipes quanto com os clientes. Cada projeto recebe um canal específico, como no exemplo abaixo: + + + + Developer Experience na Prática + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + Thu, 14 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/developer-experience-na-pratica/ + No post anterior eu falei sobre a ideia do DX e como implementar algo similar em nossas empresas. Neste post quero comentar um exemplo prático comparando duas empresas similares. +Quando o Stripe foi lançado nos EUA o mercado de gateways de pagamento já estava consolidado, com grandes players como o Paypal. Nestes cenários a única forma de uma nova empresa se destacar é criando uma “vantagem competitiva” em relação aos outros concorrentes. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Gerando documentação de APIs + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Tue, 31 May 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-documentacao-de-apis/ + Uma das melhores decisões técnicas que tomei na minha carreira foi investir pesado nas arquiteturas baseadas em serviços. Meu primeiro post sobre isso data de 2011 e desde então esta decisão só se provou um acerto. +Uma das tarefas mais importantes, e chatas, é manter a documentação das APIs sempre atualizadas pois elas são consumidas por cada vez mais camadas: frontend, mobile, outros serviços e sistemas. Existem várias ferramentas para esta tarefa, sendo uma das mais completas, e complexas, o Swagger, além de alguns serviços pagos. + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + \ No newline at end of file diff --git a/public/tags/gerenciamento-de-projetos/index.html b/public/tags/gerenciamento-de-projetos/index.html new file mode 100644 index 0000000..a999030 --- /dev/null +++ b/public/tags/gerenciamento-de-projetos/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gerenciamento De Projetos · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2016

+ +
+ +
+

2015

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/gerenciamento-de-projetos/index.xml b/public/tags/gerenciamento-de-projetos/index.xml new file mode 100644 index 0000000..4af9de5 --- /dev/null +++ b/public/tags/gerenciamento-de-projetos/index.xml @@ -0,0 +1,37 @@ + + + + Gerenciamento De Projetos on Blog Coderockr + //blog.coderockr.com/tags/gerenciamento-de-projetos/ + Recent content in Gerenciamento De Projetos on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 02 Jun 2016 00:00:00 +0000 + + + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + \ No newline at end of file diff --git a/public/tags/github/index.html b/public/tags/github/index.html new file mode 100644 index 0000000..e21f928 --- /dev/null +++ b/public/tags/github/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Github · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/github/index.xml b/public/tags/github/index.xml new file mode 100644 index 0000000..b3daa58 --- /dev/null +++ b/public/tags/github/index.xml @@ -0,0 +1,97 @@ + + + + Github on Blog Coderockr + //blog.coderockr.com/tags/github/ + Recent content in Github on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 06 Jun 2018 00:00:00 +0000 + + + + + + Simplificando Ainda Mais o Setup de Projetos + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplificando-ainda-mais-o-setup-de-projetos/ + Simplificando ainda mais o Setup de Projetos Agora simplificando GitHub, GitLab e Trello +English version: click here +Ano passado nós criamos um script simples para auxiliar no setup de projetos no GitHub, ele atendeu bem as nossas necessidades para os novos repositórios que criamos no GitHub. +Porém também trabalhamos com outras ferramentas para gerir os nossos projetos, como o GitLab e o Trello, mas não fizemos um script semelhante para eles. + + + + Simplifying Project Setup on GitHub + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-on-github/ + At Coderockr we start and take on many projects, either for clients that hire us or for internal actions, and usually GitHub ends up being the tool we choose for them. +Over the years we ended up defining a structure to control our issues, using the following labels: +Labels set used on Coderockr Way +It is a very simple set, but it makes all the steps, priorities, types and states of the tasks clear, and becomes very easy to understand what is happening. + + + + Simplifying Project Setup Even Further + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Sun, 06 May 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/simplifying-project-setup-even-further/ + Now simplifying GitHub, GitLab and Trello +Em português clique aqui +Last year we created a simple script to assist in the setup of projects in GitHub, it met our needs well for the new repositories we created in GitHub. +We also worked with other tools to manage our projects, like GitLab and Trello, but we did not do a similar script for them. +At the beginning of the year, I created a new script to perform the project setup in GitLab, which is basically a copy of the first script, but with the GitLab endpoints. + + + + Boas Práticas na Criação de Milestones, Tarefas, Pull Requests e Commits + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/boas-praticas-na-criacao-de-milestones-tarefas-pull-requests-e-commits/ + Um dos fatores de sucesso do processo de desenvolvimento de software, assim como a maioria dos empreendimentos humanos, é uma boa comunicação. +A Gitlab, ao cunhar o termo Conversational Development foi muito feliz ao definir + ConvDev takes a different approach by constraining the agile principles to what’s at the center of getting work done, the conversation. + Neste post vou citar algumas práticas que estamos implementando e que vem melhorando nossos processos. + + + + Ambientes por Branch com OpenShift Next Gen Usando GitHub + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Wed, 10 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-github/ + Esta postagem é uma continuação da “Ambientes por Branch com OpenShift Next Gen”, a introdução do problema esta lá e também mostro como implementar o processo de deploy usando o GitLab nele, se não viu da uma conferida, vale o investimento +Como prometi na outra postagem, vamos criar um processo de deploy de ambientes por branch usando o GitHub. +No caso do GitHub, ele cobre “apenas” a parte de repositório de fontes, ele em si não tem integração direta com o Kubernetes/OpenShift, mas possui uma grande gama de opções no que diz respeito de ferramentas de CI e CD. + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + Simplificando o Setup de Projetos no GitHub + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Tue, 10 Jan 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/simplificando-o-setup-de-projetos-no-github/ + Na Coderockr iniciamos e assumimos vários projetos, sejam para clientes que nos contratam ou para ações internas, e normalmente o GitHub acaba sendo a ferramenta escolhida para eles. +E ao longo dos anos acabamos definindo uma estrutura para controlarmos as nossas issues, usando as seguintes labels: +Conjunto de labels utilizadas no Coderockr Way +É um conjunto bem simples, mas que deixa bem claro as etapas, prioridades, tipos e estados das tarefas, de forma que fica bem fácil de acompanhá-las. + + + + \ No newline at end of file diff --git a/public/tags/gitlab/index.html b/public/tags/gitlab/index.html new file mode 100644 index 0000000..438baff --- /dev/null +++ b/public/tags/gitlab/index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gitlab · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/gitlab/index.xml b/public/tags/gitlab/index.xml new file mode 100644 index 0000000..5fcdd87 --- /dev/null +++ b/public/tags/gitlab/index.xml @@ -0,0 +1,25 @@ + + + + Gitlab on Blog Coderockr + //blog.coderockr.com/tags/gitlab/ + Recent content in Gitlab on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 01 May 2017 00:00:00 +0000 + + + + + + Ambientes por Branch com OpenShift Next Gen Usando Gitlab + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/ambientes-por-branch-com-openshift-next-gen-usando-gitlab/ + Hoje na Coderockr utilizamos Pull Requests e Code Reviews como uma ferramenta de qualidade nos nossos desenvolvimentos, e tem garantido resultados nesse sentido. +Mas mesmo com esse processo eventualmente temos de lidar com alguns problemas como, por exemplo, funções que interferem umas nas outras depois de aprovadas, permitir que os Testers possam avaliar as melhorias, e garantir que todos as mudanças feitas na branch principal podem ser enviadas para produção. + + + + \ No newline at end of file diff --git a/public/tags/go/index.html b/public/tags/go/index.html new file mode 100644 index 0000000..0426791 --- /dev/null +++ b/public/tags/go/index.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Go · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2017

+ +
+ +
+

2016

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/go/index.xml b/public/tags/go/index.xml new file mode 100644 index 0000000..52dde3f --- /dev/null +++ b/public/tags/go/index.xml @@ -0,0 +1,47 @@ + + + + Go on Blog Coderockr + //blog.coderockr.com/tags/go/ + Recent content in Go on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 27 Jul 2017 00:00:00 +0000 + + + + + + Gerenciando Dependências em Golang + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/gerenciando-dependencias-em-golang/ + Gerenciando dependências em Golang Desenvolver software atualmente se parece cada vez mais com montar um quebra-cabeça. Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é muito comum usarmos vários pequenos pacotes para montarmos nossos projetos. +A maioria das linguagens de programação modernas possui um sistema de gerenciamento destas dependências, como o Composer do PHP, o yarn/npm para JavaScript, pip no Python, etc. No ecossistema Go existem várias implementações deste conceito, o que acabou gerando um certo conflito na hora de selecionar uma solução. + + + + Tratamento de Erros em Go + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Wed, 13 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/tratamento-de-erros-em-go/ + Um dos primeiros pontos que causam estranheza para quem está começando em Go é a forma como os erros são tratados, principalmente quando viemos de outras linguagens orientadas a objetos. Em Go os erros são “first class citizens”, ou seja, eles não são ocultos ou delegados e são considerados parte importante do código. +Hoje passei por uma situação onde isso fez diferença. Revisando/debugando o código em PHP (alterado do original): + + + + Por que Go? + //blog.coderockr.com/posts/2016/por-que-go/ + Thu, 28 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-go/ + A melhor ferramenta para cada necessidade +Nestes quase 20 anos de carreira como desenvolvedor eu já trabalhei com várias linguagens de programação, desde C, passando por Cobol, Java, Python e PHP, que tornou-se minha principal ferramenta. +Uma das coisas que aprendi nesse processo foi sempre tentar encontrar a melhor ferramenta para cada situação e evitar cair na máxima: + Se a única ferramenta que você tem é um martelo, para você tudo começa a se parecer com um prego. + + + + \ No newline at end of file diff --git a/public/tags/i.a./index.html b/public/tags/i.a./index.html new file mode 100644 index 0000000..18a13e0 --- /dev/null +++ b/public/tags/i.a./index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + I.a. · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2018

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/i.a./index.xml b/public/tags/i.a./index.xml new file mode 100644 index 0000000..8daea36 --- /dev/null +++ b/public/tags/i.a./index.xml @@ -0,0 +1,24 @@ + + + + I.a. on Blog Coderockr + //blog.coderockr.com/tags/i.a./ + Recent content in I.a. on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 29 Nov 2018 00:00:00 +0000 + + + + + + I.A. Inteligência Artificial + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I. + + + + \ No newline at end of file diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..346b1e2 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tags · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + +
+
+ +
+ + +
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..c3f4e57 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,267 @@ + + + + Tags on Blog Coderockr + //blog.coderockr.com/tags/ + Recent content in Tags on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 28 Jun 2017 00:00:00 +0000 + + + + + + Api + //blog.coderockr.com/tags/api/ + Wed, 28 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/api/ + + + + + Arquitetura + //blog.coderockr.com/tags/arquitetura/ + Wed, 05 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/arquitetura/ + + + + + Aws + //blog.coderockr.com/tags/aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/aws/ + + + + + Carreira + //blog.coderockr.com/tags/carreira/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/carreira/ + + + + + Clean Code + //blog.coderockr.com/tags/clean-code/ + Mon, 13 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/clean-code/ + + + + + Criptografia + //blog.coderockr.com/tags/criptografia/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/criptografia/ + + + + + D3 + //blog.coderockr.com/tags/d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/d3/ + + + + + Desenvolvimento + //blog.coderockr.com/tags/desenvolvimento/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/desenvolvimento/ + + + + + Doctrine + //blog.coderockr.com/tags/doctrine/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/doctrine/ + + + + + Ferramentas + //blog.coderockr.com/tags/ferramentas/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/ferramentas/ + + + + + Gerenciamento De Projetos + //blog.coderockr.com/tags/gerenciamento-de-projetos/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/gerenciamento-de-projetos/ + + + + + Github + //blog.coderockr.com/tags/github/ + Wed, 06 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/github/ + + + + + Gitlab + //blog.coderockr.com/tags/gitlab/ + Mon, 01 May 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/gitlab/ + + + + + Go + //blog.coderockr.com/tags/go/ + Thu, 27 Jul 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/go/ + + + + + I.a. + //blog.coderockr.com/tags/i.a./ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/i.a./ + + + + + Js + //blog.coderockr.com/tags/js/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/js/ + + + + + Kubernetes + //blog.coderockr.com/tags/kubernetes/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/kubernetes/ + + + + + Metodologias + //blog.coderockr.com/tags/metodologias/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/metodologias/ + + + + + Mobile + //blog.coderockr.com/tags/mobile/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/mobile/ + + + + + Php + //blog.coderockr.com/tags/php/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/php/ + + + + + Programação Funcional + //blog.coderockr.com/tags/programa%C3%A7%C3%A3o-funcional/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/programa%C3%A7%C3%A3o-funcional/ + + + + + React + //blog.coderockr.com/tags/react/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/react/ + + + + + React Native + //blog.coderockr.com/tags/react-native/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/react-native/ + + + + + Redux + //blog.coderockr.com/tags/redux/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/redux/ + + + + + Software Security + //blog.coderockr.com/tags/software-security/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/software-security/ + + + + + Tdd + //blog.coderockr.com/tags/tdd/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/tags/tdd/ + + + + + Trabalho Remoto + //blog.coderockr.com/tags/trabalho-remoto/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/tags/trabalho-remoto/ + + + + + Transformação Digital + //blog.coderockr.com/tags/transforma%C3%A7%C3%A3o-digital/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/tags/transforma%C3%A7%C3%A3o-digital/ + + + + + \ No newline at end of file diff --git a/public/tags/js/index.html b/public/tags/js/index.html new file mode 100644 index 0000000..6a1b508 --- /dev/null +++ b/public/tags/js/index.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Js · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/js/index.xml b/public/tags/js/index.xml new file mode 100644 index 0000000..aa0f16e --- /dev/null +++ b/public/tags/js/index.xml @@ -0,0 +1,173 @@ + + + + Js on Blog Coderockr + //blog.coderockr.com/tags/js/ + Recent content in Js on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 03 Nov 2017 00:00:00 +0000 + + + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + Socket.IO Notify — Resolvendo Problemas de Notificação Real-Time + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + Tue, 23 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/socket-io-notify-resolvendo-problemas-de-notificacao-real-time/ + No final do ano passado, em dois de nossos projetos na Coderockr, surgiu a necessidade de termos uma comunicação real-time entre o servidor e o browser. +A primeira tecnologia que veio em mente foi websockets, que possibilita a comunicação bidirecional entre server e client. +Por questões de suporte à browsers e facilidade na implementação optamos por utilizar socket.io, uma lib client/server que utiliza websockets e fornece uma api bem amigável, além de fallbacks para browsers legados. + + + + \ No newline at end of file diff --git a/public/tags/kubernetes/index.html b/public/tags/kubernetes/index.html new file mode 100644 index 0000000..abd26d5 --- /dev/null +++ b/public/tags/kubernetes/index.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kubernetes · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/kubernetes/index.xml b/public/tags/kubernetes/index.xml new file mode 100644 index 0000000..df37f93 --- /dev/null +++ b/public/tags/kubernetes/index.xml @@ -0,0 +1,65 @@ + + + + Kubernetes on Blog Coderockr + //blog.coderockr.com/tags/kubernetes/ + Recent content in Kubernetes on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 10 Mar 2017 00:00:00 +0000 + + + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 4 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Fri, 10 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-4/ + Este post é a quarta parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Como citei no post anterior ainda existe um ponto de desconforto no ambiente, que é o fato das senhas e usuários estarem expostos diretamente nas configurações. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 3 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Thu, 09 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-3/ + Este post é a terceira parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido o post anterior recomendo lê-lo e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 2 — Construindo o Ambiente: clique aqui + Parte 4 — Segredos: clique aqui + Como comentei no post anterior existem alguns problemas no ambiente que construí, e o princípial deles é que os Pods não totalmente efêmeros, ou seja, se eu adicionar novos dados nele, no momento que o Pod fosse destruído os dados iriam junto e sem backup ! + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 2 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Wed, 08 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-2/ + Este post é parte de uma série sobre o básico necessário para usar o Kubernetes, caso você não tenha lido os post anteriores recomendo lê-los e depois voltar aqui para não ficar perdido. + Parte 1 — Conceitos Básicos: clique aqui + Parte 3 — Volumes Persistentes: clique aqui + Parte 4 — Segredos: clique aqui + Conhecendo os componentes básicos explicados no post anterior posso preparar a aplicação que mostrei para o Kubernetes. + + + + Um Ambiente Simples Usando Kubernetes e OpenShift Next Gen — Parte 1 + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Tue, 07 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/um-ambiente-simples-usando-kubernetes-e-openshift-next-gen-parte-1/ + Como parte das minhas metas dentro da Coderockr está a construção de um cluster usando algumas das ferramentas de orquestração de contêineres que existem no mercado; como o Docker Swarm, Kubernetes, Apache Mesos, etc. +Optei pelo Kubernetes no momento, tanto pelo pedigree, criado pelo Google e mantido pela Cloud Native Computing Foundation; quanto pela oferta de grandes clouds como a Red Hat, Azure e Google. +Quando estava avaliando as opções disponíveis, o Jean Carlo Machado (colega da CompuFácil), me sugeriu usar o **OpenShift Next Gen**, a plataforma da Red Hat para Kubernetes, que esta em Developer Preview permitindo que você se cadastre para testar a ferramenta deles por 30 dias. + + + + \ No newline at end of file diff --git a/public/tags/metodologias/index.html b/public/tags/metodologias/index.html new file mode 100644 index 0000000..87c6641 --- /dev/null +++ b/public/tags/metodologias/index.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metodologias · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2017

+ +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/metodologias/index.xml b/public/tags/metodologias/index.xml new file mode 100644 index 0000000..79dc439 --- /dev/null +++ b/public/tags/metodologias/index.xml @@ -0,0 +1,91 @@ + + + + Metodologias on Blog Coderockr + //blog.coderockr.com/tags/metodologias/ + Recent content in Metodologias on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 11 Oct 2017 00:00:00 +0000 + + + + + + Modelando Sistemas Usando Event Storming + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Wed, 11 Oct 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/modelando-sistemas-usando-event-storming/ + Mão na massa! +O desenvolvimento de software envolve muito mais do que escrever códigos. O objetivo maior é desenvolver o software correto, que resolva as necessidades do usuários e com a máxima qualidade. +Parte deste desafio é aumentar o entendimento do negócio e dos problemas que estão sendo resolvidos, por todos os envolvidos no projeto. +Existem varias formas de realizar este levantamento de requisitos, desde as mais tradicionais até ideias modernas. + + + + Estimativa Baseada em Evidências + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + Thu, 02 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/estimativa-baseada-em-evidencias/ + As pessoas, salvo alguns místicos, não são muito boas em prever o futuro. +https://www.flickr.com/photos/pasukaru76/3998273279/ +Portanto é bem provável que as suas estimativas de entregas de tarefas e projetos não sejam tão precisas quanto seu cliente espera, certo? Felizmente temos outros recursos a nossa disposição para suprir essa nossa deficiência: fatos, números e computadores rápidos o suficiente para processá-las. +Vamos fazer uma simples &ldquo;conta de padaria&rdquo; e imaginar o seguinte cenário: + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + Coderockr Way + //blog.coderockr.com/posts/2015/coderockr-way/ + Thu, 29 Oct 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/coderockr-way/ + Toda empresa tem sua forma de trabalhar, sua caixa de ferramentas. Nestes cinco anos aprendemos bastante e queremos compartilhar esse conhecimento, por isso vamos criar uma série de pequenos vídeos sobre o nosso processo e as ferramentas que usamos. +O primeiro já está no nosso canal do Youtube, falando sobre a forma como vemos projetos de software. Nossa ideia inicial é fazer um vídeo para cada tópico do mapa mental: + + + + Como Gerenciamos Projetos na Coderockr + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + Thu, 25 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/como-gerenciamos-projetos-na-coderockr/ + A Coderockr é, simplificando bastante, uma empresa de projetos de software. Para conseguirmos cumprir nosso propósito precisamos gerenciar projetos com qualidade e eficiência. Neste post vamos comentar como fazemos isso. +Metodologia Desde o nascimento da Coderockr sempre tivemos como foco o uso de metodologias ágeis, principalmente devido a natureza dos projetos e dos clientes que atendemos, que precisam responder rápido a mudanças. Após muito estudo e experiências chegamos a conclusão que a melhor metodologia para nossos projetos é o Kanban. + + + + A Importância da Revisão de Código + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Fri, 05 Jun 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/a-importancia-da-revisao-de-codigo/ + Em seu famoso artigo “A catedral e o bazar” Eric S. Raymond proferiu: + Dados olhos suficientes, todos os erros são óbvios + Esta frase, que ficou conhecida com a “Lei de Linus”, resume bem o fenômeno do código aberto e como ele mudou a forma como desenvolvemos software. +Na Coderockr adotamos a política de Code Review em todos os projetos. Para cada tarefa/melhoria/bug/feature o desenvolvedor cria uma nova branch no Bitbucket (ou Github se o projeto for open source) e ao final do desenvolvimento ele abre um Pull Request para que os outros membros da equipe ajudem a analisar o código. + + + + Os 12 Fatores: Uma Metodologia para Criação de Projetos SaaS + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Tue, 28 Apr 2015 00:00:00 +0000 + + //blog.coderockr.com/posts/2015/os-12-fatores-uma-metodologia-para-criacao-de-projetos-saas/ + Todo desenvolvedor já deve ter ouvido falar do Heroku, plataforma de cloud computing que revolucionou o desenvolvimento, ajudou a criar o movimento “devops” e que foi vendida por diversos milhares de dólares para a Salesforce. Se tem algo que eles tem muita experiência é na criação e suporte de aplicativos SaaS (software-as-a-service), principalmente aplicativos web. +Eles usaram toda essa experiência para criar o 12factor que é uma espécie de “manifesto” com os 12 fatores que uma aplicação deveria seguir para ter sucesso nesse formato. + + + + \ No newline at end of file diff --git a/public/tags/mobile/index.html b/public/tags/mobile/index.html new file mode 100644 index 0000000..ba3c8c3 --- /dev/null +++ b/public/tags/mobile/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mobile · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + +
+

2017

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/mobile/index.xml b/public/tags/mobile/index.xml new file mode 100644 index 0000000..284f093 --- /dev/null +++ b/public/tags/mobile/index.xml @@ -0,0 +1,36 @@ + + + + Mobile on Blog Coderockr + //blog.coderockr.com/tags/mobile/ + Recent content in Mobile on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 16 Apr 2018 00:00:00 +0000 + + + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + \ No newline at end of file diff --git a/public/tags/php/index.html b/public/tags/php/index.html new file mode 100644 index 0000000..581c84c --- /dev/null +++ b/public/tags/php/index.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Php · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/php/index.xml b/public/tags/php/index.xml new file mode 100644 index 0000000..6f646ba --- /dev/null +++ b/public/tags/php/index.xml @@ -0,0 +1,66 @@ + + + + Php on Blog Coderockr + //blog.coderockr.com/tags/php/ + Recent content in Php on Blog Coderockr + Hugo -- gohugo.io + pt-br + Mon, 29 Aug 2016 00:00:00 +0000 + + + + + + Gerando Code Coverage com PHPUnit e phpgbg + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Mon, 29 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerando-code-coverage-com-phpunit-e-phpgbd/ + Em um post anterior eu mostrei alguns truques para identificar testes que estão demorando muito para serem executados. Neste texto vou mostrar uma forma de melhorar a performance da geração do relatório de cobertura de códigos usando o PHPUnit. +É possível incluir configurações no arquivo phpunit.xml para que sejam gerados relatórios relativos aos testes que estão sendo executados. Por exemplo: + Desta forma será criado o diretório tests/_reports com uma série de informações úteis. + + + + Como Melhorar seus Códigos Usando Object Calisthenics + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Thu, 23 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-melhorar-seus-codigos-usando-object-calisthenics/ + Em um dos primeiros projetos que a Coderockr participou tivemos o privilégio de trabalhar com um “dream team”: Eduardo Shiota, Guilherme Blanco, Rafael Dohms e Otavio Ferreira (em ordem alfabética porque é impossível perfilá-los em qualquer ordem de relevância). +Neste projeto foi possível aprimorarmos vários pontos importantes como TDD, Scrum, trabalho remoto, análise, integração contínua, etc. Mas o que mais me marcou foram os conceitos de Clean Code e Object Calisthenics que eram aplicados ao projeto. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + O Fim dos Frameworks Full Stack + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Tue, 15 Mar 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/o-fim-dos-frameworks-full-stack/ + Venho acompanhando de perto a evolução dos frameworks PHP desde meados de 2004 e me parece que todos estão caminhando para uma abordagem cada vez mais focada ao conceito de micro-frameworks. +Um pouco de história… Nos primórdios havia o caos, e então veio o Ruby on Rails… E as outras linguagens viram que era legal e criaram suas versões do “framework MVC perfeito”, como o Zend Framework, Symfony, CakePHP, Code Igniter, etc. + + + + Doctrine 2 - Contribution Touch + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + Mon, 22 Feb 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/doctrine-2-contribution-touch/ + One of my goals for 2016 is to be a par excellence open source contributor. The project I’m aiming to focus my work is on the Doctrine 2, for lots of reasons. Firstly because it’s an excellent project with lots of the top PHP developers. Did you know that @ocramius is the most assiduous contributor on Github? Secondly I use it on a daily basis at work, so the more I’m proficient at it, the better asset am I for Compufácil. + + + + \ No newline at end of file diff --git "a/public/tags/programa\303\247\303\243o-funcional/index.html" "b/public/tags/programa\303\247\303\243o-funcional/index.html" new file mode 100644 index 0000000..67dd5b3 --- /dev/null +++ "b/public/tags/programa\303\247\303\243o-funcional/index.html" @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Programação Funcional · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git "a/public/tags/programa\303\247\303\243o-funcional/index.xml" "b/public/tags/programa\303\247\303\243o-funcional/index.xml" new file mode 100644 index 0000000..43791ce --- /dev/null +++ "b/public/tags/programa\303\247\303\243o-funcional/index.xml" @@ -0,0 +1,141 @@ + + + + Programação Funcional on Blog Coderockr + //blog.coderockr.com/tags/programa%C3%A7%C3%A3o-funcional/ + Recent content in Programação Funcional on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 03 Nov 2017 00:00:00 +0000 + + + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + \ No newline at end of file diff --git a/public/tags/react-native/index.html b/public/tags/react-native/index.html new file mode 100644 index 0000000..cb5f999 --- /dev/null +++ b/public/tags/react-native/index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + React Native · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2017

+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/react-native/index.xml b/public/tags/react-native/index.xml new file mode 100644 index 0000000..ca1dc13 --- /dev/null +++ b/public/tags/react-native/index.xml @@ -0,0 +1,27 @@ + + + + React Native on Blog Coderockr + //blog.coderockr.com/tags/react-native/ + Recent content in React Native on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 16 Feb 2017 00:00:00 +0000 + + + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + \ No newline at end of file diff --git a/public/tags/react/index.html b/public/tags/react/index.html new file mode 100644 index 0000000..850ce1e --- /dev/null +++ b/public/tags/react/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + React · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/react/index.xml b/public/tags/react/index.xml new file mode 100644 index 0000000..8be8208 --- /dev/null +++ b/public/tags/react/index.xml @@ -0,0 +1,162 @@ + + + + React on Blog Coderockr + //blog.coderockr.com/tags/react/ + Recent content in React on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 03 Nov 2017 00:00:00 +0000 + + + + + + Iniciando com React - #5 Criando Componentes com Storybook + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Fri, 03 Nov 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-5-criando-componentes-com-storybook/ + Iniciando com React - 5 Criando componentes com Storybook +Quando estamos desenvolvendo um novo componente para um projeto, é comum o fazermos diretamente na aplicação. Essa abordagem pode nos levar à um processo exaustivo, onde as vezes não temos os dados necessários a nossa disposição, ou situações onde temos que preencher todos os campos de um formulário, só para ver se a mensagem de erro está correta. O *React Storybook *vem para solucionar esses problemas e deixar o nosso workflow muito mais fluído. + + + + Iniciando com React - #4 Armazenando Estado e Entendendo o Lifecycle + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Mon, 10 Apr 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-4-armazenando-estado-e-entendendo-o-lifecycle/ + Quando estamos desenvolvendo uma aplicação, é comum a necessidade de guardarmos estado. Juntamente com essa necessidade, é frequente precisarmos tomar uma ação quando um componente acabou de aparecer na tela, por exemplo, ou quando dados são atualizados. Nesse post, veremos como React pode suprir essas necessidades de forma simples. &gt; Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + + + + Iniciando com React - #3 Criando Componentes + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + Wed, 29 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-3-criando-componentes/ + O React introduz uma nova maneira de construir interfaces, o que podemos chamar de “Interface baseada em componentes”. Componentes permitem que você divida sua interface em partes independentes e reutilizáveis, e que você pense em cada parte de forma isolada. + Nota: Este post faz parte da série “Iniciando com React”. Se você está começando com React agora, sugiro ler os outros posts primeiro. + &lt; Anterior | Proximo &gt; + + + + Iniciando com React - #2 Criando a Estrutura do Projeto + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Mon, 20 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-2-criando-a-estrutura-do-projeto/ + Montar a estrutura de um projeto React e configurar o build manualmente, pode ser um pouco confuso de início. Por esse motivo, iremos utilizar o comando create-react-app, que gera por padrão uma estrutura básica, pronta para começarmos a desenvolver nossa aplicação. Dessa forma, você não precisa entender todo o processo do build antes mesmo de criar o seu primeiro componente. +Posteriormente, veremos cada parte do build para entender melhor com o que estamos lidando. + + + + Iniciando com React - #1 Introdução + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + Mon, 13 Mar 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/iniciando-com-react-1-introducao/ + React é uma biblioteca Javascript do Facebook para a construção de interfaces web. No mercado desde 2013, vem sendo utilizada por aplicações de alto escala. Entre as principais empresas que adotaram e apostam na lib, estão Facebook, AirBnb, Instagram e Twitter. Por muitas vezes mencionado como o V do MVC, o React se propõe a controlar a camada da View, proporcionando total liberdade para o programador tomar decisões em relação ao resto da arquitetura da aplicação. + + + + React Native for React Developers + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + Thu, 16 Feb 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/react-native-for-react-developers/ + React Native for React Developers +React Native is becoming the definitive solution to create apps across multiple platforms. What React Native offers, is the possibility to create native mobile apps using only Javascript. +In this post, I am going to make a comparison between React and React Native, and what are the first things a React Developer should know before starting to code. +Building Blocks React Native uses the same design as React, you will be using JSX and JavaScript to create your components. + + + + Por que o Planrockr é uma Single Page Application? + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Wed, 02 Nov 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/por-que-o-planrockr-e-uma-single-page-application/ + Há uns dias atrás, foi feita uma pergunta para a equipe do Planrockr no twitter: +@eminetto qual foi o fator determinante pro Planrockr ser uma SPA e não uma app tradicional? =) +&mdash; Pedro Costa (@plcosta) October 14, 2016 +Esse é um assunto interessante a ser abordado: Quando uma aplicação deve ou não ser uma SPA? Nesse artigo não pretendo fazer menção a nenhum framework em específico, mas nos manter focados nas vantagens e desvantagens deste tipo de arquitetura. + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + Gerenciando Rotas com React Router + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Mon, 05 Sep 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/gerenciando-rotas-com-react-router/ + Quando começamos a desenvolver um SPA, uma das primeiras coisas que precisamos definir é a forma como controlamos as rotas da aplicação. Em React isso não é diferente. +React Router é uma lib completa para controle de rotas. Ela permite que você consiga configurar rotas utilizando o formato JSX e também disponibiliza uma API para você configurar diretamente via Javascript. +A lib trabalha com History API, mas também deixa a possibilidade de você trabalhar com Hash(#) se for necessário. + + + + Recharts, Construa Gráficos com React e D3 + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Mon, 22 Aug 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/recharts-construa-graficos-com-react-e-d3/ + Recentemente iniciamos o desenvolvimento de mais cinco widgets no iMasters Planrockr, todos de gráficos. Para a renderização dos mesmos, optamos por usar o D3JS, que é uma das libs mais robustas para a implementação de gráficos atualmente. +Seria possível implementá-los utilizando somente D3 e foi dessa forma que começamos a implementar o primeiro gráfico. No entanto, aprender a lib do zero pode exigir um tempo e esforço considerável, não sendo nada produtivo no estado inicial. + + + + Integrando Mixpanel com React + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Thu, 28 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/integrando-mixpanel-com-react/ + Recentemente lançamos a nova interface do Planrockr, feita em ReactJS. Nesse produto nós estamos utilizando o MixPanel para fazer tracking de ações do usuário. Anteriormente nós fazíamos o tracking apenas pelo backend, já que a interface era experimental e sabíamos que as chances eram grandes de o código dela ser descartado. +Para essa nova versão do Planrockr, nós decidimos levar o tracking de alguns eventos para o frontend, já que no backend nós não tínhamos acesso a algumas informações, como: Browser, localização, resolução de tela e etc… + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + \ No newline at end of file diff --git a/public/tags/redux/index.html b/public/tags/redux/index.html new file mode 100644 index 0000000..1203c55 --- /dev/null +++ b/public/tags/redux/index.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Redux · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/redux/index.xml b/public/tags/redux/index.xml new file mode 100644 index 0000000..5d0b643 --- /dev/null +++ b/public/tags/redux/index.xml @@ -0,0 +1,58 @@ + + + + Redux on Blog Coderockr + //blog.coderockr.com/tags/redux/ + Recent content in Redux on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 19 Oct 2016 00:00:00 +0000 + + + + + + Como React e Redux me Fizeram um Programador Melhor + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Wed, 19 Oct 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/como-react-e-redux-me-fizeram-um-programador-melhor/ + Há uns dias atrás, no primeiro hangout do React Cast, apareceu o assunto sobre como React e Redux nos faziam ser programadores melhores. Nesse post vou esclarecer os pontos que me levam a acreditar nisso. +Quando começamos a trabalhar como programadores, é muito comum aprendermos a trabalhar com abstrações que facilitam nosso caminho e nossa curva de aprendizado. Um grande exemplo disso é o jQuery, que provavelmente é a primeira lib que os desenvolvedores Frontend tem contato. + + + + Requisições Assíncronas em Redux + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Sat, 02 Jul 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/requisicoes-assincronas-em-redux/ + Quando se está começando a aprender Redux, uma das dúvidas mais comuns é como fazer requisições assíncronas. +Observando os exemplos básicos, que implementam apenas actions comuns, não fica tão óbvio qual abordagem utilizar ao fazer uma integração com uma API. +Neste post, mostrarei como implementar um middleware, que ficará responsável por interpretar um padrão de específico de action (async action) e gerenciar nossas requisições, disparando uma action correspondente para cada momento das mesmas. + + + + Conhecendo o Básico do Redux + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/conhecendo-o-basico-do-redux/ + Redux é um container de estados previsível para aplicações javascript, mas o que isso significa? +Concebido por Dan Abramov, redux é um padrão de arquitetura de aplicação, inspirado no Flux do Facebook e simplificado com ajuda de algumas práticas do Elm. Redux lhe da o poder de construir aplicações consistentes e controlar a forma como os dados fluem e são transformados, seguindo três princípios: +1. Single source of truth (SSOT) Todo o estado da sua aplicação é armazenado em uma única árvore de objetos, dentro de uma única store. + + + + Learning the Basics About Redux + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Wed, 22 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/learning-the-basics-about-redux/ + Redux is a predictable state container for JavaScript Applications, but what does that mean? +Created by Dan Abramov, Redux is an application architecture pattern based on Flux ideas and simplified with concepts from Elm. Redux gives you the power to build consistent applications and to control the way your data flows and is transformed, following three principles: +1. Single Source of Truth (SSOT) The entire state of your application is stored in an object tree within a single store. + + + + \ No newline at end of file diff --git a/public/tags/software-security/index.html b/public/tags/software-security/index.html new file mode 100644 index 0000000..2d3444c --- /dev/null +++ b/public/tags/software-security/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Software Security · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ +
+

2018

+ +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/software-security/index.xml b/public/tags/software-security/index.xml new file mode 100644 index 0000000..f104066 --- /dev/null +++ b/public/tags/software-security/index.xml @@ -0,0 +1,36 @@ + + + + Software Security on Blog Coderockr + //blog.coderockr.com/tags/software-security/ + Recent content in Software Security on Blog Coderockr + Hugo -- gohugo.io + pt-br + Sat, 31 Mar 2018 00:00:00 +0000 + + + + + + Aplicando HTTPS para uma SPA na AWS + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Sat, 31 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/aplicando-https-para-uma-spa-na-aws/ + Recentemente passamos a servir a nossa landing page e o SPA do Planrockr sobre HTTPS, inicialmente apenas estamos usando HTTPS no nosso backend, mas percebemos que seria melhor que nosso frontend também usasse. +Alguns dos motivos por traz disso seriam para melhorar o ranking em sites de pesquisa, para garantir ainda mais a segurança nas comunicações, e também para passar mais segurança para os nossos usuários. +Como estamos servindo nosso frontend usando o S3 da AWS, é apenas uma questão de colocar um CloudFront na frente e alterar a rota no Route 53 e tudo passa a funcionar, mas acabou dando alguma dor de cabeça, não por ser uma tarefa difícil, mas simplesmente por termos encontrado instruções confusas e errôneas quando pesquisamos como executar a migração. + + + + Como Lidar com Senhas Inseguras em Projetos Legados + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Mon, 08 May 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/como-lidar-com-senhas-inseguras-em-projetos-legados/ + Aqui na Coderockr nós eventualmente nos deparamos com sistemas legados e muitas vezes inseguros. Um dos problemas mais comuns é a utilização de funções hash como MD5, SHA1, SHA-256 em senhas. O uso dessas funções apresenta alguns riscos que as aplicações não deveriam estar correndo, mas antes de abordar as soluções, vamos ver porque o uso deses algoritmos de hash representam um risco de segurança. +Por que funções hash não devem ser usadas em senhas? + + + + \ No newline at end of file diff --git a/public/tags/tdd/index.html b/public/tags/tdd/index.html new file mode 100644 index 0000000..7ca31fe --- /dev/null +++ b/public/tags/tdd/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tdd · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/tdd/index.xml b/public/tags/tdd/index.xml new file mode 100644 index 0000000..610acd5 --- /dev/null +++ b/public/tags/tdd/index.xml @@ -0,0 +1,46 @@ + + + + Tdd on Blog Coderockr + //blog.coderockr.com/tags/tdd/ + Recent content in Tdd on Blog Coderockr + Hugo -- gohugo.io + pt-br + Thu, 16 Jun 2016 00:00:00 +0000 + + + + + + DX — Developer Experience + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Thu, 16 Jun 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/dx-developer-experience/ + Depois de algumas cervejas e várias horas de conversa (ou teriam sido várias cervejas e algumas horas de conversa?), eis que o Guilherme Siquinelli cunha o termo que dá título a este post. +E este termo faz muito sentido. Nos últimos anos a disciplina de UX — User Experience — provou-se muito importante, desde projetos de aplicativos até e-commerce e sistemas bancários. Tornar um sistema fácil e amigável aos seus usuários é um grande passo para o seu sucesso. + + + + Melhorando a Performance do PHPUnit + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Thu, 07 Apr 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/melhorando-a-performance-do-phpunit/ + Em pleno 2016 acho que não preciso gastar caracteres comentando a importância dos TDD no desenvolvimento de software, porque você já está escrevendo testes, certo? +O que eu vou comentar aqui é a importância deles executarem o mais rápido possível, porque se o processo de execução de testes for algo lento a tendência é o desenvolvedor escrever menos, ou executá-los esporadicamente. +Mas como identificar quais testes estão demorando mais e como melhorar a sua performance? + + + + Relógios, Carros e Teste de Software + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Thu, 07 Jan 2016 00:00:00 +0000 + + //blog.coderockr.com/posts/2016/relogios-carros-e-teste-de-software/ + Recentemente comprei um relógio de pulso. Usar um relógio analógico em 2016 é basicamente uma decisão de estética e não de funcionalidade pois estamos rodeados de relógios digitais, como por exemplo, no painel do meu carro. +O interessante é que o relógio do meu carro vive atrasando, enquanto que o relógio de pulso nunca apresentou esse problema, apesar do relógio ter custado muito menos do que o veículo. O ponto é que para o relógio a funcionalidade “mostrar as horas” é a coisa mais importante, enquanto que para o carro isso é um extra. + + + + \ No newline at end of file diff --git a/public/tags/trabalho-remoto/index.html b/public/tags/trabalho-remoto/index.html new file mode 100644 index 0000000..b388136 --- /dev/null +++ b/public/tags/trabalho-remoto/index.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Trabalho Remoto · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git a/public/tags/trabalho-remoto/index.xml b/public/tags/trabalho-remoto/index.xml new file mode 100644 index 0000000..3245622 --- /dev/null +++ b/public/tags/trabalho-remoto/index.xml @@ -0,0 +1,26 @@ + + + + Trabalho Remoto on Blog Coderockr + //blog.coderockr.com/tags/trabalho-remoto/ + Recent content in Trabalho Remoto on Blog Coderockr + Hugo -- gohugo.io + pt-br + Wed, 07 Jun 2017 00:00:00 +0000 + + + + + + Por que não Temos Equipes Remotas na Coderockr + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Wed, 07 Jun 2017 00:00:00 +0000 + + //blog.coderockr.com/posts/2017/por-que-nao-temos-equipes-remotas-na-coderockr/ + Recentemente lançamos nosso plano de carreiras e no Twitter o grande @femontanha levantou um ponto interessante: +Como é um assunto relevante achei legal escrever um post explicando os motivos de não termos equipes remotas na Coderockr. São dois fatores, que vou chamar de “Fator Matemática” e “Fator Pessoas”. +O Fator Matemática Atualmente a Coderockr é uma empresa de serviços então, resumidamente, o que entregamos são horas de desenvolvimento. O valor/hora que cobramos precisa ser competitivo com o mercado e também cobrir todos os custos da empresa. + + + + \ No newline at end of file diff --git "a/public/tags/transforma\303\247\303\243o-digital/index.html" "b/public/tags/transforma\303\247\303\243o-digital/index.html" new file mode 100644 index 0000000..11b42d6 --- /dev/null +++ "b/public/tags/transforma\303\247\303\243o-digital/index.html" @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Transformação Digital · Blog Coderockr + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + diff --git "a/public/tags/transforma\303\247\303\243o-digital/index.xml" "b/public/tags/transforma\303\247\303\243o-digital/index.xml" new file mode 100644 index 0000000..2bdb05f --- /dev/null +++ "b/public/tags/transforma\303\247\303\243o-digital/index.xml" @@ -0,0 +1,84 @@ + + + + Transformação Digital on Blog Coderockr + //blog.coderockr.com/tags/transforma%C3%A7%C3%A3o-digital/ + Recent content in Transformação Digital on Blog Coderockr + Hugo -- gohugo.io + pt-br + Fri, 14 Dec 2018 00:00:00 +0000 + + + + + + Mercado de Aplicativos: 4 Tendências para 2019 + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + Fri, 14 Dec 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/mercado-de-aplicativos-4-tendencias-para-2019/ + O mercado de apps está sempre repleto de novidades e para o próximo ano as perspectivas não são diferentes. Esse mercado continuará em expansão, acompanhando a consolidação do crescente uso de celulares e outros dispositivos móveis, como os tablets. Os smartphones, por exemplo, já não são mais acessórios usados apenas para ligações e envio de mensagens. Com o desenvolvimento tecnológico do mercado de aplicativos, esses aparelhos se tornaram presentes em diversas etapas do dia-dia. + + + + I.A. Inteligência Artificial + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Thu, 29 Nov 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/inteligencia-artificial/ + Estamos vivendo atualmente em uma nova era, na idade da inteligência artificial e não há como fugir disso. A grande maioria das pessoas identifica ou já identificou algo relacionado com inteligência artificial em muitas empresas, segundo Brian Krzanich (CEO da Intel), todas as empresas serão afetadas por esta nova tecnologia, caso contrário não conseguirão adaptar-se à nova realidade a que já assistimos. Com o cessar de 2018, muitos especialistas inclinam-se sobre as principais tendências de I. + + + + Presença Digital para as Organizações + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Thu, 18 Oct 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/presenca-digital-para-as-organizacoes/ + Entenda a importância! +O mercado apresenta novas tendências cada vez mais rápido e, com esta realidade, é natural que o seu cliente também esteja atento a essas mudanças e modifique o seu perfil em busca de novas oportunidades que lhe proporcionem maior retorno. +Nesse cenário, as empresas que possuem forte presença digital têm uma excelente vantagem, porque conseguem atender a esse anseio do público com maior facilidade na hora de adquirir um produto ou serviço. + + + + Entenda a Diferença de um Software Customizado e um Software Pronto + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Fri, 10 Aug 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/entenda-a-diferenca-de-um-software-customizado-e-um-software-pronto/ + Um software pode ser desenvolvido para uma área de mercado ou customizado para atender uma necessidade específica de negócio. Neste último caso, o desenvolvimento é adaptado a empresa, compreendendo os desejos de seu cliente e criando áreas específicas para atender 100% a demanda em questão. +Um software pronto “de prateleira” é mais fechado, geralmente desenvolvido de maneira genérica para atender o maior número de situações de negócios possível, utilizando um modelo específico. + + + + Escopo Fechado: Porque Não Optar? + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Tue, 05 Jun 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/escopo-fechado-porque-nao-optar/ + Motivos que afetam o insucesso do seu projeto digital +O mercado de desenvolvimento de soluções digitais têm frequentemente se deparado com vários problemas ao optar por métodos de desenvolvimento de software tradicionais. +Principalmente quando as necessidades do projeto mudam e os desenvolvedores não tem expertise para atender essas mudanças em curto prazo. E acredite, com certeza as necessidades do projeto vão mudar em algum momento, mesmo você afirmando que hoje é somente isso o que quer em seu projeto. + + + + Android x iOS: 6 Pontos Essenciais no Desenvolvimento de Aplicativos + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + Mon, 16 Apr 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/android-x-ios-6-pontos-essenciais-no-desenvolvimento-de-aplicativos/ + O mercado de aplicativos para celulares é um dos mais rentáveis, a maioria das empresas já entendeu que é fundamental ter um bom produto mobile para atender cada vez melhor seus clientes. Isso significa que a demanda por mão de obra qualificada é crescente, como também a busca por uma fábrica de software, que se compromete a longo prazo com o sucesso do seu produto, desde sua criação a manutenção dele, com todas as melhorias e inovações. + + + + 5 Razões para Desenvolver um Software Personalizado para o seu Negócio + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Thu, 08 Mar 2018 00:00:00 +0000 + + //blog.coderockr.com/posts/2018/5-razoes-para-o-desenvolvimento-de-software-para-o-seu-negocio/ + Sua empresa enfrenta problemas relacionados a gestão, lançamentos massivos, cadastros diversos, sofre com a falta de identidade da sua marca, opções de personalização e melhorias escassas, entre outros? A solução pode estar na busca por uma Software House, empresa especializada no desenvolvimento de softwares e aplicativos, que atenda todas as suas necessidades. Veja as vantagens de investir no desenvolvimento de um software próprio: +Atende às necessidades específicas da empresa A principal vantagem de ter um software sob medida é que este foi desenvolvido para atender especialmente às necessidades do seu negócio ou empresa. + + + + \ No newline at end of file diff --git a/themes/coderockr/layouts/_default/single.html b/themes/coderockr/layouts/_default/single.html index 344fff9..fb71625 100644 --- a/themes/coderockr/layouts/_default/single.html +++ b/themes/coderockr/layouts/_default/single.html @@ -22,6 +22,7 @@

{{ end}}

+

by {{ .Params.Author | plainify }}

{{ if .Site.Params.enableToc }} {{ if .TableOfContents }} diff --git a/themes/coderockr/layouts/partials/pagination.html b/themes/coderockr/layouts/partials/pagination.html index 00c1124..300dac6 100644 --- a/themes/coderockr/layouts/partials/pagination.html +++ b/themes/coderockr/layouts/partials/pagination.html @@ -3,14 +3,14 @@ {{ if .Paginator.HasPrev }} - {{ with .Site.Params.newerPosts }}{{ . }}{{ else }}Newer Posts{{ end }} + {{ with .Site.Params.newerPosts }}{{ . }}{{ else }}Posts Novos{{ end }} {{ end }} {{ if .Paginator.HasNext }} - {{ with .Site.Params.olderPosts }}{{ . }}{{ else }}Older Posts{{ end }} + {{ with .Site.Params.olderPosts }}{{ . }}{{ else }}Posts Antigos{{ end }} {{ end }} diff --git a/themes/coderockr/layouts/partials/post-list.html b/themes/coderockr/layouts/partials/post-list.html index cc8b24e..b9423c8 100644 --- a/themes/coderockr/layouts/partials/post-list.html +++ b/themes/coderockr/layouts/partials/post-list.html @@ -11,6 +11,7 @@ {{ if .Site.Params.enableSummary }} {{ if .Site.Params.useDescriptionReplaceSummary }}

{{ .Description | plainify }}

+

{{ .Params.Author | plainify }}

{{ else }}

{{ .Summary | plainify | htmlUnescape }}

{{ end }} diff --git a/themes/coderockr/static/css/style.css b/themes/coderockr/static/css/style.css index 2748d1d..d58157e 100644 --- a/themes/coderockr/static/css/style.css +++ b/themes/coderockr/static/css/style.css @@ -1,5 +1,61 @@ /* Reset */ +@font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_lowplus-webfont.woff2') format('woff2'), + url('../fonts/gobold_lowplus-webfont.woff') format('woff'); + font-weight: 200; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_regular-webfont.woff2') format('woff2'), + url('../fonts/gobold_regular-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_thin-webfont.woff2') format('woff2'), + url('../fonts/gobold_thin-webfont.woff') format('woff'); + font-weight: 300; + font-style: normal; + } + + @font-face { + font-family: 'gobold'; + src: url('../fonts/gobold_uplow-webfont.woff2') format('woff2'), + url('../fonts/gobold_uplow-webfont.woff') format('woff'); + font-weight: 700; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_lt-webfont.woff2') format('woff2'), + url('../fonts/aller_std_lt-webfont.woff') format('woff'); + font-weight: 300; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'), + url('../fonts/aller_std_rg-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + + @font-face { + font-family: 'aller'; + src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'), + url('../fonts/aller_std_rg-webfont.woff') format('woff'); + font-weight: 400; + font-style: normal; + } + html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { border: 0; font-size: 100%; @@ -155,22 +211,25 @@ h2 { } .profile h1 { + font-family: gobold; + text-transform: lowercase; font-weight: 400; letter-spacing: 0px; - font-size: 20px; + font-size: 26px; color: #222; } .profile h2 { font-size: 20px; font-weight: 300; - color: #aaa; + color: #222; margin-top: 10px; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: 'Aller', Helvetica, Arial, sans-serif; font-style: normal; } nav.main-nav { + font-family: 'Aller', Helvetica, Arial, sans-serif; padding: 20px 20px 0; background: #fff; background: rgba(255, 255, 255, .90); @@ -184,7 +243,7 @@ nav.main-nav a { right: 6px; padding: 8px 12px; color: #f1a10a; - font-size: 13px; + font-size: 14px; line-height: 1.35; border-radius: 3px; } @@ -244,14 +303,14 @@ nav.main-nav a.cta { /*Accent color*/ -a, #title, #post-list a:hover, #title:hover { +a, #title, #post-list a:hover, #title:hover, #post-list a:hover .author { text-decoration: none; color: #f1a10a; - color: #5694f1; + color: #f1a10a; } p a { - color: #5694f1; + color: #f1a10a; } @@ -331,11 +390,21 @@ em, i { text-align: center; } +.post header .author { + margin: -20px 0 50px 0; + font-family: "Aller", helvetica, Arial, sans-serif; +} + +.post header .author span { + font-weight: 300; +} + .post h1 { margin-top: 40px; margin-bottom: 20px; color: #222; - font: 300 32px/1.4em "Helvetica Neue", Helvetica, Arial, sans-serif; + font: 300 32px/1.4em "Gobold", Helvetica, Arial, sans-serif; + text-transform: lowercase; } .post h2 { @@ -500,17 +569,24 @@ Post List #post-list a { color: #333; display: block; - font: bold 19px/1.7 "Helvetica Neue", helvetica, Arial, sans-serif; + font: bold 19px/1.7 "Aller", helvetica, Arial, sans-serif; } #post-list .dates { float: right; position: relative; top: 1px; - font: 300 17px/1.8 "Helvetica Neue", helvetica, Arial, sans-serif; + font: 300 17px/1.8 "Aller", helvetica, Arial, sans-serif; color: #bbb; } +#post-list .author { + margin-top: 3px; + font: bold 13px/1.7 "Aller", helvetica, Arial, sans-serif; + color: #f1a10a; +} + + #post-list-footer { border-top: 1px solid #eee; margin-top: 20px; @@ -527,9 +603,9 @@ Post List } #archive-link:hover { - background: #5694f1; + background: #f1a10a; color: #fff; - box-shadow: 0 0 0 1px #5694f1; + box-shadow: 0 0 0 1px #f1a10a; } #archive-link span { @@ -548,7 +624,7 @@ Post List #header { } #wrapper.post { - max-width: 980px; + max-width: 800px; } .post { margin: auto; @@ -642,13 +718,13 @@ Post List right: -4px; } -#post-nav span.prev:hover { +/* #post-nav span.prev:hover { left: -3px; } #post-nav span.next:hover { right: -3px; -} +} */ /* Archive */ @@ -686,7 +762,7 @@ h2.month { } #archive-list li a:hover, #archive-list li:hover .dates { - color: #5694f1; + color: #f1a10a; } #post-meta img.avatar { @@ -712,7 +788,7 @@ h2.month { #post-list.archive.readmore a { font: 400 16px/1.6 "Helvetica Neue", helvetica, Arial, sans-serif; - color: #5694f1; + color: #f1a10a; } #post-list.archive.readmore a:hover { @@ -796,6 +872,10 @@ h2.month { font-size: 16px; } +.archive h3 { + font-family: 'Aller'; +} + .archive .post-item { padding: 10px 0px; overflow-x: hidden; @@ -823,11 +903,11 @@ h2.month { } .archive .post-item:hover { - color: #5694f1; + color: #f1a10a; transition: 0.3s ease-out; } .archive .post-item:hover .post-link { - color: #5694f1; + color: #f1a10a; } .fa.fa-heart:hover { @@ -851,7 +931,7 @@ a.symbol { } a.symbol:hover { - color: #BCD4DA; + color: #222; } @@ -930,5 +1010,5 @@ a.symbol:hover { font-size: .9em; } .page-tags ul li a:hover { - color: #5694f1; + color: #f1a10a; } diff --git a/themes/coderockr/static/fonts/aller_std_bd-webfont.woff b/themes/coderockr/static/fonts/aller_std_bd-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..c183c6e2868a9950cbe5a7a9771692524f081ee5 GIT binary patch literal 39476 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/aller_std_lt-webfont.woff2 b/themes/coderockr/static/fonts/aller_std_lt-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..1df16d5d666e6affd01a4515263ae4e48dcb1f11 GIT binary patch literal 29064 zcmV)DK*7IvPew8T0RR910C9)_6951J0ek!a0C5-q0RR9100000000000000000000 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 LmfZ|10{{R3(#tYM literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/aller_std_rg-webfont.woff b/themes/coderockr/static/fonts/aller_std_rg-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..5a74aead3f2bee84a9bee73cbb997b894c8aa6dc GIT binary patch literal 41768 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

VM1!B+-++{AfqV5tGFV&xy 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%0Dk&i%7u(!@HJPMW@}FlnS#e10!?AzSG$I)7qN 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 r;an~S*If+k_5T^*BHTa)T#hhqA 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/glyphicons-halflings-regular.eot b/themes/coderockr/static/fonts/glyphicons-halflings-regular.eot new file mode 100755 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/coderockr/static/fonts/glyphicons-halflings-regular.ttf b/themes/coderockr/static/fonts/glyphicons-halflings-regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/glyphicons-halflings-regular.woff2 b/themes/coderockr/static/fonts/glyphicons-halflings-regular.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/gobold_lowplus-webfont.woff b/themes/coderockr/static/fonts/gobold_lowplus-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..1ade33ec4c62ab99addfd00792b8a9fa29d5dde9 GIT binary patch literal 20696 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μ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 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/gobold_regular-webfont.woff b/themes/coderockr/static/fonts/gobold_regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..5b6e2e69ebac6df174fab813b3b81d1404354b0b GIT binary patch literal 19348 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 PQ(OQ500CFCYzY7WB=$-G literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/gobold_regular-webfont.woff2 b/themes/coderockr/static/fonts/gobold_regular-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..e3a238d948e74ba3f1a93bd59929200ffedd8a02 GIT binary patch literal 14700 zcmV-yIg`eBPew8T0RR9106A;`6951J0Gz}C066^s0U4SA00000000000000000000 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 ZA_wh1D~S0QF3Vr>00001SF>$2008gf^JM@4 literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/gobold_thin-webfont.woff2 b/themes/coderockr/static/fonts/gobold_thin-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..2d0b137623e929791ac554dc1fe8a5dd9b7815fc GIT binary patch literal 15028 zcmV;lI!ncOPew8T0RR9106Me)6951J0G*fs06Inh0U4SA00000000000000000000 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 K*W+)V0002;Hwc&j literal 0 HcmV?d00001 diff --git a/themes/coderockr/static/fonts/gobold_uplow-webfont.woff b/themes/coderockr/static/fonts/gobold_uplow-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..148714f9ed8d8f11edd54493a35bdebae31e2f2f GIT binary patch literal 20356 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

1+9XJGOY^=l~Oz|=t(4g;x2-)mQJ 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 literal 0 HcmV?d00001 From ee862b9c6eea5c32ed7b4dd0e93626299d162cd9 Mon Sep 17 00:00:00 2001 From: Raony Marcondes Date: Tue, 12 Feb 2019 15:33:54 -0200 Subject: [PATCH 04/10] Add publish.sh --- publish.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 publish.sh diff --git a/publish.sh b/publish.sh new file mode 100755 index 0000000..af496b1 --- /dev/null +++ b/publish.sh @@ -0,0 +1,5 @@ +#!/bin/sh +hugo +git subtree split --prefix public -b master # create a local master branch containing the splitted output folder +git push -f origin master:master # force the push of the master branch to the remote master branch at origin +git branch -D master # delete the local master because you will need it: ref From 58c6e0de0d889e27c6466d3131d9ee2e7c72c1dd Mon Sep 17 00:00:00 2001 From: Raony Marcondes Date: Tue, 12 Feb 2019 16:10:56 -0200 Subject: [PATCH 05/10] Ajuste na baseUrl e remove o Disqus do /about --- config.toml | 2 +- themes/coderockr/layouts/section/about.html | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/config.toml b/config.toml index c76c1c3..9214fa9 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,5 @@ # Site settings -baseurl = "//blog.coderockr.com/" +baseurl = "https://blog.coderockr.com/" languageCode = "pt-br" title = "Blog Coderockr" theme = "coderockr" diff --git a/themes/coderockr/layouts/section/about.html b/themes/coderockr/layouts/section/about.html index c01cd42..c4b3f15 100644 --- a/themes/coderockr/layouts/section/about.html +++ b/themes/coderockr/layouts/section/about.html @@ -5,13 +5,6 @@

{{ .Content }} - - {{ if .Site.Params.enableDisqus }} - {{ if ne .Params.disabledisqus "true" }} - {{ partial "disqus.html" . }} - {{ end }} - {{ end }} - {{ partial "footer.html" . }}
From 4d2e1ccae5810f41e224c16eab603da3a4779b0e Mon Sep 17 00:00:00 2001 From: Raony Marcondes Date: Tue, 12 Feb 2019 16:25:25 -0200 Subject: [PATCH 06/10] Ajustes no publish --- public/404.html | 18 +- public/about/index.html | 48 +-- public/about/index.xml | 4 +- public/categories/carreira/index.html | 52 +-- public/categories/carreira/index.xml | 52 +-- .../categories/coderockr-culture/index.html | 88 ++--- public/categories/coderockr-culture/index.xml | 124 +++---- public/categories/desenvolvimento/index.html | 136 ++++---- public/categories/desenvolvimento/index.xml | 220 ++++++------ public/categories/index.html | 36 +- public/categories/index.xml | 20 +- public/categories/mercado/index.html | 62 ++-- public/categories/mercado/index.xml | 72 ++-- public/index.html | 46 +-- public/index.xml | 324 +++++++++--------- public/page/1/index.html | 2 +- public/page/2/index.html | 46 +-- public/page/3/index.html | 46 +-- public/page/4/index.html | 46 +-- public/page/5/index.html | 46 +-- public/page/6/index.html | 46 +-- public/page/7/index.html | 46 +-- public/page/8/index.html | 46 +-- .../2013/carreira-e-nao-emprego/index.html | 28 +- .../index.html | 28 +- .../index.html | 28 +- .../index.html | 32 +- public/posts/2015/coderockr-way/index.html | 30 +- .../index.html | 30 +- .../2015/o-proposito-da-coderockr/index.html | 28 +- .../index.html | 32 +- .../index.html | 28 +- .../2015/se-eu-soubesse-aos-18/index.html | 28 +- .../index.html | 30 +- .../index.html" | 30 +- .../a-importancia-do-proposito/index.html | 28 +- .../index.html | 28 +- .../index.html | 32 +- .../index.html | 28 +- .../index.html | 36 +- .../index.html | 28 +- .../conhecendo-o-basico-do-redux/index.html | 36 +- .../index.html | 32 +- .../doctrine-2-contribution-touch/index.html | 32 +- .../2016/dx-developer-experience/index.html | 34 +- .../index.html | 34 +- .../index.html | 32 +- .../gerando-documentacao-de-apis/index.html | 32 +- .../index.html | 36 +- .../integrando-mixpanel-com-react/index.html | 34 +- .../index.html | 36 +- .../index.html | 34 +- .../index.html | 28 +- .../index.html | 32 +- .../index.html | 30 +- public/posts/2016/por-que-go/index.html | 32 +- .../2016/por-que-ir-a-eventos/index.html | 28 +- .../index.html | 36 +- .../index.html | 36 +- .../index.html | 34 +- .../index.html | 34 +- .../index.html | 30 +- .../the-code-ownership-feeling/index.html | 30 +- .../2016/tratamento-de-erros-em-go/index.html | 32 +- .../index.html | 32 +- .../index.html | 34 +- .../index.html | 34 +- .../index.html | 34 +- .../index.html | 28 +- .../2017/culture-code-da-coderockr/index.html | 28 +- .../index.html | 32 +- .../2017/dois-anos-de-coderockr/index.html | 28 +- .../index.html | 32 +- .../index.html | 34 +- .../index.html | 36 +- .../index.html | 34 +- .../index.html | 34 +- .../index.html | 34 +- .../index.html | 30 +- .../index.html | 30 +- .../index.html | 30 +- .../index.html | 28 +- .../index.html | 30 +- .../index.html | 38 +- .../index.html | 32 +- .../index.html | 30 +- .../index.html | 32 +- .../index.html | 32 +- .../index.html | 32 +- .../index.html | 32 +- .../index.html | 32 +- .../index.html | 26 +- .../index.html | 28 +- .../index.html | 32 +- .../index.html | 34 +- .../index.html | 28 +- .../index.html | 28 +- .../2018/inteligencia-artificial/index.html | 30 +- .../index.html | 28 +- .../index.html | 28 +- .../index.html | 32 +- .../index.html | 32 +- .../index.html | 32 +- public/posts/index.html | 188 +++++----- public/posts/index.xml | 324 +++++++++--------- public/sitemap.xml | 234 ++++++------- public/tags/api/index.html | 36 +- public/tags/api/index.xml | 20 +- public/tags/arquitetura/index.html | 34 +- public/tags/arquitetura/index.xml | 16 +- public/tags/aws/index.html | 32 +- public/tags/aws/index.xml | 12 +- public/tags/carreira/index.html | 66 ++-- public/tags/carreira/index.xml | 80 ++--- public/tags/clean-code/index.html | 36 +- public/tags/clean-code/index.xml | 20 +- public/tags/criptografia/index.html | 32 +- public/tags/criptografia/index.xml | 12 +- public/tags/d3/index.html | 30 +- public/tags/d3/index.xml | 8 +- public/tags/desenvolvimento/index.html | 138 ++++---- public/tags/desenvolvimento/index.xml | 224 ++++++------ public/tags/doctrine/index.html | 30 +- public/tags/doctrine/index.xml | 8 +- public/tags/ferramentas/index.html | 90 ++--- public/tags/ferramentas/index.xml | 128 +++---- .../tags/gerenciamento-de-projetos/index.html | 32 +- .../tags/gerenciamento-de-projetos/index.xml | 12 +- public/tags/github/index.html | 42 +-- public/tags/github/index.xml | 32 +- public/tags/gitlab/index.html | 30 +- public/tags/gitlab/index.xml | 8 +- public/tags/go/index.html | 34 +- public/tags/go/index.xml | 16 +- public/tags/i.a./index.html | 30 +- public/tags/i.a./index.xml | 8 +- public/tags/index.html | 84 ++--- public/tags/index.xml | 116 +++---- public/tags/js/index.html | 58 ++-- public/tags/js/index.xml | 64 ++-- public/tags/kubernetes/index.html | 36 +- public/tags/kubernetes/index.xml | 20 +- public/tags/metodologias/index.html | 42 +-- public/tags/metodologias/index.xml | 32 +- public/tags/mobile/index.html | 32 +- public/tags/mobile/index.xml | 12 +- public/tags/php/index.html | 38 +- public/tags/php/index.xml | 24 +- .../index.html" | 52 +-- .../index.xml" | 52 +-- public/tags/react-native/index.html | 30 +- public/tags/react-native/index.xml | 8 +- public/tags/react/index.html | 56 +-- public/tags/react/index.xml | 60 ++-- public/tags/redux/index.html | 36 +- public/tags/redux/index.xml | 20 +- public/tags/software-security/index.html | 32 +- public/tags/software-security/index.xml | 12 +- public/tags/tdd/index.html | 34 +- public/tags/tdd/index.xml | 16 +- public/tags/trabalho-remoto/index.html | 30 +- public/tags/trabalho-remoto/index.xml | 8 +- .../index.html" | 42 +-- .../index.xml" | 32 +- publish.sh => publish | 3 + 165 files changed, 3619 insertions(+), 3636 deletions(-) rename publish.sh => publish (90%) diff --git a/public/404.html b/public/404.html index e56dfa5..9fa40ab 100644 --- a/public/404.html +++ b/public/404.html @@ -17,7 +17,7 @@ - + @@ -26,12 +26,12 @@ 404 Page not found · Blog Coderockr - - - + + + - + @@ -43,11 +43,11 @@