Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages


2017_brl

Page Not Found

Sorry, but the page you were trying to view does not exist — perhaps you can try searching for it below.


2017_brl

About Me

I am a recent graduate student of the Master of Science in Robotics program from the Robotics Institute, Carnegie Mellon University. At CMU, I worked with Prof. Maxim Likhachev at the Search Based Planning Lab. My research at CMU was focused on developing a high precision pose estimation (3D object detection) algorithm called PERCH 2.0, that can be used for robotic manipulation in complex environments. PERCH 2.0 achieves high accuracy and low training requirement through a combination of deliberative and discriminative perception techniques.

In the past 6 years, I have worked with multiple academic advisors, startup founders and managers to further the research at their labs, help turn tech ideas into products at their startups or enhance the status quo of projects being undertaken at their company. Through these engagements, I have acquired a diverse skill set that spans multiple programming languages, platforms and devices.

At present, I am a Lead Robotics Engineer at Nimble AI, a San Francisco based startup focused on warehouse automation through robotic manipulation. As a part of the robotics and perception teams, I have led projects to research, design and deploy algorithms that are accurate (for high manipulation success), fast (for a high task throughput) and scalable (for rapid deployment). On the perception front, I worked on the introduction of instance segmentation and pose estimation to the Nimble stack. On the robotics front, I led large scale projects to introduce and deploy fast environment-based motion planning across the Nimble fleet. More recently, I led a project to re-design the task creation and coordination stack for higher scalability and modularity. My projects over the last year, culminated in the successful addition of more robots at a Nimble customer site, making it Nimble’s largest deployment so far.


2017_brl

Archive Layout with Content

A variety of common markup showing how the theme styles them.

Header one

Header two

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list
Header1Header2Header3
cell1cell2cell3
cell4cell5cell6
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


2017_brl

Page Not Found

Sorry, but the page you were trying to view does not exist — perhaps you can try searching for it below.


2017_brl

About Me

I am a recent graduate student of the Master of Science in Robotics program from the Robotics Institute, Carnegie Mellon University. At CMU, I worked with Prof. Maxim Likhachev at the Search Based Planning Lab. My research at CMU was focused on developing a high precision pose estimation (3D object detection) algorithm called PERCH 2.0, that can be used for robotic manipulation in complex environments. PERCH 2.0 achieves high accuracy and low training requirement through a combination of deliberative and discriminative perception techniques.

In the past 6 years, I have worked with multiple academic advisors, startup founders and managers to further the research at their labs, help turn tech ideas into products at their startups or enhance the status quo of projects being undertaken at their company. Through these engagements, I have acquired a diverse skill set that spans multiple programming languages, platforms and devices.

At present, I am a Lead Robotics Engineer at Nimble AI, a San Francisco based startup focused on warehouse automation through robotic manipulation. As a part of the robotics and perception teams, I have led projects to research, design and deploy algorithms that are accurate (for high manipulation success), fast (for a high task throughput) and scalable (for rapid deployment). On the perception front, I worked on the introduction of instance segmentation and pose estimation to the Nimble stack. On the robotics front, I led large scale projects to introduce and deploy fast environment-based motion planning across the Nimble fleet. More recently, I led a project to re-design the task creation and coordination stack for higher scalability and modularity. My projects over the last year, culminated in the successful addition of more robots at a Nimble customer site, making it Nimble’s largest deployment so far.


2017_brl

Archive Layout with Content
A variety of common markup showing how the theme styles them. # Header one ## Header two ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. {: .notice} ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. {% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %} </td> </tr> </div>

2017_brl

Posts by Category
{% include base_path %} {% include group-by-array collection=site.posts field="categories" %} {% for category in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ category }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Posts by Collection
{% include base_path %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Resume
{% include base_path %}

2017_brl


/* * Minimal Mistakes Jekyll Theme * * - Michael Rose * - mademistakes.com * - https://twitter.com/mmistakes * */ @import "vendor/breakpoint/breakpoint"; // media query mixins @import "variables"; @import "mixins"; @import "vendor/susy/susy"; @import "reset"; @import "base"; @import "utilities"; @import "animations"; @import "tables"; @import "buttons"; @import "notices"; @import "masthead"; @import "navigation"; @import "footer"; @import "syntax"; @import "forms"; @import "page"; @import "archive"; @import "sidebar"; @import "vendor/font-awesome/fontawesome"; @import "vendor/font-awesome/solid"; @import "vendor/font-awesome/brands"; @import "vendor/magnific-popup/magnific-popup"; @import "print"; ul.publications-nav, ul.patents-nav { list-style-type: none; margin: 0; padding: 0; overflow: hidden; display: block; } ul.horizontal-nav { list-style-type: none; margin: 0; padding: 0; overflow: hidden; display: block; } ul.horizontal-nav>li { float: left; } ul.horizontal-nav>li>a { display: block; text-align: center; padding: 16px; text-decoration: none; } ul.horizontal-nav>li.active>a, ul.horizontal-nav>li:hover>a, ul.horizontal-nav>li>a:hover { border-bottom: 3px solid #d3d3d3; text-decoration: none;}

2017_brl

Markdown
## Locations of key files/directories * Basic config options: _config.yml * Top navigation bar config: _data/navigation.yml * Single pages: _pages/ * Collections of pages are .md or .html files in: * _publications/ * _portfolio/ * _posts/ * _teaching/ * _talks/ * Footer: _includes/footer.html * Static files (like PDFs): /files/ * Profile image (can set in _config.yml): images/profile.png ## Tips and hints * Name a file ".md" to have it render in markdown, name it ".html" to render in HTML. * Go to the [commit list](https://github.com/academicpages/academicpages.github.io/commits/master) (on your repo) to find the last version Github built with Jekyll. * Green check: successful build * Orange circle: building * Red X: error * No icon: not built ## Resources * [Liquid syntax guide](https://shopify.github.io/liquid/tags/control-flow/) ## Markdown guide ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables ### Table 1 | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | ### Table 2 | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. {: .notice} ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. </td> </tr> </div>

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'miscellaneous' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Page not in menu
This is a page not in the menu. You can use markdown in this page. Heading 1 ====== Heading 2 ======

2017_brl

Page Archive
{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

2017_brl

Patents
{% include base_path %}
    {% assign i = 1 %} {% for post in site.patents %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'perception' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Publications
{% if author.googlescholar %} You can also find my articles on my Google Scholar profile. {% endif %} {% include base_path %}
    {% assign i = 1 %} {% assign mid = site.publications | sort: 'date' %} {% assign publications = mid | reverse %} {% for post in publications %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
    {{ post.conference }}
    site / pdf
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.type == 'research' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'robotics' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% assign projects = site.projects | sort: 'order' %} {% for post in projects %} {% if post.category == 'software' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.


2017_brl

Talks and Presentations

A short list of recent talks or presentations given by me which were either impactful or a great learning experience for me.

{% if site.talkmap_link == true %}

See a map of all the places I've given a talk!

{% endif %} {% assign mid = site.talks | sort: 'date' %} {% assign talks = mid | reverse %} {% for post in talks %} {% include archive-single-talk.html %} {% endfor %}

2017_brl

Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

2017_brl

Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

2017_brl

Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

2017_brl


@import "jekyll-theme-primer";

2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl


{"/about/":"https://adityaagarwal.in/","/about.html":"https://adityaagarwal.in/","/resume":"https://adityaagarwal.in/cv/","/md/":"https://adityaagarwal.in/markdown/","/markdown.html":"https://adityaagarwal.in/markdown/","/nmp/":"https://adityaagarwal.in/non-menu-page/","/nmp.html":"https://adityaagarwal.in/non-menu-page/","/wordpress/blog-posts/":"https://adityaagarwal.in/year-archive/"}

2017_brl

Jupyter notebook markdown generator
# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

2017_brl


{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

2017_brl


Sitemap: {{ "sitemap.xml" | absolute_url }}

2017_brl


{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll<link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "category", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}{{ post.content | strip | xml_escape }}{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% if post.excerpt and post.excerpt != empty %}{{ post.excerpt | strip_html | normalize_whitespace | xml_escape }}{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}</entry>{% endfor %}</feed>

2017_brl

Posts by Category

2017_brl

Posts by Collection

patents


2017_brl

Systems And Methods For Teleoperated Robot (Non-provisional Filed)

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

projects

Feb 2019 - June 2020

2017_brl

A Discriminative-Deliberative Framework for 6-Dof Pose Estimation

Location: Search Based Planning Lab, RI, CMU

Learning based discriminative 6-Dof pose estimation methods require large datasets with annotated ground truth poses. Deliberative search based perception methods like PERCH 2.0 make assumptions that limit their scalibility in 6-Dof pose estimation scenarios. In this work, we combine the two together, building on their strengths and addressing the shortcomings of each. Our MaskRCNN and PERCH 2.0 based framework achieves better accuracy than state-of-the-art purely discriminative methods and requires training only for instance segmentation.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub

Skills : C++, CUDA, Python, ROS, PCL, OpenCV, OpenGL, MPI, PyTorch, Unity

Sep 2019 - June 2020

2017_brl

PERCH 2.0 : Large Scale Deliberative Perception on GPU

Location: Search Based Planning Lab, RI, CMU

Perception Via Search (PERCH) is a class of algorithms that search for the best explanation of the observed scene in a space of possible rendered scenes, thus accounting for occlusion. However these algorithms are slow, owing to their deliberative nature. In this work we redesign these algorithms in order to exploit their inherent parallel nature better on a GPU. The redesigned algorithm, PERCH 2.0, is upto a ~100X faster that its predecessor PERCH.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub / Skills : CUDA, OpenMP, C++, Python, MPI

March 2019 - May 2019

2017_brl

Visual Learning for Jenga Tower Stability Prediction

Location: RI, CMU

Deep neural networks are commonly used for object detection and classification. In this work, we explore if we can enable networks to learn physical intuition for predicting stability of a Jenga tower on removal of individual tower blocks. A Mask-RCNN + Inception-V4 based pipeline was created for this purpose.

Links : Presentation / Code : GitHub / Skills : Python, PyTorch, TensorFlow, MuJoCo

April 2014 - May 2015

2017_brl

Perception for Estimating Weed Density and Controlling Herbicide Use

Location: IIT Kharagpur, Kharagpur, India

Optimal application of herbicide for weed eradication is both cost effective and good for the environment. In this project, I designed a 6 camera and embedded controller based system that varies herbicide output based on weed density estimation from color images, cutting chemical usage by 79.5% & achieving weeding efficiency of 90.26%

Paper : Current Science 2018 / Media :

Skills : C++, OpenCV, Arduino

Feb 2017 - Jun 2017

2017_brl

Computer Vision Based Retail Checkout System

Location: Bangalore, India

SaturnCart is AI that accompanies the user as he shops, verifying his cart-items in real-time, surfacing offers based on cart items, and providing valuable recommendations. In this project, we designed a prototype consisting of a mobile app (which is placed on the shopping cart), linked to a computer vision system on the cloud and a weight based embedded system (under the shopping cart).

Videos : Clip 1

Skills : OpenCV, Arduino, TensorFlow, React Native

May 2014 - July 2014

2017_brl

Visual Odometry in Smoke Occluded Environments

Location: AIR Lab, RI, CMU

Presence of smoke in the environment leads to loss of color contrast, precision and saturation and hence visual odometry algorithms are unable to find distinguishing features in the image. In this project, I developed an integrated real-time image dehazing and visual odometry approach for autonomous aerial navigation on a smoke degraded shipboard which was tested on a real smoke filled shipboard dataset.

Links : Report / Videos : Clip 1

Skills : C++, OpenCV, ROS

Feb 2017 - May 2017

2017_brl

AirCare - A Voice Drive Customer Care Solution

Location: Bangalore, India

AirCare is a voice based customer care solution for Airtel customers. It is designed to replace conventional IVR systems that can get extremely complicated and frustrating for customers. AirCare consisted of an Alexa app talking to customers over a voice call or through the AirCare mobile app. AirCare won the 2nd Prize at Airtel Whatthehack 2017.

Links : Presentation / Code : GitHub / Skills : Python, Alexa, Android

June 2019 - June 2020

2017_brl

Pose Estimation of Moving Objects on a Conveyor Belt

Location: Search Based Planning Lab, RI, CMU

PR2 is a full body mobile manipulator (or humanoid) that consists of a 7-DoF arm. In this project, I implemented an ICP based pose estimation strategy that works with a search-based planner to grasp moving objects of a conveyor belt. I improved the pose estimation strategy by deploying PERCH 2.0 for this task enabling spatially consistent accuracy across the conveyor length.

Papers : RSS 2020, Master’s Thesis / Videos : Clip 1, Clip 2 / Code : GitHub / Skills : Python, ROS, PCL

June 2016 - July 2016

2017_brl

Estimato - An Automated Checkout Solution for Fruits/Vegetables

Location: Bangalore, India

Standardization in weights and packaging of items has saved us an incredible amount of effort and time. But this practice of manually weighing and calculating price is still followed while buying items like fruits and vegetables. Estimato is designed to replace the human at the counter with a computer that determines labels the items using a camera and simultaneously calculates the weight, thus generating the overall bill. Estimato was shortlisted for the finals of a hackathon organized by the Government of Rajasthan, India.

Videos : Clip 1 / Code : GitHub / Skills : Python, Android, React Native

Dec 2016 - May 2017

2017_brl

Kontiki Headset - A Secure Computing Platform

Location: Bangalore, India

Kontiki Headset is a mixed reality headset for secure file sharing, messaging and video streaming that uses iris recognition to authenticate users and encrypt data. The proof-of-concept prototype consisted of a mobile device acting as the main OS, a Raspberry Pi with integrated camera, IR LEDs and proximity sensor sensor for iris recognition. User’s personal mobile device acted as a remote controller for controlling mouse and keyboard on the headset. All devices communicated over Wi-Fi. I worked on assembling the prototype from scratch, writing the Raspberry Pi code and the Android code for both mobile devices.

Videos : Demo / Skills : C++, Python, Android, AR/VR

Oct 2019 - Dec 2019

2017_brl

Improved MR-MHA* using Conditional Variational Auto Encoders

Location: RI, CMU

Developed a combined learning and search based planning method that reduces planning time by using prior experiences learnt through CVAEs. The planner used (MR-MHA*) exploits loose coupling between high dimensional state representations such as between the base and arm of a mobile manipulator and CVAEs are used to better exploit this loose coupling based on prior experiences.

Links : Report, Presentation / Videos : Clip 1 / Skills : Python, C++, ROS, Planning

Feb 2019 - Oct 2019

2017_brl

Perception and Grasping for Crate Opening on RoMaN

Location: Search Based Planning Lab, RI, CMU

RoMaN is a mobile manipulation platform developed as part of the RCTA project which is a collaboration between several universities, ARL, JPL and GD. In this work, I deployed perception via search for crate detection on RoMaN. We demonstrated higher accuracy as compared to pure learning based methods and demoed the full pipeline of pose estimation followed by crate opening at NREC. The demo was attended by eminent defense personnel.

Papers : SPIE / Videos : Clip 1, Clip 2 / Media : / Skills : C++, ROS, PCL, OpenCV, MPI

June 2013 - May 2015

2017_brl

Evolutionary Techniques for Test Scheduling in 2D/3D Circuits

Location: IIT Kharagpur

Modern chips consist of 100s of cores varying in size and complexity. After manufacturing of the chip, all cores need to be tested under various constraints as fast as possible. This problem is amplified further in 3D ICs. In this work, we explore if evolutionary algorithms such as Particle Swarm Optimization can be used to schedule testing the cores in parallel and minimize test time without violating constraints. We show an improvement of 51% over the SOTA.

Papers : M.Tech Dissertation, ATS 2015, VTS 2015, VDAT 2014 / Skills : C++, Digital Circuits

March 2017 - July 2017

2017_brl

TheraKonnect - An Online Therapy Platform

Location: Bangalore, India

TheraKonnect is a dedicated cloud based software for starting and scaling an online therapy clinic. With it, therapists can easily go online and extend services to clients not in their immediate locality. It handles all aspects of communication surrounding a therapy session and has an interactive video conferencing system to help with therapy for children and individuals with special needs.

Links : Product Website, Presentation / Media :

Skills : PHP, CodeIgniter

Feb 2017 - May 2017

2017_brl

VoicePay - A Voice Drive Payment Solution

Location: Bangalore, India

User Experience is changing everyday and as technology and processing becomes cheap, conversational interaction with users has become the next big UX idea for mobile applications. Voice Pay enables banking using conversational interaction on your smartphone and Alexa devices. VoicePay finished second in ICICI Appathon 2017 (winning INR 7.5 Lakhs) that had over 3000 applications

Links : Presentation / Videos : Clip 1 / Code : GitHub / Media :

Skills : Python, Alexa, Android

Sept 2019 - Present

2017_brl

Full Body Mobile Manipulation on Walker

Location: Search Based Planning Lab, RI, CMU

Walker is a full body mobile manipulator (or humanoid) developed by UBTech that consists of a 3-DoF mobile base and a 7-DoF arm. In this project, I co-wrote the software stack for the entire robot, comprising of planners (arm and base), state machines, controllers and perception modules enabling it to navigate indoors and fetch objects for the user. The capabilities of the robot were demonstrated to over 50 people as part of a continuous demo day in July 2019.

Videos : Clip 1 / Code : GitHub / Skills : Python, ROS, PCL

publications


2017_brl

Particle Swarm Optimization guided multi-frequency power-aware System-on-Chip test scheduling using window-based peak power model

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Visual Odometry in Smoke Occluded Environments

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Gait Cycle Analysis and Inconsistency Detection using Single - Axis Accelerometer

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Testing of 3D-Stacked ICs With Hard and Soft Dies - A Particle Swarm Optimization Based Approach

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Scheduling and Test Architecture Optimization of 3D Stacked-ICs Under Various Hardware and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Infrastructure Development and Test Scheduling of 3D-Stacked ICs under Re-source and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

On-the-go position sensing and controller predicated contact-type weed eradicator

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-Time Planning and Re-planning for Real-time Grasping Objects off a Conveyor

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Toward fieldable human-scale mobile manipulation using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality GPU-based Deliberative Perception for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

PERCH 2.0 : Fast and Accurate GPU-based Perception via Search for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-time Planning and Replanning for Real-time Grasping Objects off a Conveyor Belt

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality, GPU-based, Deliberative, Object-Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Human-Scale Mobile Manipulation Using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

talks


2017_brl

Aerial Robotics Kharagpur

2017_brl

Impact of Using IJTAG for Complex Chip Designs

2017_brl

Virdian-ESpark Pitch Contest

2017_brl

McGinnis Venture Competition Finals

2017_brl

CMU Master's Thesis Talk

teaching


2017_brl

Teaching experience 1

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3


2017_brl

Teaching experience 2

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3


2017_brl

Resume

2017_brl


a:focus{outline:thin dotted #f89406;outline:5px auto #f89406;outline-offset:-2px}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}html{box-sizing:border-box;background-color:#fff;font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media (min-width: 48em){html{font-size:18px}}body{margin:0}::-moz-selection{color:#fff;background:#000}::selection{color:#fff;background:#000}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}a{color:#52adc8}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}html{position:relative;min-height:100%}body{margin:0;padding:0;padding-bottom:9em;color:#494e52;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;line-height:1.5}body.overflow--hidden{overflow:hidden}h1,h2,h3,h4,h5,h6{margin:2em 0 0.5em;line-height:1.2;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-weight:bold}h1{margin-top:0;font-size:23px}h2{font-size:1.25em}h3{font-size:16px}h4{font-size:.75em}h5{font-size:.75em}h6{font-size:.75em}small,.small{font-size:.75em}p{margin-bottom:1.3em}u,ins{text-decoration:none;border-bottom:1px solid #494e52}u a,ins a{color:inherit}del a{color:inherit}p,pre,blockquote,ul,ol,dl,figure,table,fieldset{orphans:3;widows:3}abbr[title],abbr[data-original-title]{text-decoration:none;cursor:help;border-bottom:1px dotted #494e52}blockquote{margin:2em 1em 2em 0;padding-left:1em;padding-right:1em;font-style:italic;border-left:0.25em solid #7a8288}blockquote cite{font-style:italic}blockquote cite:before{content:"\2014";padding-right:5px}a:hover,a:active{outline:0}tt,code,kbd,samp,pre{font-family:Monaco,Consolas,"Lucida Console",monospace}pre{overflow-x:auto}p>code,a>code,li>code,figcaption>code,td>code{padding-top:0.1rem;padding-bottom:0.1rem;font-size:.75em;background:#fafafa;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}p>code:before,p>code:after,a>code:before,a>code:after,li>code:before,li>code:after,figcaption>code:before,figcaption>code:after,td>code:before,td>code:after{letter-spacing:-0.2em;content:"\00a0"}hr{display:block;margin:1em 0;border:0;border-top:1px solid #f2f3f3}ul li,ol li{margin-bottom:0.5em}li ul,li ol{margin-top:0.5em}figure{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;flex-wrap:wrap;margin:2em 0}figure img,figure iframe,figure .fluid-width-video-wrapper{margin-bottom:1em}figure img{width:100%;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figure>a{display:block}@media (min-width: 37.5em){figure.half>a,figure.half>img{width:calc(50% - 0.5em)}}figure.half figcaption{width:100%}@media (min-width: 37.5em){figure.third>a,figure.third>img{width:calc(33.3333% - 0.5em)}}figure.third figcaption{width:100%}figcaption{margin-bottom:0.5em;color:#777a7d;font-family:Georgia,Times,serif;font-size:.75em}figcaption a{color:inherit;text-decoration:none;border-bottom:1px solid #bdc1c4;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figcaption a:hover{color:#000;border-bottom-color:#000}svg:not(:root){overflow:hidden}nav ul{margin:0;padding:0}nav li{list-style:none}nav a{text-decoration:none}nav ul li,nav ol li{margin-bottom:0}nav li ul,nav li ol{margin-top:0}b,i,strong,em,blockquote,p,q,span,figure,img,h1,h2,header,input,a,tr,td,form button,input[type="submit"],.btn,#goog-wm-sb,.highlight,.archive__item-teaser{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.hidden{display:none;visibility:hidden}.load{display:none}.transparent{opacity:0}.visually-hidden,.screen-reader-text,.screen-reader-text span,.screen-reader-shortcut{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);height:1px !important;width:1px !important;border:0 !important;overflow:hidden}body:hover .visually-hidden a,body:hover .visually-hidden input,body:hover .visually-hidden button{display:none !important}.screen-reader-text:focus,.screen-reader-shortcut:focus{clip:auto !important;height:auto !important;width:auto !important;display:block;font-size:1em;font-weight:bold;padding:15px 23px 14px;background:#fff;z-index:100000;text-decoration:none;box-shadow:0 0 2px 2px rgba(0,0,0,0.6)}.skip-link{position:fixed;z-index:20;margin:0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;white-space:nowrap}.skip-link li{height:0;width:0;list-style:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.cf{clear:both}.wrapper{max-width:925px;margin-left:auto;margin-right:auto}.wrapper:after{content:" ";display:block;clear:both}.align-left{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-left{float:left;margin-right:1em}}.align-right{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-right{float:right;margin-left:1em}}.align-center{display:block;margin-left:auto;margin-right:auto}@media (min-width: 57.8125em){.full{margin-right:-19.4915254237% !important}}.icon{display:inline-block;fill:currentColor;width:1em;height:1.1em;line-height:1;position:relative;top:-0.1em;vertical-align:middle}.social-icons .fa{color:#000}.social-icons .fa-behance,.social-icons .fa-behance-square{color:#1769FF}.social-icons .fa-dribbble{color:#ea4c89}.social-icons .fa-facebook,.social-icons .fa-facebook-square{color:#3b5998}.social-icons .fa-flickr{color:#ff0084}.social-icons .fa-foursquare{color:#0072b1}.social-icons .fa-github,.social-icons .fa-github-alt,.social-icons .fa-github-square{color:#171516}.social-icons .fa-google-plus,.social-icons .fa-google-plus-square{color:#dd4b39}.social-icons .fa-instagram{color:#517fa4}.social-icons .fa-lastfm,.social-icons .fa-lastfm-square{color:#d51007}.social-icons .fa-linkedin,.social-icons .fa-linkedin-square{color:#007bb6}.social-icons .fa-pinterest,.social-icons .fa-pinterest-p,.social-icons .fa-pinterest-square{color:#cb2027}.social-icons .fa-rss,.social-icons .fa-rss-square{color:#fa9b39}.social-icons .fa-soundcloud{color:#f30}.social-icons .fa-stack-exchange,.social-icons .fa-stack-overflow{color:#fe7a15}.social-icons .fa-tumblr,.social-icons .fa-tumblr-square{color:#32506d}.social-icons .fa-twitter,.social-icons .fa-twitter-square{color:#55acee}.social-icons .fa-vimeo,.social-icons .fa-vimeo-square{color:#1ab7ea}.social-icons .fa-vine{color:#00bf8f}.social-icons .fa-youtube,.social-icons .fa-youtube-square,.social-icons .fa-youtube-play{color:#b00}.social-icons .fa-xing,.social-icons .fa-xing-square{color:#006567}.navicon{position:relative;width:28px;height:4px;background:#fff;margin:auto;-webkit-transition:0.3s;transition:0.3s}.navicon:before,.navicon:after{content:"";position:absolute;left:0;width:28px;height:4px;background:#fff;-webkit-transition:0.3s;transition:0.3s}.navicon:before{top:-8px}.navicon:after{bottom:-8px}.close .navicon{background:transparent}.close .navicon:before,.close .navicon:after{-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;top:0;width:28px}.close .navicon:before{-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg)}.close .navicon:after{-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg)}@media (min-width: 57.8125em){.sticky{clear:both;position:-webkit-sticky;position:sticky;top:2em}.sticky::after{clear:both;content:"";display:table}.sticky>*{display:block}}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.show-modal{overflow:hidden;position:relative}.show-modal:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;z-index:999;background-color:rgba(255,255,255,0.85)}.show-modal .modal{display:block}.modal{display:none;position:fixed;width:300px;top:50%;left:50%;margin-left:-150px;margin-top:-150px;min-height:0;z-index:9999;background:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.modal__title{margin:0;padding:0.5em 1em}.modal__supporting-text{padding:0 1em 0.5em 1em}.modal__actions{padding:0.5em 1em;border-top:1px solid #f2f3f3}.footnote{color:#9ba1a6;text-decoration:none}.footnotes{color:#9ba1a6}.footnotes ol,.footnotes li,.footnotes p{margin-bottom:0;font-size:.75em}a.reversefootnote{color:#7a8288;text-decoration:none}a.reversefootnote:hover{text-decoration:underline}.required{color:#ee5f5b;font-weight:bold}@-webkit-keyframes intro{0%{opacity:0}100%{opacity:1}}@keyframes intro{0%{opacity:0}100%{opacity:1}}table{margin-bottom:1em;width:100%;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;border-collapse:collapse;border:0px solid #bdc1c4}table+table{margin-top:1em}thead{background-color:#f2f3f3;border-bottom:0px solid #bdc1c4}th{padding:0.5em;font-weight:bold;text-align:left;border-right:0px solid #bdc1c4}td{padding:0.5em;border-bottom:0px solid #bdc1c4;border-right:0px solid #bdc1c4}tr,td,th{vertical-align:top}table p{margin:0px;text-align:justify}.btn,#goog-wm-sb{display:inline-block;margin-bottom:0.25em;padding:0.5em 1em;color:#fff !important;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;font-weight:bold;text-align:center;text-decoration:none;background-color:#7a8288;border:0 !important;border-radius:4px;cursor:pointer}.btn:hover,#goog-wm-sb:hover{background-color:#333}.btn .icon,#goog-wm-sb .icon{margin-right:0.5em}.btn .icon+.hidden,#goog-wm-sb .icon+.hidden{margin-left:-0.5em}.btn--block{display:block;width:100%}.btn--block+.btn--block{margin-top:0.25em}.btn--inverse{color:#7a8288 !important;border:1px solid #bdc1c4 !important;background-color:#fff}.btn--inverse:hover{color:#fff !important;border-color:#7a8288}.btn--light-outline{border:1px solid #fff !important;background-color:transparent}.btn--info{background-color:#52adc8}.btn--info:hover{background-color:#428aa0}.btn--warning{background-color:#f89406}.btn--warning:hover{background-color:#c67605}.btn--success{background-color:#62c462}.btn--success:hover{background-color:#4e9d4e}.btn--danger{background-color:#ee5f5b}.btn--danger:hover{background-color:#be4c49}.btn--disabled{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.btn--facebook{background-color:#3b5998}.btn--facebook:hover{background-color:#2f477a}.btn--twitter{background-color:#55acee}.btn--twitter:hover{background-color:#448abe}.btn--google-plus{background-color:#dd4b39}.btn--google-plus:hover{background-color:#b13c2e}.btn--linkedin{background-color:#007bb6}.btn--linkedin:hover{background-color:#006292}.btn--x-large{font-size:1.25em}.btn--large{font-size:16px}.btn--small{font-size:.6875em}.notice{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f8f9f9;border-radius:4px;box-shadow:0 1px 1px rgba(189,193,196,0.25)}.notice h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice h4{margin-bottom:0;font-size:1em}.notice p:last-child{margin-bottom:0 !important}.notice h4+p{margin-top:0;padding-top:0}.notice a{color:#bdc1c4}.notice a:hover{color:#717476}.notice code{background-color:#fcfcfc}.notice ul:last-child{margin-bottom:0}.notice--primary{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(122,130,136,0.25)}.notice--primary h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--primary h4{margin-bottom:0;font-size:1em}.notice--primary p:last-child{margin-bottom:0 !important}.notice--primary h4+p{margin-top:0;padding-top:0}.notice--primary a{color:#7a8288}.notice--primary a:hover{color:#494e52}.notice--primary code{background-color:#f8f9f9}.notice--primary ul:last-child{margin-bottom:0}.notice--info{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eef7fa;border-radius:4px;box-shadow:0 1px 1px rgba(82,173,200,0.25)}.notice--info h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--info h4{margin-bottom:0;font-size:1em}.notice--info p:last-child{margin-bottom:0 !important}.notice--info h4+p{margin-top:0;padding-top:0}.notice--info a{color:#52adc8}.notice--info a:hover{color:#316878}.notice--info code{background-color:#f6fbfc}.notice--info ul:last-child{margin-bottom:0}.notice--warning{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fef4e6;border-radius:4px;box-shadow:0 1px 1px rgba(248,148,6,0.25)}.notice--warning h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--warning h4{margin-bottom:0;font-size:1em}.notice--warning p:last-child{margin-bottom:0 !important}.notice--warning h4+p{margin-top:0;padding-top:0}.notice--warning a{color:#f89406}.notice--warning a:hover{color:#955904}.notice--warning code{background-color:#fffaf3}.notice--warning ul:last-child{margin-bottom:0}.notice--success{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eff9ef;border-radius:4px;box-shadow:0 1px 1px rgba(98,196,98,0.25)}.notice--success h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--success h4{margin-bottom:0;font-size:1em}.notice--success p:last-child{margin-bottom:0 !important}.notice--success h4+p{margin-top:0;padding-top:0}.notice--success a{color:#62c462}.notice--success a:hover{color:#3b763b}.notice--success code{background-color:#f7fcf7}.notice--success ul:last-child{margin-bottom:0}.notice--danger{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fdefef;border-radius:4px;box-shadow:0 1px 1px rgba(238,95,91,0.25)}.notice--danger h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--danger h4{margin-bottom:0;font-size:1em}.notice--danger p:last-child{margin-bottom:0 !important}.notice--danger h4+p{margin-top:0;padding-top:0}.notice--danger a{color:#ee5f5b}.notice--danger a:hover{color:#8f3937}.notice--danger code{background-color:#fef7f7}.notice--danger ul:last-child{margin-bottom:0}.masthead{position:relative;border-bottom:1px solid #f2f3f3;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.15s;animation-delay:0.15s;z-index:20}.masthead__inner-wrap{max-width:925px;margin-left:auto;margin-right:auto;clear:both;padding:1em 1em 1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.masthead__inner-wrap:after{content:" ";display:block;clear:both}.masthead__inner-wrap::after{clear:both;content:"";display:table}@media (min-width: 80em){.masthead__inner-wrap{max-width:1280px}}.masthead__inner-wrap nav{z-index:10}.masthead__inner-wrap a{text-decoration:none}.masthead__menu ul{margin:0;padding:0;clear:both;list-style-type:none}.masthead__menu-item{display:block;list-style-type:none;white-space:nowrap}.masthead__menu-item--lg{padding-right:2em;font-weight:700}.breadcrumbs{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:0;margin-bottom:0;padding-left:2em;padding-right:2em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.30s;animation-delay:0.30s}.breadcrumbs:after{content:" ";display:block;clear:both}.breadcrumbs::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.breadcrumbs{padding-left:1em;padding-right:1em}}@media (min-width: 80em){.breadcrumbs{max-width:1280px}}.breadcrumbs ol{padding:0;list-style:none;font-size:.75em}@media (min-width: 57.8125em){.breadcrumbs ol{width:83.0508474576%;float:right;margin-right:0}}@media (min-width: 80em){.breadcrumbs ol{padding-left:4.2372881356%}}.breadcrumbs li{display:inline}.breadcrumbs .current{font-weight:bold}.pagination{clear:both;width:100%;float:left;margin-left:0;margin-right:0;clear:both;margin-top:1em;padding-top:1em}.pagination::after{clear:both;content:"";display:table}.pagination ul{margin:0;padding:0;list-style-type:none;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.pagination li{display:block;float:left;margin-left:-1px}.pagination li a{margin-bottom:0.25em;padding:0.5em 1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:14px;font-weight:bold;line-height:1.5;text-align:center;text-decoration:none;color:#9ba1a6;border:1px solid #bdc1c4;border-radius:0}.pagination li a:hover{color:#3e8296}.pagination li a.current{color:#fff;background:#7a8288}.pagination li a.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.pagination li:first-child{margin-left:0}.pagination li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination--pager{display:block;padding:1em 2em;float:left;width:50%;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;font-weight:bold;text-align:center;text-decoration:none;color:#bdc1c4;border:1px solid #bdc1c4;border-radius:4px}.pagination--pager:hover{color:#3e8296}.pagination--pager:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pagination--pager:last-child{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.pagination--pager.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.page__content+.pagination,.page__meta+.pagination,.comment__date+.pagination,.page__share+.pagination,.page__comments+.pagination{margin-top:2em;padding-top:2em;border-top:1px solid #f2f3f3}.greedy-nav{position:relative;min-width:250px;background:#fff}.greedy-nav a{display:block;margin:0 1rem;padding:0.5rem 0;color:#7a8288;text-decoration:none}.greedy-nav a:hover{color:#5c6266}.greedy-nav button{position:absolute;height:100%;right:0;padding:0 0.5rem;border:0;outline:none;background-color:#7a8288;color:#fff;cursor:pointer}.greedy-nav .visible-links{display:table}.greedy-nav .visible-links li{display:table-cell;vertical-align:middle}.greedy-nav .visible-links li:first-child{font-weight:bold}.greedy-nav .visible-links li:first-child a{margin-left:0}.greedy-nav .visible-links li:last-child a{margin-right:0}.greedy-nav .visible-links a{position:relative}.greedy-nav .visible-links a:before{content:"";position:absolute;left:0;bottom:0;height:4px;background:#bdc1c4;width:100%;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.greedy-nav .visible-links a:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.greedy-nav .hidden-links{position:absolute;top:100%;right:0;margin-top:15px;padding:5px;border:1px solid #f2f3f3;border-radius:4px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25)}.greedy-nav .hidden-links a{margin:0;padding:10px 20px;font-size:16px}.greedy-nav .hidden-links a:hover{color:#5c6266;background:#dee0e1}.greedy-nav .hidden-links:before{content:"";position:absolute;top:-11px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;display:block;z-index:0}.greedy-nav .hidden-links:after{content:"";position:absolute;top:-10px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;display:block;z-index:1}.greedy-nav .hidden-links li{display:block;border-bottom:1px solid #f2f3f3}.greedy-nav .hidden-links li:last-child{border-bottom:none}.nav__list{font-size:1.25rem}.nav__list ul{margin-bottom:1em}.nav__list a{display:block;padding:0.125em 0;color:inherit}.nav__list a:hover{text-decoration:underline}.nav__list .active{margin-left:-0.5em;padding-left:0.5em;padding-right:0.5em;color:#fff;font-weight:bold;background:#7a8288;border-radius:4px}.nav__list .active:hover{color:#fff}.nav__title{margin:0;padding:0.5rem 1rem;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;font-weight:bold}.nav__sub-title{display:block;margin:0.5rem 0;padding:0.5rem 0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;font-weight:bold;text-transform:uppercase;border-bottom:1px solid #f2f3f3}.toc{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;color:#7a8288;text-transform:uppercase;letter-spacing:1px;background-color:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.toc .nav__title{color:#fff;font-size:.75em;background:#7a8288;border-top-left-radius:4px;border-top-right-radius:4px}.toc__menu{margin:0;padding:0;width:100%;list-style:none;font-size:0.8rem}.toc__menu a{display:block;padding:0.5rem 1rem;color:#7a8288;font-size:.6875em;font-weight:bold;line-height:1.5;border-bottom:1px solid #f2f3f3}.toc__menu a:hover{color:#000;background:#f2f3f3}.toc__menu>li:last-child a{border-bottom:none}.toc__menu li ul>li a{padding-left:2rem;font-weight:normal}.toc__menu li>ul li{display:none}@media (min-width: 48em){.toc__menu li>ul li{display:block}}.page__footer{clear:both;float:left;margin-left:0;margin-right:0;width:100%;clear:both;position:absolute;bottom:0em;height:auto;margin-top:3em;color:#9ba1a6;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.45s;animation-delay:0.45s;background-color:#f2f3f3;border-top:1px solid #bdc1c4}.page__footer::after{clear:both;content:"";display:table}.page__footer footer{clear:both;margin-left:auto;margin-right:auto;margin-top:2em;max-width:100%;padding:0 1em 2em}.page__footer footer::after{clear:both;content:"";display:table}@media (min-width: 80em){.page__footer footer{max-width:1280px}}.page__footer a{color:inherit;text-decoration:none}.page__footer a:hover{text-decoration:underline}.page__footer .fas,.page__footer .fab,.page__footer .far,.page__footer .fal{color:#9ba1a6}.page__footer-copyright{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.6875em}.page__footer-follow ul{margin:0;padding:0;list-style-type:none}.page__footer-follow li{display:inline-block;padding-top:5px;padding-bottom:5px;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;text-transform:uppercase}.page__footer-follow li+li:before{content:"";padding-right:5px}.page__footer-follow a{padding-right:10px;font-weight:bold}.page__footer-follow .social-icons a{white-space:nowrap}div.highlighter-rouge,figure.highlight{position:relative;margin-bottom:1em;padding:1em;border:1px solid #f2f3f3;border-radius:4px;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,0.125)}div.highlighter-rouge:before,figure.highlight:before{position:absolute;top:0;right:0;padding:0.5em;background-color:#f2f3f3;content:"\f121";font-family:"fontawesome" !important;font-size:.75em;line-height:1;text-transform:none;speak:none}div.highlighter-rouge .highlight,figure.highlight .highlight{margin:0;font-family:Monaco,Consolas,"Lucida Console",monospace;font-size:.6875em;line-height:1.8}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .c{color:#93a1a1}.highlight .err{color:#586e75}.highlight .g{color:#586e75}.highlight .k{color:#859900}.highlight .l{color:#586e75}.highlight .n{color:#586e75}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#586e75}.highlight .cm{color:#93a1a1}.highlight .cp{color:#859900}.highlight .c1{color:#93a1a1}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#586e75;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:#586e75;font-weight:bold}.highlight .gu{color:#cb4b16}.highlight .gt{color:#586e75}.highlight .kc{color:#cb4b16}.highlight .kd{color:#22b3eb}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#22b3eb}.highlight .kt{color:#dc322f}.highlight .ld{color:#586e75}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#586e75}.highlight .nb{color:#B58900}.highlight .nc{color:#22b3eb}.highlight .no{color:#cb4b16}.highlight .nd{color:#22b3eb}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#22b3eb}.highlight .nl{color:#586e75}.highlight .nn{color:#586e75}.highlight .nx{color:#586e75}.highlight .py{color:#586e75}.highlight .nt{color:#22b3eb}.highlight .nv{color:#22b3eb}.highlight .ow{color:#859900}.highlight .w{color:#586e75}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#93a1a1}.highlight .sc{color:#2aa198}.highlight .sd{color:#586e75}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#22b3eb}.highlight .vc{color:#22b3eb}.highlight .vg{color:#22b3eb}.highlight .vi{color:#22b3eb}.highlight .il{color:#2aa198}form{margin:0 0 5px 0}form fieldset{margin-bottom:5px;padding:0;border-width:0}form legend{display:block;width:100%;margin-bottom:10px;*margin-left:-7px;padding:0;color:#494e52;border:0;border-bottom:1px solid #ccc;white-space:normal}form p{margin-bottom:5px / 2}form ul{list-style-type:none;margin:0 0 5px 0;padding:0}form br{display:none}label,input,button,select,textarea{vertical-align:baseline;*vertical-align:middle}input,button,select,textarea{box-sizing:border-box;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}label{display:block;margin-bottom:0.25em;color:#494e52;cursor:pointer}label small{font-size:.75em}label input,label textarea,label select{display:block}input,textarea,select{display:inline-block;width:100%;padding:0.25em;margin-bottom:0.5em;color:#494e52;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}input:hover,textarea:hover,select:hover{border-color:#bdc1c4}.input-mini{width:60px}.input-small{width:90px}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;border-radius:0;border:0 \9}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="image"]{border:0;box-shadow:none}input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:transparent;background-color:initial;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;cursor:pointer;*overflow:visible}select,input[type="file"]{*margin-top:4px}select{width:auto;background-color:#fff}select[multiple],select[size]{height:auto}textarea{resize:vertical;height:auto;overflow:auto;vertical-align:top}input[type="hidden"]{display:none}.form{position:relative}.radio,.checkbox{padding-left:18px;font-weight:normal}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{opacity:0.5;cursor:not-allowed}input:focus,textarea:focus{border-color:#7a8288;outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{box-shadow:none}.help-block,.help-inline{color:#52adc8}.help-block{display:block;margin-bottom:1em;line-height:1em}.help-inline{display:inline-block;vertical-align:middle;padding-left:5px}.form-inline input,.form-inline textarea,.form-inline select{display:inline-block;margin-bottom:0}.form-inline label{display:inline-block}.form-inline .radio,.form-inline .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form-search input,.form-search textarea,.form-search select{display:inline-block;margin-bottom:0}.form-search .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;border-radius:14px}.form-search label{display:inline-block}.form-search .radio,.form-search .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form--loading:before{content:''}.form--loading .form__spinner{display:block}.form:before{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);z-index:10}.form__spinner{display:none;position:absolute;top:50%;left:50%;z-index:11}#goog-fixurl ul{list-style:none;margin-left:0;padding-left:0}#goog-fixurl ul li{list-style-type:none}#goog-wm-qt{width:auto;margin-right:10px;margin-bottom:20px;padding:8px 20px;display:inline-block;font-size:.75em;background-color:#fff;color:#000;border-width:2px !important;border-style:solid !important;border-color:gray;border-radius:4px}#main{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:2em;padding-left:1em;padding-right:1em;animation:intro 0.3s both;animation-delay:0.35s}#main:after{content:" ";display:block;clear:both}#main::after{clear:both;content:"";display:table}@media (min-width: 80em){#main{max-width:1280px}}@media (min-width: 57.8125em){.page{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:16.9491525424%}}.page .page__inner-wrap{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page .page__inner-wrap .page__content,.page .page__inner-wrap .page__meta,.page .page__inner-wrap .comment__date,.page .page__inner-wrap .page__share{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__title{margin-top:0;line-height:1}.page__title+.page__meta,.page__title+.comment__date{margin-top:-0.5em}.page__lead{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:1.25em}.page__content h2{padding-bottom:0.5em;border-bottom:1px solid #f2f3f3}.page__content p,.page__content li,.page__content dl{font-size:16px}.page__content p{margin:0 0 1.3em}.page__content a{text-decoration:underline}.page__content a:hover{text-decoration:underline}.page__content a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.page__content dt{margin-top:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-weight:bold}.page__content dd{margin-left:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em}.page__content .small{font-size:.75em}.page__content blockquote+.small{margin-top:-1.5em;padding-left:1.25rem}.page__hero{position:relative;margin-bottom:2em;clear:both;animation:intro 0.3s both;animation-delay:0.25s}.page__hero::after{clear:both;content:"";display:table}.page__hero--overlay{position:relative;margin-bottom:2em;padding:3em 0;clear:both;background-size:cover;background-repeat:no-repeat;background-position:center;animation:intro 0.3s both;animation-delay:0.25s}.page__hero--overlay::after{clear:both;content:"";display:table}.page__hero--overlay a{color:#fff}.page__hero--overlay .wrapper{padding-left:1em;padding-right:1em}@media (min-width: 80em){.page__hero--overlay .wrapper{max-width:1280px}}.page__hero--overlay .page__title,.page__hero--overlay .page__meta,.page__hero--overlay .comment__date,.page__hero--overlay .page__lead,.page__hero--overlay .btn,.page__hero--overlay #goog-wm-sb{color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,0.5)}.page__hero--overlay .page__lead{max-width:768px}.page__hero--overlay .page__title{font-size:1.953em}@media (min-width: 37.5em){.page__hero--overlay .page__title{font-size:2.441em}}.page__hero-image{width:100%;height:auto;-ms-interpolation-mode:bicubic}.page__hero-caption{position:absolute;bottom:0;right:0;margin:0 auto;padding:2px 5px;color:#fff;font-family:Georgia,Times,serif;font-size:.6875em;background:#000;text-align:right;z-index:5;opacity:0.5;border-radius:4px 0 4px 0}@media (min-width: 57.8125em){.page__hero-caption{padding:5px 10px}}.page__hero-caption a{color:#fff;text-decoration:none}.page__share{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3}@media (max-width: 37.5em){.page__share .btn span,.page__share #goog-wm-sb span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}}.page__share-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__meta,.comment__date{margin-top:2em;color:#9ba1a6;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em}.page__meta p,.comment__date p{margin:0}.page__meta a,.comment__date a{color:inherit}.page__meta-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__taxonomy .sep{display:none}.page__taxonomy strong{margin-right:10px}.page__taxonomy-item{display:inline-block;margin-right:5px;margin-bottom:8px;padding:5px 10px;text-decoration:none;border:1px solid #bdc1c4;border-radius:4px}.page__taxonomy-item:hover{text-decoration:none;color:#3e8296}.page__comments{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__comments-title{margin-top:2rem;margin-bottom:10px;padding-top:2rem;font-size:.75em;border-top:1px solid #f2f3f3;text-transform:uppercase}.page__comments-form{padding:1em;background:#f2f3f3;transition:all 0.2s ease-in-out}.page__comments-form.disabled input,.page__comments-form.disabled button,.page__comments-form.disabled textarea,.page__comments-form.disabled label{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.comment{clear:both;margin:1em 0}.comment::after{clear:both;content:"";display:table}.comment:not(:last-child){border-bottom:1px solid #f2f3f3}.comment__avatar-wrapper{float:left;width:60px;height:60px}@media (min-width: 57.8125em){.comment__avatar-wrapper{width:100px;height:100px}}.comment__avatar{width:40px;height:40px;border-radius:50%}@media (min-width: 57.8125em){.comment__avatar{width:80px;height:80px;padding:5px;border:1px solid #f2f3f3}}.comment__content-wrapper{float:right;width:calc(100% - 60px)}@media (min-width: 57.8125em){.comment__content-wrapper{width:calc(100% - 100px)}}.comment__author{margin:0}.comment__author a{text-decoration:none}.comment__date{margin:0}.comment__date a{text-decoration:none}.page__related{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3;clear:both;float:left}.page__related::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.page__related{margin-left:21.186440678%}}.page__related a{color:inherit;text-decoration:none}.page__related-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.archive{margin-bottom:2em}@media (min-width: 48em){.archive{width:100%;float:left;margin-left:0;margin-right:0}}@media (min-width: 57.8125em){.archive{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%}}.archive a{text-decoration:underline}.archive a:hover{text-decoration:underline}.archive a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__subtitle{margin:1.414em 0 0;padding-bottom:0.5em;font-size:16px;color:#9ba1a6;border-bottom:1px solid #f2f3f3}.archive__subtitle+.list__item .archive__item-title{margin-top:0.5em}.archive__item-title{margin-bottom:0.25em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.archive__item-title a+a{opacity:0.5}.page__content .archive__item-title{margin-top:1em;border-bottom:none}.archive__item-excerpt{margin-top:0;font-size:.75em}.archive__item-excerpt+p{text-indent:0}.archive__item-teaser{border-radius:4px;overflow:hidden}.archive__item-teaser img{width:100%}.archive__item:hover .archive__item-teaser{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__item:hover .archive__item-title{text-decoration:underline}@media (min-width: 48em){.list__item{padding-right:0px}}@media (min-width: 57.8125em){.list__item{padding-right:0px}}@media (min-width: 80em){.list__item{padding-right:0px}}.list__item .page__meta,.list__item .comment__date{margin:0 0 4px}.grid__item{margin-bottom:2em}.grid__item .page__meta,.grid__item .comment__date{margin:0 0 4px}.grid__item .archive__item-title{margin-top:0.5em;font-size:16px}.grid__item .archive__item-excerpt{display:none}@media (min-width: 37.5em){.grid__item{width:48.9795918367%;float:left}.grid__item:nth-child(2n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(2n+2){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:200px}}@media (min-width: 48em){.grid__item{margin-left:0;margin-right:0;width:23.4693877551%;float:left}.grid__item:nth-child(4n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(4n+2){margin-left:25.5102040816%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+3){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+4){margin-left:76.5306122449%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:120px}.grid__item .archive__item-excerpt{display:block;font-size:.75em}}.feature__wrapper{clear:both;margin-bottom:2em;border-bottom:1px solid #f2f3f3}.feature__wrapper::after{clear:both;content:"";display:table}.feature__item{margin-bottom:2em;font-size:1.25rem}@media (min-width: 37.5em){.feature__item{margin-bottom:0;width:32.2033898305%;float:left}.feature__item:nth-child(3n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.feature__item:nth-child(3n+2){margin-left:33.8983050847%;margin-right:-100%;clear:none}.feature__item:nth-child(3n+3){margin-left:67.7966101695%;margin-right:-100%;clear:none}.feature__item .feature__item-teaser{max-height:200px;overflow:hidden}}.feature__item--left{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--left .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--left .archive__item-teaser{width:40.6779661017%;float:left;margin-right:1.6949152542%}.feature__item--left .archive__item-body{width:57.6271186441%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--right{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--right .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--right{text-align:right}.feature__item--right .archive__item-teaser{width:40.6779661017%;float:right;margin-left:1.6949152542%}.feature__item--right .archive__item-body{width:57.6271186441%;float:left;margin-left:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--center{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--center .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--center{text-align:center}.feature__item--center .archive__item-teaser{margin:0 auto;width:40.6779661017%}.feature__item--center .archive__item-body{margin:0 auto;width:57.6271186441%}}.sidebar{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);clear:both;margin-bottom:1em}.sidebar::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.sidebar{width:15.2542372881%;float:left;margin-right:1.6949152542%;opacity:1;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.sidebar:hover{opacity:1}}@media (min-width: 80em){.sidebar{padding-right:0}}.sidebar h2,.sidebar h3,.sidebar h4,.sidebar h5,.sidebar h6{margin-bottom:0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.sidebar h3,.sidebar h4{font-size:16px}.sidebar p,.sidebar li{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;line-height:1.5}.sidebar img{width:100%}.sidebar__right{margin-bottom:1em}@media (min-width: 57.8125em){.sidebar__right{position:relative;float:right;width:0px;margin-left:2.5423728814%;z-index:10}}@media (min-width: 80em){.sidebar__right{width:0px}}.author__avatar{display:table-cell;vertical-align:top;width:36px}@media (min-width: 57.8125em){.author__avatar{display:block;width:auto;height:auto}}.author__avatar img{max-width:175px;border-radius:50%}@media (min-width: 57.8125em){.author__avatar img{padding:5px;border:1px solid #f2f3f3}}.author__content{display:table-cell;vertical-align:top;padding-left:15px;padding-right:25px;line-height:1}@media (min-width: 57.8125em){.author__content{display:block;width:100%;padding-left:0;padding-right:0}}.author__name{margin:0}@media (min-width: 57.8125em){.author__name{margin-top:10px;margin-bottom:10px}}.sidebar .author__name{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px}.author__bio{margin:0}@media (min-width: 57.8125em){.author__bio{margin-top:10px;margin-bottom:20px}}.author__urls-wrapper{position:relative;display:table-cell;vertical-align:middle;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;z-index:10;position:relative;cursor:pointer}.author__urls-wrapper li:last-child a{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper{display:block}}.author__urls-wrapper button{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper button{display:none}}.author__urls{display:none;position:absolute;right:0;margin-top:15px;padding:10px;list-style-type:none;border:1px solid #f2f3f3;border-radius:4px;background:#fff;z-index:-1;box-shadow:0 0 10px rgba(0,0,0,0.25);cursor:default}@media (min-width: 57.8125em){.author__urls{display:block;position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none}}.author__urls:before{display:block;content:"";position:absolute;top:-11px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;z-index:0}@media (min-width: 57.8125em){.author__urls:before{display:none}}.author__urls:after{display:block;content:"";position:absolute;top:-10px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;z-index:1}@media (min-width: 57.8125em){.author__urls:after{display:none}}.author__urls li{white-space:nowrap}.author__urls a{display:block;margin-bottom:5px;padding-right:5px;padding-top:2px;padding-bottom:2px;color:inherit;font-size:16px;text-decoration:none}.author__urls a:hover{text-decoration:underline}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fas,.far,.fal,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid 0.08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=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{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-acquisitions-incorporated:before{content:""}.fa-ad:before{content:""}.fa-address-book:before{content:""}.fa-address-card:before{content:""}.fa-adjust:before{content:""}.fa-adn:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-air-freshener:before{content:""}.fa-algolia:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-alipay:before{content:""}.fa-allergies:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-ambulance:before{content:""}.fa-american-sign-language-interpreting:before{content:""}.fa-amilia:before{content:""}.fa-anchor:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angry:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-ankh:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-alt:before{content:""}.fa-apple-pay:before{content:""}.fa-archive:before{content:""}.fa-archway:before{content:""}.fa-arrow-alt-circle-down:before{content:""}.fa-arrow-alt-circle-left:before{content:""}.fa-arrow-alt-circle-right:before{content:""}.fa-arrow-alt-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrows-alt:before{content:""}.fa-arrows-alt-h:before{content:""}.fa-arrows-alt-v:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asterisk:before{content:""}.fa-asymmetrik:before{content:""}.fa-at:before{content:""}.fa-atlas:before{content:""}.fa-atom:before{content:""}.fa-audible:before{content:""}.fa-audio-description:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-award:before{content:""}.fa-aws:before{content:""}.fa-backspace:before{content:""}.fa-backward:before{content:""}.fa-balance-scale:before{content:""}.fa-ban:before{content:""}.fa-band-aid:before{content:""}.fa-bandcamp:before{content:""}.fa-barcode:before{content:""}.fa-bars:before{content:""}.fa-baseball-ball:before{content:""}.fa-basketball-ball:before{content:""}.fa-bath:before{content:""}.fa-battery-empty:before{content:""}.fa-battery-full:before{content:""}.fa-battery-half:before{content:""}.fa-battery-quarter:before{content:""}.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-beer:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bible:before{content:""}.fa-bicycle:before{content:""}.fa-bimobject:before{content:""}.fa-binoculars:before{content:""}.fa-birthday-cake:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blind:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bold:before{content:""}.fa-bolt:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-book-dead:before{content:""}.fa-book-open:before{content:""}.fa-book-reader:before{content:""}.fa-bookmark:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-box-open:before{content:""}.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broadcast-tower:before{content:""}.fa-broom:before{content:""}.fa-brush:before{content:""}.fa-btc:before{content:""}.fa-bug:before{content:""}.fa-building:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burn:before{content:""}.fa-buromobelexperte:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before{content:""}.fa-business-time:before{content:""}.fa-buysellads:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-times:before{content:""}.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-campground:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-car:before{content:""}.fa-car-alt:before{content:""}.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-side:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-square-down:before{content:""}.fa-caret-square-left:before{content:""}.fa-caret-square-right:before{content:""}.fa-caret-square-up:before{content:""}.fa-caret-up:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-plus:before{content:""}.fa-cat:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before{content:""}.fa-charging-station:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-check-double:before{content:""}.fa-check-square:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-chrome:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-city:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-download-alt:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-cloud-upload-alt:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cocktail:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-coffee:before{content:""}.fa-cog:before{content:""}.fa-cogs:before{content:""}.fa-coins:before{content:""}.fa-columns:before{content:""}.fa-comment:before{content:""}.fa-comment-alt:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-slash:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compress:before{content:""}.fa-concierge-bell:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-credit-card:before{content:""}.fa-critical-role:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-cut:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dashcube:before{content:""}.fa-database:before{content:""}.fa-deaf:before{content:""}.fa-delicious:before{content:""}.fa-democrat:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-desktop:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagnoses:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-digital-tachograph:before{content:""}.fa-directions:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-divide:before{content:""}.fa-dizzy:before{content:""}.fa-dna:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before{content:""}.fa-dolly:before{content:""}.fa-dolly-flatbed:before{content:""}.fa-donate:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dot-circle:before{content:""}.fa-dove:before{content:""}.fa-download:before{content:""}.fa-draft2digital:before{content:""}.fa-drafting-compass:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-drupal:before{content:""}.fa-dumbbell:before{content:""}.fa-dungeon:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edit:before{content:""}.fa-eject:before{content:""}.fa-elementor:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelope-square:before{content:""}.fa-envira:before{content:""}.fa-equals:before{content:""}.fa-eraser:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-etsy:before{content:""}.fa-euro-sign:before{content:""}.fa-exchange-alt:before{content:""}.fa-exclamation:before{content:""}.fa-exclamation-circle:before{content:""}.fa-exclamation-triangle:before{content:""}.fa-expand:before{content:""}.fa-expand-arrows-alt:before{content:""}.fa-expeditedssl:before{content:""}.fa-external-link-alt:before{content:""}.fa-external-link-square-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper:before{content:""}.fa-eye-slash:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fast-backward:before{content:""}.fa-fast-forward:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before{content:""}.fa-female:before{content:""}.fa-fighter-jet:before{content:""}.fa-file:before{content:""}.fa-file-alt:before{content:""}.fa-file-archive:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-download:before{content:""}.fa-file-excel:before{content:""}.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-medical:before{content:""}.fa-file-medical-alt:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-upload:before{content:""}.fa-file-video:before{content:""}.fa-file-word:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-firefox:before{content:""}.fa-first-aid:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-fish:before{content:""}.fa-fist-raised:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-flushed:before{content:""}.fa-fly:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-font:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-football-ball:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-forward:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-frog:before{content:""}.fa-frown:before{content:""}.fa-frown-open:before{content:""}.fa-fulcrum:before{content:""}.fa-funnel-dollar:before{content:""}.fa-futbol:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gavel:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-git:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glass-martini:before{content:""}.fa-glass-martini-alt:before{content:""}.fa-glasses:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-globe:before{content:""}.fa-globe-africa:before{content:""}.fa-globe-americas:before{content:""}.fa-globe-asia:before{content:""}.fa-gofore:before{content:""}.fa-golf-ball:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-greater-than:before{content:""}.fa-greater-than-equal:before{content:""}.fa-grimace:before{content:""}.fa-grin:before{content:""}.fa-grin-alt:before{content:""}.fa-grin-beam:before{content:""}.fa-grin-beam-sweat:before{content:""}.fa-grin-hearts:before{content:""}.fa-grin-squint:before{content:""}.fa-grin-squint-tears:before{content:""}.fa-grin-stars:before{content:""}.fa-grin-tears:before{content:""}.fa-grin-tongue:before{content:""}.fa-grin-tongue-squint:before{content:""}.fa-grin-tongue-wink:before{content:""}.fa-grin-wink:before{content:""}.fa-grip-horizontal:before{content:""}.fa-grip-vertical:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-gulp:before{content:""}.fa-h-square:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-paper:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-rock:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before{content:""}.fa-hands-helping:before{content:""}.fa-handshake:before{content:""}.fa-hanukiah:before{content:""}.fa-hashtag:before{content:""}.fa-hat-wizard:before{content:""}.fa-haykal:before{content:""}.fa-hdd:before{content:""}.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-highlighter:before{content:""}.fa-hiking:before{content:""}.fa-hippo:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-history:before{content:""}.fa-hockey-puck:before{content:""}.fa-home:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-horse:before{content:""}.fa-hospital:before{content:""}.fa-hospital-alt:before{content:""}.fa-hospital-symbol:before{content:""}.fa-hot-tub:before{content:""}.fa-hotel:before{content:""}.fa-hotjar:before{content:""}.fa-hourglass:before{content:""}.fa-hourglass-end:before{content:""}.fa-hourglass-half:before{content:""}.fa-hourglass-start:before{content:""}.fa-house-damage:before{content:""}.fa-houzz:before{content:""}.fa-hryvnia:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-i-cursor:before{content:""}.fa-id-badge:before{content:""}.fa-id-card:before{content:""}.fa-id-card-alt:before{content:""}.fa-image:before{content:""}.fa-images:before{content:""}.fa-imdb:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-info-circle:before{content:""}.fa-instagram:before{content:""}.fa-internet-explorer:before{content:""}.fa-ioxhost:before{content:""}.fa-italic:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-joget:before{content:""}.fa-joint:before{content:""}.fa-joomla:before{content:""}.fa-journal-whills:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaaba:before{content:""}.fa-kaggle:before{content:""}.fa-key:before{content:""}.fa-keybase:before{content:""}.fa-keyboard:before{content:""}.fa-keycdn:before{content:""}.fa-khanda:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-kiss:before{content:""}.fa-kiss-beam:before{content:""}.fa-kiss-wink-heart:before{content:""}.fa-kiwi-bird:before{content:""}.fa-korvue:before{content:""}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-laugh:before{content:""}.fa-laugh-beam:before{content:""}.fa-laugh-squint:before{content:""}.fa-laugh-wink:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-leanpub:before{content:""}.fa-lemon:before{content:""}.fa-less:before{content:""}.fa-less-than:before{content:""}.fa-less-than-equal:before{content:""}.fa-level-down-alt:before{content:""}.fa-level-up-alt:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-line:before{content:""}.fa-link:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lira-sign:before{content:""}.fa-list:before{content:""}.fa-list-alt:before{content:""}.fa-list-ol:before{content:""}.fa-list-ul:before{content:""}.fa-location-arrow:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-long-arrow-alt-down:before{content:""}.fa-long-arrow-alt-left:before{content:""}.fa-long-arrow-alt-right:before{content:""}.fa-long-arrow-alt-up:before{content:""}.fa-low-vision:before{content:""}.fa-luggage-cart:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-magic:before{content:""}.fa-magnet:before{content:""}.fa-mail-bulk:before{content:""}.fa-mailchimp:before{content:""}.fa-male:before{content:""}.fa-mandalorian:before{content:""}.fa-map:before{content:""}.fa-map-marked:before{content:""}.fa-map-marked-alt:before{content:""}.fa-map-marker:before{content:""}.fa-map-marker-alt:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-markdown:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mask:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-medal:before{content:""}.fa-medapps:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-medkit:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-meh:before{content:""}.fa-meh-blank:before{content:""}.fa-meh-rolling-eyes:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before{content:""}.fa-microphone-alt-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-microsoft:before{content:""}.fa-minus:before{content:""}.fa-minus-circle:before{content:""}.fa-minus-square:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mizuni:before{content:""}.fa-mobile:before{content:""}.fa-mobile-alt:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-bill-wave-alt:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mouse-pointer:before{content:""}.fa-music:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-nimblr:before{content:""}.fa-nintendo-switch:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-not-equal:before{content:""}.fa-notes-medical:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-oil-can:before{content:""}.fa-old-republic:before{content:""}.fa-om:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-osi:before{content:""}.fa-otter:before{content:""}.fa-outdent:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-paint-brush:before{content:""}.fa-paint-roller:before{content:""}.fa-palette:before{content:""}.fa-palfed:before{content:""}.fa-pallet:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-parking:before{content:""}.fa-passport:before{content:""}.fa-pastafarianism:before{content:""}.fa-paste:before{content:""}.fa-patreon:before{content:""}.fa-pause:before{content:""}.fa-pause-circle:before{content:""}.fa-paw:before{content:""}.fa-paypal:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-square:before{content:""}.fa-pencil-alt:before{content:""}.fa-pencil-ruler:before{content:""}.fa-penny-arcade:before{content:""}.fa-people-carry:before{content:""}.fa-percent:before{content:""}.fa-percentage:before{content:""}.fa-periscope:before{content:""}.fa-person-booth:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-phone:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-square:before{content:""}.fa-phone-volume:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-play:before{content:""}.fa-play-circle:before{content:""}.fa-playstation:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:""}.fa-plus-circle:before{content:""}.fa-plus-square:before{content:""}.fa-podcast:before{content:""}.fa-poll:before{content:""}.fa-poll-h:before{content:""}.fa-poo:before{content:""}.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-portrait:before{content:""}.fa-pound-sign:before{content:""}.fa-power-off:before{content:""}.fa-pray:before{content:""}.fa-praying-hands:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before{content:""}.fa-print:before{content:""}.fa-procedures:before{content:""}.fa-product-hunt:before{content:""}.fa-project-diagram:before{content:""}.fa-pushed:before{content:""}.fa-puzzle-piece:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-qrcode:before{content:""}.fa-question:before{content:""}.fa-question-circle:before{content:""}.fa-quidditch:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-quran:before{content:""}.fa-r-project:before{content:""}.fa-rainbow:before{content:""}.fa-random:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-receipt:before{content:""}.fa-recycle:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redo:before{content:""}.fa-redo-alt:before{content:""}.fa-registered:before{content:""}.fa-renren:before{content:""}.fa-reply:before{content:""}.fa-reply-all:before{content:""}.fa-replyd:before{content:""}.fa-republican:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-retweet:before{content:""}.fa-rev:before{content:""}.fa-ribbon:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-route:before{content:""}.fa-rss:before{content:""}.fa-rss-square:before{content:""}.fa-ruble-sign:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-running:before{content:""}.fa-rupee-sign:before{content:""}.fa-sad-cry:before{content:""}.fa-sad-tear:before{content:""}.fa-safari:before{content:""}.fa-sass:before{content:""}.fa-save:before{content:""}.fa-schlix:before{content:""}.fa-school:before{content:""}.fa-screwdriver:before{content:""}.fa-scribd:before{content:""}.fa-scroll:before{content:""}.fa-search:before{content:""}.fa-search-dollar:before{content:""}.fa-search-location:before{content:""}.fa-search-minus:before{content:""}.fa-search-plus:before{content:""}.fa-searchengin:before{content:""}.fa-seedling:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-server:before{content:""}.fa-servicestack:before{content:""}.fa-shapes:before{content:""}.fa-share:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-share-square:before{content:""}.fa-shekel-sign:before{content:""}.fa-shield-alt:before{content:""}.fa-ship:before{content:""}.fa-shipping-fast:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shoe-prints:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-shopping-cart:before{content:""}.fa-shopware:before{content:""}.fa-shower:before{content:""}.fa-shuttle-van:before{content:""}.fa-sign:before{content:""}.fa-sign-in-alt:before{content:""}.fa-sign-language:before{content:""}.fa-sign-out-alt:before{content:""}.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-simplybuilt:before{content:""}.fa-sistrix:before{content:""}.fa-sitemap:before{content:""}.fa-sith:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-slash:before{content:""}.fa-sliders-h:before{content:""}.fa-slideshare:before{content:""}.fa-smile:before{content:""}.fa-smile-beam:before{content:""}.fa-smile-wink:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-smoking-ban:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-snowflake:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before{content:""}.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-up:before{content:""}.fa-sort-amount-down:before{content:""}.fa-sort-amount-up:before{content:""}.fa-sort-down:before{content:""}.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-up:before{content:""}.fa-sort-up:before{content:""}.fa-soundcloud:before{content:""}.fa-spa:before{content:""}.fa-space-shuttle:before{content:""}.fa-speakap:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spotify:before{content:""}.fa-spray-can:before{content:""}.fa-square:before{content:""}.fa-square-full:before{content:""}.fa-square-root-alt:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-step-backward:before{content:""}.fa-step-forward:before{content:""}.fa-stethoscope:before{content:""}.fa-sticker-mule:before{content:""}.fa-sticky-note:before{content:""}.fa-stop:before{content:""}.fa-stop-circle:before{content:""}.fa-stopwatch:before{content:""}.fa-store:before{content:""}.fa-store-alt:before{content:""}.fa-strava:before{content:""}.fa-stream:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-stroopwafel:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-subscript:before{content:""}.fa-subway:before{content:""}.fa-suitcase:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superpowers:before{content:""}.fa-superscript:before{content:""}.fa-supple:before{content:""}.fa-surprise:before{content:""}.fa-swatchbook:before{content:""}.fa-swimmer:before{content:""}.fa-swimming-pool:before{content:""}.fa-synagogue:before{content:""}.fa-sync:before{content:""}.fa-sync-alt:before{content:""}.fa-syringe:before{content:""}.fa-table:before{content:""}.fa-table-tennis:before{content:""}.fa-tablet:before{content:""}.fa-tablet-alt:before{content:""}.fa-tablets:before{content:""}.fa-tachometer-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-tasks:before{content:""}.fa-taxi:before{content:""}.fa-teamspeak:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-tencent-weibo:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-th:before{content:""}.fa-th-large:before{content:""}.fa-th-list:before{content:""}.fa-the-red-yeti:before{content:""}.fa-theater-masks:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-thermometer:before{content:""}.fa-thermometer-empty:before{content:""}.fa-thermometer-full:before{content:""}.fa-thermometer-half:before{content:""}.fa-thermometer-quarter:before{content:""}.fa-thermometer-three-quarters:before{content:""}.fa-think-peaks:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbtack:before{content:""}.fa-ticket-alt:before{content:""}.fa-times:before{content:""}.fa-times-circle:before{content:""}.fa-tint:before{content:""}.fa-tint-slash:before{content:""}.fa-tired:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet-paper:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torah:before{content:""}.fa-torii-gate:before{content:""}.fa-tractor:before{content:""}.fa-trade-federation:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-train:before{content:""}.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-trash:before{content:""}.fa-trash-alt:before{content:""}.fa-tree:before{content:""}.fa-trello:before{content:""}.fa-tripadvisor:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-truck-loading:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-tshirt:before{content:""}.fa-tty:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-tv:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-uikit:before{content:""}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-undo:before{content:""}.fa-undo-alt:before{content:""}.fa-uniregistry:before{content:""}.fa-universal-access:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before{content:""}.fa-untappd:before{content:""}.fa-upload:before{content:""}.fa-usb:before{content:""}.fa-user:before{content:""}.fa-user-alt:before{content:""}.fa-user-alt-slash:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-clock:before{content:""}.fa-user-cog:before{content:""}.fa-user-edit:before{content:""}.fa-user-friends:before{content:""}.fa-user-graduate:before{content:""}.fa-user-injured:before{content:""}.fa-user-lock:before{content:""}.fa-user-md:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before{content:""}.fa-users:before{content:""}.fa-users-cog:before{content:""}.fa-ussunnah:before{content:""}.fa-utensil-spoon:before{content:""}.fa-utensils:before{content:""}.fa-vaadin:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-viber:before{content:""}.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-volleyball-ball:before{content:""}.fa-volume-down:before{content:""}.fa-volume-mute:before{content:""}.fa-volume-off:before{content:""}.fa-volume-up:before{content:""}.fa-vote-yea:before{content:""}.fa-vr-cardboard:before{content:""}.fa-vuejs:before{content:""}.fa-walking:before{content:""}.fa-wallet:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weight:before{content:""}.fa-weight-hanging:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-wheelchair:before{content:""}.fa-whmcs:before{content:""}.fa-wifi:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wind:before{content:""}.fa-window-close:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-windows:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-won-sign:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-wrench:before{content:""}.fa-x-ray:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yelp:before{content:""}.fa-yen-sign:before{content:""}.fa-yin-yang:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;src:url("../fonts/fa-solid-900.eot");src:url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url("../fonts/fa-solid-900.woff2") format("woff2"),url("../fonts/fa-solid-900.woff") format("woff"),url("../fonts/fa-solid-900.ttf") format("truetype"),url("../fonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:normal;src:url("../fonts/fa-brands-400.eot");src:url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),url("../fonts/fa-brands-400.woff2") format("woff2"),url("../fonts/fa-brands-400.woff") format("woff"),url("../fonts/fa-brands-400.ttf") format("truetype"),url("../fonts/fa-brands-400.svg#fontawesome") format("svg")}.fab{font-family:'Font Awesome 5 Brands'}.mfp-counter{font-family:Georgia,Times,serif}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#000;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-0.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:1;filter:alpha(opacity=100);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Georgia,Times,serif}.mfp-close:hover,.mfp-close:focus{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#fff}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:1;filter:alpha(opacity=100);margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1;filter:alpha(opacity=100)}.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after,.mfp-arrow .mfp-a{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before,.mfp-arrow .mfp-b{border-top-width:21px;border-bottom-width:21px;opacity:0.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after,.mfp-arrow-left .mfp-a{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before,.mfp-arrow-left .mfp-b{margin-left:25px;border-right:27px solid #fff}.mfp-arrow-right{right:0}.mfp-arrow-right:after,.mfp-arrow-right .mfp-a{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before,.mfp-arrow-right .mfp-b{border-left:27px solid #fff}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-figure figcaption{margin-top:0;margin-bottom:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}@media print{.masthead,.toc,.page__share,.page__related,.ads,.page__footer{display:none}}ul.publications-nav,ul.patents-nav{list-style-type:none;margin:0;padding:0;overflow:hidden;display:block}ul.horizontal-nav{list-style-type:none;margin:0;padding:0;overflow:hidden;display:block}ul.horizontal-nav>li{float:left}ul.horizontal-nav>li>a{display:block;text-align:center;padding:16px;text-decoration:none}ul.horizontal-nav>li.active>a,ul.horizontal-nav>li:hover>a,ul.horizontal-nav>li>a:hover{border-bottom:3px solid #d3d3d3;text-decoration:none}

2017_brl

Markdown

Locations of key files/directories

  • Basic config options: _config.yml
  • Top navigation bar config: _data/navigation.yml
  • Single pages: _pages/
  • Collections of pages are .md or .html files in:
    • _publications/
    • _portfolio/
    • _posts/
    • _teaching/
    • _talks/
  • Footer: _includes/footer.html
  • Static files (like PDFs): /files/
  • Profile image (can set in _config.yml): images/profile.png

Tips and hints

  • Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
  • Go to the commit list (on your repo) to find the last version Github built with Jekyll.
    • Green check: successful build
    • Orange circle: building
    • Red X: error
    • No icon: not built

Resources

Markdown guide

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Table 1

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list

Table 2

Header1Header2Header3
cell1cell2cell3
cell4cell5cell6
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


2017_brl

Projects

2017_brl

Page not in menu

This is a page not in the menu. You can use markdown in this page.

Heading 1

Heading 2


2017_brl

Page Archive

2017_brl

Page Not Found

Sorry, but the page you were trying to view does not exist — perhaps you can try searching for it below.


2017_brl

About Me

I am a recent graduate student of the Master of Science in Robotics program from the Robotics Institute, Carnegie Mellon University. At CMU, I worked with Prof. Maxim Likhachev at the Search Based Planning Lab. My research at CMU was focused on developing a high precision pose estimation (3D object detection) algorithm called PERCH 2.0, that can be used for robotic manipulation in complex environments. PERCH 2.0 achieves high accuracy and low training requirement through a combination of deliberative and discriminative perception techniques.

In the past 6 years, I have worked with multiple academic advisors, startup founders and managers to further the research at their labs, help turn tech ideas into products at their startups or enhance the status quo of projects being undertaken at their company. Through these engagements, I have acquired a diverse skill set that spans multiple programming languages, platforms and devices.

At present, I am a Lead Robotics Engineer at Nimble AI, a San Francisco based startup focused on warehouse automation through robotic manipulation. As a part of the robotics and perception teams, I have led projects to research, design and deploy algorithms that are accurate (for high manipulation success), fast (for a high task throughput) and scalable (for rapid deployment). On the perception front, I worked on the introduction of instance segmentation and pose estimation to the Nimble stack. On the robotics front, I led large scale projects to introduce and deploy fast environment-based motion planning across the Nimble fleet. More recently, I led a project to re-design the task creation and coordination stack for higher scalability and modularity. My projects over the last year, culminated in the successful addition of more robots at a Nimble customer site, making it Nimble’s largest deployment so far.


2017_brl

Archive Layout with Content

A variety of common markup showing how the theme styles them.

Header one

Header two

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list
Header1Header2Header3
cell1cell2cell3
cell4cell5cell6
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


2017_brl

Page Not Found

Sorry, but the page you were trying to view does not exist — perhaps you can try searching for it below.


2017_brl

About Me

I am a recent graduate student of the Master of Science in Robotics program from the Robotics Institute, Carnegie Mellon University. At CMU, I worked with Prof. Maxim Likhachev at the Search Based Planning Lab. My research at CMU was focused on developing a high precision pose estimation (3D object detection) algorithm called PERCH 2.0, that can be used for robotic manipulation in complex environments. PERCH 2.0 achieves high accuracy and low training requirement through a combination of deliberative and discriminative perception techniques.

In the past 6 years, I have worked with multiple academic advisors, startup founders and managers to further the research at their labs, help turn tech ideas into products at their startups or enhance the status quo of projects being undertaken at their company. Through these engagements, I have acquired a diverse skill set that spans multiple programming languages, platforms and devices.

At present, I am a Lead Robotics Engineer at Nimble AI, a San Francisco based startup focused on warehouse automation through robotic manipulation. As a part of the robotics and perception teams, I have led projects to research, design and deploy algorithms that are accurate (for high manipulation success), fast (for a high task throughput) and scalable (for rapid deployment). On the perception front, I worked on the introduction of instance segmentation and pose estimation to the Nimble stack. On the robotics front, I led large scale projects to introduce and deploy fast environment-based motion planning across the Nimble fleet. More recently, I led a project to re-design the task creation and coordination stack for higher scalability and modularity. My projects over the last year, culminated in the successful addition of more robots at a Nimble customer site, making it Nimble’s largest deployment so far.


2017_brl

Archive Layout with Content
A variety of common markup showing how the theme styles them. # Header one ## Header two ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. {: .notice} ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. {% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %} </td> </tr> </div>

2017_brl

Posts by Category
{% include base_path %} {% include group-by-array collection=site.posts field="categories" %} {% for category in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ category }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Posts by Collection
{% include base_path %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Resume
{% include base_path %}

2017_brl


/* * Minimal Mistakes Jekyll Theme * * - Michael Rose * - mademistakes.com * - https://twitter.com/mmistakes * */ @import "vendor/breakpoint/breakpoint"; // media query mixins @import "variables"; @import "mixins"; @import "vendor/susy/susy"; @import "reset"; @import "base"; @import "utilities"; @import "animations"; @import "tables"; @import "buttons"; @import "notices"; @import "masthead"; @import "navigation"; @import "footer"; @import "syntax"; @import "forms"; @import "page"; @import "archive"; @import "sidebar"; @import "vendor/font-awesome/fontawesome"; @import "vendor/font-awesome/solid"; @import "vendor/font-awesome/brands"; @import "vendor/magnific-popup/magnific-popup"; @import "print"; ul.publications-nav, ul.patents-nav { list-style-type: none; margin: 0; padding: 0; overflow: hidden; display: block; } ul.horizontal-nav { list-style-type: none; margin: 0; padding: 0; overflow: hidden; display: block; } ul.horizontal-nav>li { float: left; } ul.horizontal-nav>li>a { display: block; text-align: center; padding: 16px; text-decoration: none; } ul.horizontal-nav>li.active>a, ul.horizontal-nav>li:hover>a, ul.horizontal-nav>li>a:hover { border-bottom: 3px solid #d3d3d3; text-decoration: none;}

2017_brl

Markdown
## Locations of key files/directories * Basic config options: _config.yml * Top navigation bar config: _data/navigation.yml * Single pages: _pages/ * Collections of pages are .md or .html files in: * _publications/ * _portfolio/ * _posts/ * _teaching/ * _talks/ * Footer: _includes/footer.html * Static files (like PDFs): /files/ * Profile image (can set in _config.yml): images/profile.png ## Tips and hints * Name a file ".md" to have it render in markdown, name it ".html" to render in HTML. * Go to the [commit list](https://github.com/academicpages/academicpages.github.io/commits/master) (on your repo) to find the last version Github built with Jekyll. * Green check: successful build * Orange circle: building * Red X: error * No icon: not built ## Resources * [Liquid syntax guide](https://shopify.github.io/liquid/tags/control-flow/) ## Markdown guide ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables ### Table 1 | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | ### Table 2 | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. {: .notice} ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. </td> </tr> </div>

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'miscellaneous' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Page not in menu
This is a page not in the menu. You can use markdown in this page. Heading 1 ====== Heading 2 ======

2017_brl

Page Archive
{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

2017_brl

Patents
{% include base_path %}
    {% assign i = 1 %} {% for post in site.patents %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'perception' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Publications
{% if author.googlescholar %} You can also find my articles on my Google Scholar profile. {% endif %} {% include base_path %}
    {% assign i = 1 %} {% assign mid = site.publications | sort: 'date' %} {% assign publications = mid | reverse %} {% for post in publications %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
    {{ post.conference }}
    site / pdf
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.type == 'research' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'robotics' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% assign projects = site.projects | sort: 'order' %} {% for post in projects %} {% if post.category == 'software' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.


2017_brl

Talks and Presentations

A short list of recent talks or presentations given by me which were either impactful or a great learning experience for me.

{% if site.talkmap_link == true %}

See a map of all the places I've given a talk!

{% endif %} {% assign mid = site.talks | sort: 'date' %} {% assign talks = mid | reverse %} {% for post in talks %} {% include archive-single-talk.html %} {% endfor %}

2017_brl

Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

2017_brl

Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

2017_brl

Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

2017_brl


@import "jekyll-theme-primer";

2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl


{"/about/":"https://adityaagarwal.in/","/about.html":"https://adityaagarwal.in/","/resume":"https://adityaagarwal.in/cv/","/md/":"https://adityaagarwal.in/markdown/","/markdown.html":"https://adityaagarwal.in/markdown/","/nmp/":"https://adityaagarwal.in/non-menu-page/","/nmp.html":"https://adityaagarwal.in/non-menu-page/","/wordpress/blog-posts/":"https://adityaagarwal.in/year-archive/"}

2017_brl

Jupyter notebook markdown generator
# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

2017_brl


{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

2017_brl


Sitemap: {{ "sitemap.xml" | absolute_url }}

2017_brl


{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll<link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "category", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}{{ post.content | strip | xml_escape }}{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% if post.excerpt and post.excerpt != empty %}{{ post.excerpt | strip_html | normalize_whitespace | xml_escape }}{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}</entry>{% endfor %}</feed>

2017_brl

Posts by Category

2017_brl

Posts by Collection

patents


2017_brl

Systems And Methods For Teleoperated Robot (Non-provisional Filed)

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

projects

Feb 2019 - June 2020

2017_brl

A Discriminative-Deliberative Framework for 6-Dof Pose Estimation

Location: Search Based Planning Lab, RI, CMU

Learning based discriminative 6-Dof pose estimation methods require large datasets with annotated ground truth poses. Deliberative search based perception methods like PERCH 2.0 make assumptions that limit their scalibility in 6-Dof pose estimation scenarios. In this work, we combine the two together, building on their strengths and addressing the shortcomings of each. Our MaskRCNN and PERCH 2.0 based framework achieves better accuracy than state-of-the-art purely discriminative methods and requires training only for instance segmentation.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub

Skills : C++, CUDA, Python, ROS, PCL, OpenCV, OpenGL, MPI, PyTorch, Unity

Sep 2019 - June 2020

2017_brl

PERCH 2.0 : Large Scale Deliberative Perception on GPU

Location: Search Based Planning Lab, RI, CMU

Perception Via Search (PERCH) is a class of algorithms that search for the best explanation of the observed scene in a space of possible rendered scenes, thus accounting for occlusion. However these algorithms are slow, owing to their deliberative nature. In this work we redesign these algorithms in order to exploit their inherent parallel nature better on a GPU. The redesigned algorithm, PERCH 2.0, is upto a ~100X faster that its predecessor PERCH.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub / Skills : CUDA, OpenMP, C++, Python, MPI

March 2019 - May 2019

2017_brl

Visual Learning for Jenga Tower Stability Prediction

Location: RI, CMU

Deep neural networks are commonly used for object detection and classification. In this work, we explore if we can enable networks to learn physical intuition for predicting stability of a Jenga tower on removal of individual tower blocks. A Mask-RCNN + Inception-V4 based pipeline was created for this purpose.

Links : Presentation / Code : GitHub / Skills : Python, PyTorch, TensorFlow, MuJoCo

April 2014 - May 2015

2017_brl

Perception for Estimating Weed Density and Controlling Herbicide Use

Location: IIT Kharagpur, Kharagpur, India

Optimal application of herbicide for weed eradication is both cost effective and good for the environment. In this project, I designed a 6 camera and embedded controller based system that varies herbicide output based on weed density estimation from color images, cutting chemical usage by 79.5% & achieving weeding efficiency of 90.26%

Paper : Current Science 2018 / Media :

Skills : C++, OpenCV, Arduino

Feb 2017 - Jun 2017

2017_brl

Computer Vision Based Retail Checkout System

Location: Bangalore, India

SaturnCart is AI that accompanies the user as he shops, verifying his cart-items in real-time, surfacing offers based on cart items, and providing valuable recommendations. In this project, we designed a prototype consisting of a mobile app (which is placed on the shopping cart), linked to a computer vision system on the cloud and a weight based embedded system (under the shopping cart).

Videos : Clip 1

Skills : OpenCV, Arduino, TensorFlow, React Native

May 2014 - July 2014

2017_brl

Visual Odometry in Smoke Occluded Environments

Location: AIR Lab, RI, CMU

Presence of smoke in the environment leads to loss of color contrast, precision and saturation and hence visual odometry algorithms are unable to find distinguishing features in the image. In this project, I developed an integrated real-time image dehazing and visual odometry approach for autonomous aerial navigation on a smoke degraded shipboard which was tested on a real smoke filled shipboard dataset.

Links : Report / Videos : Clip 1

Skills : C++, OpenCV, ROS

Feb 2017 - May 2017

2017_brl

AirCare - A Voice Drive Customer Care Solution

Location: Bangalore, India

AirCare is a voice based customer care solution for Airtel customers. It is designed to replace conventional IVR systems that can get extremely complicated and frustrating for customers. AirCare consisted of an Alexa app talking to customers over a voice call or through the AirCare mobile app. AirCare won the 2nd Prize at Airtel Whatthehack 2017.

Links : Presentation / Code : GitHub / Skills : Python, Alexa, Android

June 2019 - June 2020

2017_brl

Pose Estimation of Moving Objects on a Conveyor Belt

Location: Search Based Planning Lab, RI, CMU

PR2 is a full body mobile manipulator (or humanoid) that consists of a 7-DoF arm. In this project, I implemented an ICP based pose estimation strategy that works with a search-based planner to grasp moving objects of a conveyor belt. I improved the pose estimation strategy by deploying PERCH 2.0 for this task enabling spatially consistent accuracy across the conveyor length.

Papers : RSS 2020, Master’s Thesis / Videos : Clip 1, Clip 2 / Code : GitHub / Skills : Python, ROS, PCL

June 2016 - July 2016

2017_brl

Estimato - An Automated Checkout Solution for Fruits/Vegetables

Location: Bangalore, India

Standardization in weights and packaging of items has saved us an incredible amount of effort and time. But this practice of manually weighing and calculating price is still followed while buying items like fruits and vegetables. Estimato is designed to replace the human at the counter with a computer that determines labels the items using a camera and simultaneously calculates the weight, thus generating the overall bill. Estimato was shortlisted for the finals of a hackathon organized by the Government of Rajasthan, India.

Videos : Clip 1 / Code : GitHub / Skills : Python, Android, React Native

Dec 2016 - May 2017

2017_brl

Kontiki Headset - A Secure Computing Platform

Location: Bangalore, India

Kontiki Headset is a mixed reality headset for secure file sharing, messaging and video streaming that uses iris recognition to authenticate users and encrypt data. The proof-of-concept prototype consisted of a mobile device acting as the main OS, a Raspberry Pi with integrated camera, IR LEDs and proximity sensor sensor for iris recognition. User’s personal mobile device acted as a remote controller for controlling mouse and keyboard on the headset. All devices communicated over Wi-Fi. I worked on assembling the prototype from scratch, writing the Raspberry Pi code and the Android code for both mobile devices.

Videos : Demo / Skills : C++, Python, Android, AR/VR

Oct 2019 - Dec 2019

2017_brl

Improved MR-MHA* using Conditional Variational Auto Encoders

Location: RI, CMU

Developed a combined learning and search based planning method that reduces planning time by using prior experiences learnt through CVAEs. The planner used (MR-MHA*) exploits loose coupling between high dimensional state representations such as between the base and arm of a mobile manipulator and CVAEs are used to better exploit this loose coupling based on prior experiences.

Links : Report, Presentation / Videos : Clip 1 / Skills : Python, C++, ROS, Planning

Feb 2019 - Oct 2019

2017_brl

Perception and Grasping for Crate Opening on RoMaN

Location: Search Based Planning Lab, RI, CMU

RoMaN is a mobile manipulation platform developed as part of the RCTA project which is a collaboration between several universities, ARL, JPL and GD. In this work, I deployed perception via search for crate detection on RoMaN. We demonstrated higher accuracy as compared to pure learning based methods and demoed the full pipeline of pose estimation followed by crate opening at NREC. The demo was attended by eminent defense personnel.

Papers : SPIE / Videos : Clip 1, Clip 2 / Media : / Skills : C++, ROS, PCL, OpenCV, MPI

June 2013 - May 2015

2017_brl

Evolutionary Techniques for Test Scheduling in 2D/3D Circuits

Location: IIT Kharagpur

Modern chips consist of 100s of cores varying in size and complexity. After manufacturing of the chip, all cores need to be tested under various constraints as fast as possible. This problem is amplified further in 3D ICs. In this work, we explore if evolutionary algorithms such as Particle Swarm Optimization can be used to schedule testing the cores in parallel and minimize test time without violating constraints. We show an improvement of 51% over the SOTA.

Papers : M.Tech Dissertation, ATS 2015, VTS 2015, VDAT 2014 / Skills : C++, Digital Circuits

March 2017 - July 2017

2017_brl

TheraKonnect - An Online Therapy Platform

Location: Bangalore, India

TheraKonnect is a dedicated cloud based software for starting and scaling an online therapy clinic. With it, therapists can easily go online and extend services to clients not in their immediate locality. It handles all aspects of communication surrounding a therapy session and has an interactive video conferencing system to help with therapy for children and individuals with special needs.

Links : Product Website, Presentation / Media :

Skills : PHP, CodeIgniter

Feb 2017 - May 2017

2017_brl

VoicePay - A Voice Drive Payment Solution

Location: Bangalore, India

User Experience is changing everyday and as technology and processing becomes cheap, conversational interaction with users has become the next big UX idea for mobile applications. Voice Pay enables banking using conversational interaction on your smartphone and Alexa devices. VoicePay finished second in ICICI Appathon 2017 (winning INR 7.5 Lakhs) that had over 3000 applications

Links : Presentation / Videos : Clip 1 / Code : GitHub / Media :

Skills : Python, Alexa, Android

Sept 2019 - Present

2017_brl

Full Body Mobile Manipulation on Walker

Location: Search Based Planning Lab, RI, CMU

Walker is a full body mobile manipulator (or humanoid) developed by UBTech that consists of a 3-DoF mobile base and a 7-DoF arm. In this project, I co-wrote the software stack for the entire robot, comprising of planners (arm and base), state machines, controllers and perception modules enabling it to navigate indoors and fetch objects for the user. The capabilities of the robot were demonstrated to over 50 people as part of a continuous demo day in July 2019.

Videos : Clip 1 / Code : GitHub / Skills : Python, ROS, PCL

publications


2017_brl

Particle Swarm Optimization guided multi-frequency power-aware System-on-Chip test scheduling using window-based peak power model

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Visual Odometry in Smoke Occluded Environments

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Gait Cycle Analysis and Inconsistency Detection using Single - Axis Accelerometer

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Testing of 3D-Stacked ICs With Hard and Soft Dies - A Particle Swarm Optimization Based Approach

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Scheduling and Test Architecture Optimization of 3D Stacked-ICs Under Various Hardware and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Infrastructure Development and Test Scheduling of 3D-Stacked ICs under Re-source and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

On-the-go position sensing and controller predicated contact-type weed eradicator

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-Time Planning and Re-planning for Real-time Grasping Objects off a Conveyor

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Toward fieldable human-scale mobile manipulation using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality GPU-based Deliberative Perception for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

PERCH 2.0 : Fast and Accurate GPU-based Perception via Search for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-time Planning and Replanning for Real-time Grasping Objects off a Conveyor Belt

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality, GPU-based, Deliberative, Object-Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Human-Scale Mobile Manipulation Using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

talks


2017_brl

Aerial Robotics Kharagpur

2017_brl

Impact of Using IJTAG for Complex Chip Designs

2017_brl

Virdian-ESpark Pitch Contest

2017_brl

McGinnis Venture Competition Finals

2017_brl

CMU Master's Thesis Talk

teaching


2017_brl

Teaching experience 1

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3


2017_brl

Teaching experience 2

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3


2017_brl

Resume

2017_brl


a:focus{outline:thin dotted #f89406;outline:5px auto #f89406;outline-offset:-2px}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}html{box-sizing:border-box;background-color:#fff;font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media (min-width: 48em){html{font-size:18px}}body{margin:0}::-moz-selection{color:#fff;background:#000}::selection{color:#fff;background:#000}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}a{color:#52adc8}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}html{position:relative;min-height:100%}body{margin:0;padding:0;padding-bottom:9em;color:#494e52;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;line-height:1.5}body.overflow--hidden{overflow:hidden}h1,h2,h3,h4,h5,h6{margin:2em 0 0.5em;line-height:1.2;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-weight:bold}h1{margin-top:0;font-size:23px}h2{font-size:1.25em}h3{font-size:16px}h4{font-size:.75em}h5{font-size:.75em}h6{font-size:.75em}small,.small{font-size:.75em}p{margin-bottom:1.3em}u,ins{text-decoration:none;border-bottom:1px solid #494e52}u a,ins a{color:inherit}del a{color:inherit}p,pre,blockquote,ul,ol,dl,figure,table,fieldset{orphans:3;widows:3}abbr[title],abbr[data-original-title]{text-decoration:none;cursor:help;border-bottom:1px dotted #494e52}blockquote{margin:2em 1em 2em 0;padding-left:1em;padding-right:1em;font-style:italic;border-left:0.25em solid #7a8288}blockquote cite{font-style:italic}blockquote cite:before{content:"\2014";padding-right:5px}a:hover,a:active{outline:0}tt,code,kbd,samp,pre{font-family:Monaco,Consolas,"Lucida Console",monospace}pre{overflow-x:auto}p>code,a>code,li>code,figcaption>code,td>code{padding-top:0.1rem;padding-bottom:0.1rem;font-size:.75em;background:#fafafa;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}p>code:before,p>code:after,a>code:before,a>code:after,li>code:before,li>code:after,figcaption>code:before,figcaption>code:after,td>code:before,td>code:after{letter-spacing:-0.2em;content:"\00a0"}hr{display:block;margin:1em 0;border:0;border-top:1px solid #f2f3f3}ul li,ol li{margin-bottom:0.5em}li ul,li ol{margin-top:0.5em}figure{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;flex-wrap:wrap;margin:2em 0}figure img,figure iframe,figure .fluid-width-video-wrapper{margin-bottom:1em}figure img{width:100%;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figure>a{display:block}@media (min-width: 37.5em){figure.half>a,figure.half>img{width:calc(50% - 0.5em)}}figure.half figcaption{width:100%}@media (min-width: 37.5em){figure.third>a,figure.third>img{width:calc(33.3333% - 0.5em)}}figure.third figcaption{width:100%}figcaption{margin-bottom:0.5em;color:#777a7d;font-family:Georgia,Times,serif;font-size:.75em}figcaption a{color:inherit;text-decoration:none;border-bottom:1px solid #bdc1c4;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figcaption a:hover{color:#000;border-bottom-color:#000}svg:not(:root){overflow:hidden}nav ul{margin:0;padding:0}nav li{list-style:none}nav a{text-decoration:none}nav ul li,nav ol li{margin-bottom:0}nav li ul,nav li ol{margin-top:0}b,i,strong,em,blockquote,p,q,span,figure,img,h1,h2,header,input,a,tr,td,form button,input[type="submit"],.btn,#goog-wm-sb,.highlight,.archive__item-teaser{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.hidden{display:none;visibility:hidden}.load{display:none}.transparent{opacity:0}.visually-hidden,.screen-reader-text,.screen-reader-text span,.screen-reader-shortcut{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);height:1px !important;width:1px !important;border:0 !important;overflow:hidden}body:hover .visually-hidden a,body:hover .visually-hidden input,body:hover .visually-hidden button{display:none !important}.screen-reader-text:focus,.screen-reader-shortcut:focus{clip:auto !important;height:auto !important;width:auto !important;display:block;font-size:1em;font-weight:bold;padding:15px 23px 14px;background:#fff;z-index:100000;text-decoration:none;box-shadow:0 0 2px 2px rgba(0,0,0,0.6)}.skip-link{position:fixed;z-index:20;margin:0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;white-space:nowrap}.skip-link li{height:0;width:0;list-style:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.cf{clear:both}.wrapper{max-width:925px;margin-left:auto;margin-right:auto}.wrapper:after{content:" ";display:block;clear:both}.align-left{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-left{float:left;margin-right:1em}}.align-right{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-right{float:right;margin-left:1em}}.align-center{display:block;margin-left:auto;margin-right:auto}@media (min-width: 57.8125em){.full{margin-right:-19.4915254237% !important}}.icon{display:inline-block;fill:currentColor;width:1em;height:1.1em;line-height:1;position:relative;top:-0.1em;vertical-align:middle}.social-icons .fa{color:#000}.social-icons .fa-behance,.social-icons .fa-behance-square{color:#1769FF}.social-icons .fa-dribbble{color:#ea4c89}.social-icons .fa-facebook,.social-icons .fa-facebook-square{color:#3b5998}.social-icons .fa-flickr{color:#ff0084}.social-icons .fa-foursquare{color:#0072b1}.social-icons .fa-github,.social-icons .fa-github-alt,.social-icons .fa-github-square{color:#171516}.social-icons .fa-google-plus,.social-icons .fa-google-plus-square{color:#dd4b39}.social-icons .fa-instagram{color:#517fa4}.social-icons .fa-lastfm,.social-icons .fa-lastfm-square{color:#d51007}.social-icons .fa-linkedin,.social-icons .fa-linkedin-square{color:#007bb6}.social-icons .fa-pinterest,.social-icons .fa-pinterest-p,.social-icons .fa-pinterest-square{color:#cb2027}.social-icons .fa-rss,.social-icons .fa-rss-square{color:#fa9b39}.social-icons .fa-soundcloud{color:#f30}.social-icons .fa-stack-exchange,.social-icons .fa-stack-overflow{color:#fe7a15}.social-icons .fa-tumblr,.social-icons .fa-tumblr-square{color:#32506d}.social-icons .fa-twitter,.social-icons .fa-twitter-square{color:#55acee}.social-icons .fa-vimeo,.social-icons .fa-vimeo-square{color:#1ab7ea}.social-icons .fa-vine{color:#00bf8f}.social-icons .fa-youtube,.social-icons .fa-youtube-square,.social-icons .fa-youtube-play{color:#b00}.social-icons .fa-xing,.social-icons .fa-xing-square{color:#006567}.navicon{position:relative;width:28px;height:4px;background:#fff;margin:auto;-webkit-transition:0.3s;transition:0.3s}.navicon:before,.navicon:after{content:"";position:absolute;left:0;width:28px;height:4px;background:#fff;-webkit-transition:0.3s;transition:0.3s}.navicon:before{top:-8px}.navicon:after{bottom:-8px}.close .navicon{background:transparent}.close .navicon:before,.close .navicon:after{-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;top:0;width:28px}.close .navicon:before{-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg)}.close .navicon:after{-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg)}@media (min-width: 57.8125em){.sticky{clear:both;position:-webkit-sticky;position:sticky;top:2em}.sticky::after{clear:both;content:"";display:table}.sticky>*{display:block}}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.show-modal{overflow:hidden;position:relative}.show-modal:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;z-index:999;background-color:rgba(255,255,255,0.85)}.show-modal .modal{display:block}.modal{display:none;position:fixed;width:300px;top:50%;left:50%;margin-left:-150px;margin-top:-150px;min-height:0;z-index:9999;background:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.modal__title{margin:0;padding:0.5em 1em}.modal__supporting-text{padding:0 1em 0.5em 1em}.modal__actions{padding:0.5em 1em;border-top:1px solid #f2f3f3}.footnote{color:#9ba1a6;text-decoration:none}.footnotes{color:#9ba1a6}.footnotes ol,.footnotes li,.footnotes p{margin-bottom:0;font-size:.75em}a.reversefootnote{color:#7a8288;text-decoration:none}a.reversefootnote:hover{text-decoration:underline}.required{color:#ee5f5b;font-weight:bold}@-webkit-keyframes intro{0%{opacity:0}100%{opacity:1}}@keyframes intro{0%{opacity:0}100%{opacity:1}}table{margin-bottom:1em;width:100%;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;border-collapse:collapse;border:0px solid #bdc1c4}table+table{margin-top:1em}thead{background-color:#f2f3f3;border-bottom:0px solid #bdc1c4}th{padding:0.5em;font-weight:bold;text-align:left;border-right:0px solid #bdc1c4}td{padding:0.5em;border-bottom:0px solid #bdc1c4;border-right:0px solid #bdc1c4}tr,td,th{vertical-align:top}table p{margin:0px;text-align:justify}.btn,#goog-wm-sb{display:inline-block;margin-bottom:0.25em;padding:0.5em 1em;color:#fff !important;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;font-weight:bold;text-align:center;text-decoration:none;background-color:#7a8288;border:0 !important;border-radius:4px;cursor:pointer}.btn:hover,#goog-wm-sb:hover{background-color:#333}.btn .icon,#goog-wm-sb .icon{margin-right:0.5em}.btn .icon+.hidden,#goog-wm-sb .icon+.hidden{margin-left:-0.5em}.btn--block{display:block;width:100%}.btn--block+.btn--block{margin-top:0.25em}.btn--inverse{color:#7a8288 !important;border:1px solid #bdc1c4 !important;background-color:#fff}.btn--inverse:hover{color:#fff !important;border-color:#7a8288}.btn--light-outline{border:1px solid #fff !important;background-color:transparent}.btn--info{background-color:#52adc8}.btn--info:hover{background-color:#428aa0}.btn--warning{background-color:#f89406}.btn--warning:hover{background-color:#c67605}.btn--success{background-color:#62c462}.btn--success:hover{background-color:#4e9d4e}.btn--danger{background-color:#ee5f5b}.btn--danger:hover{background-color:#be4c49}.btn--disabled{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.btn--facebook{background-color:#3b5998}.btn--facebook:hover{background-color:#2f477a}.btn--twitter{background-color:#55acee}.btn--twitter:hover{background-color:#448abe}.btn--google-plus{background-color:#dd4b39}.btn--google-plus:hover{background-color:#b13c2e}.btn--linkedin{background-color:#007bb6}.btn--linkedin:hover{background-color:#006292}.btn--x-large{font-size:1.25em}.btn--large{font-size:16px}.btn--small{font-size:.6875em}.notice{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f8f9f9;border-radius:4px;box-shadow:0 1px 1px rgba(189,193,196,0.25)}.notice h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice h4{margin-bottom:0;font-size:1em}.notice p:last-child{margin-bottom:0 !important}.notice h4+p{margin-top:0;padding-top:0}.notice a{color:#bdc1c4}.notice a:hover{color:#717476}.notice code{background-color:#fcfcfc}.notice ul:last-child{margin-bottom:0}.notice--primary{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(122,130,136,0.25)}.notice--primary h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--primary h4{margin-bottom:0;font-size:1em}.notice--primary p:last-child{margin-bottom:0 !important}.notice--primary h4+p{margin-top:0;padding-top:0}.notice--primary a{color:#7a8288}.notice--primary a:hover{color:#494e52}.notice--primary code{background-color:#f8f9f9}.notice--primary ul:last-child{margin-bottom:0}.notice--info{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eef7fa;border-radius:4px;box-shadow:0 1px 1px rgba(82,173,200,0.25)}.notice--info h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--info h4{margin-bottom:0;font-size:1em}.notice--info p:last-child{margin-bottom:0 !important}.notice--info h4+p{margin-top:0;padding-top:0}.notice--info a{color:#52adc8}.notice--info a:hover{color:#316878}.notice--info code{background-color:#f6fbfc}.notice--info ul:last-child{margin-bottom:0}.notice--warning{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fef4e6;border-radius:4px;box-shadow:0 1px 1px rgba(248,148,6,0.25)}.notice--warning h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--warning h4{margin-bottom:0;font-size:1em}.notice--warning p:last-child{margin-bottom:0 !important}.notice--warning h4+p{margin-top:0;padding-top:0}.notice--warning a{color:#f89406}.notice--warning a:hover{color:#955904}.notice--warning code{background-color:#fffaf3}.notice--warning ul:last-child{margin-bottom:0}.notice--success{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eff9ef;border-radius:4px;box-shadow:0 1px 1px rgba(98,196,98,0.25)}.notice--success h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--success h4{margin-bottom:0;font-size:1em}.notice--success p:last-child{margin-bottom:0 !important}.notice--success h4+p{margin-top:0;padding-top:0}.notice--success a{color:#62c462}.notice--success a:hover{color:#3b763b}.notice--success code{background-color:#f7fcf7}.notice--success ul:last-child{margin-bottom:0}.notice--danger{margin:2em 0 !important;padding:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fdefef;border-radius:4px;box-shadow:0 1px 1px rgba(238,95,91,0.25)}.notice--danger h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--danger h4{margin-bottom:0;font-size:1em}.notice--danger p:last-child{margin-bottom:0 !important}.notice--danger h4+p{margin-top:0;padding-top:0}.notice--danger a{color:#ee5f5b}.notice--danger a:hover{color:#8f3937}.notice--danger code{background-color:#fef7f7}.notice--danger ul:last-child{margin-bottom:0}.masthead{position:relative;border-bottom:1px solid #f2f3f3;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.15s;animation-delay:0.15s;z-index:20}.masthead__inner-wrap{max-width:925px;margin-left:auto;margin-right:auto;clear:both;padding:1em 1em 1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.masthead__inner-wrap:after{content:" ";display:block;clear:both}.masthead__inner-wrap::after{clear:both;content:"";display:table}@media (min-width: 80em){.masthead__inner-wrap{max-width:1280px}}.masthead__inner-wrap nav{z-index:10}.masthead__inner-wrap a{text-decoration:none}.masthead__menu ul{margin:0;padding:0;clear:both;list-style-type:none}.masthead__menu-item{display:block;list-style-type:none;white-space:nowrap}.masthead__menu-item--lg{padding-right:2em;font-weight:700}.breadcrumbs{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:0;margin-bottom:0;padding-left:2em;padding-right:2em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.30s;animation-delay:0.30s}.breadcrumbs:after{content:" ";display:block;clear:both}.breadcrumbs::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.breadcrumbs{padding-left:1em;padding-right:1em}}@media (min-width: 80em){.breadcrumbs{max-width:1280px}}.breadcrumbs ol{padding:0;list-style:none;font-size:.75em}@media (min-width: 57.8125em){.breadcrumbs ol{width:83.0508474576%;float:right;margin-right:0}}@media (min-width: 80em){.breadcrumbs ol{padding-left:4.2372881356%}}.breadcrumbs li{display:inline}.breadcrumbs .current{font-weight:bold}.pagination{clear:both;width:100%;float:left;margin-left:0;margin-right:0;clear:both;margin-top:1em;padding-top:1em}.pagination::after{clear:both;content:"";display:table}.pagination ul{margin:0;padding:0;list-style-type:none;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.pagination li{display:block;float:left;margin-left:-1px}.pagination li a{margin-bottom:0.25em;padding:0.5em 1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:14px;font-weight:bold;line-height:1.5;text-align:center;text-decoration:none;color:#9ba1a6;border:1px solid #bdc1c4;border-radius:0}.pagination li a:hover{color:#3e8296}.pagination li a.current{color:#fff;background:#7a8288}.pagination li a.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.pagination li:first-child{margin-left:0}.pagination li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination--pager{display:block;padding:1em 2em;float:left;width:50%;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;font-weight:bold;text-align:center;text-decoration:none;color:#bdc1c4;border:1px solid #bdc1c4;border-radius:4px}.pagination--pager:hover{color:#3e8296}.pagination--pager:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pagination--pager:last-child{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.pagination--pager.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.page__content+.pagination,.page__meta+.pagination,.comment__date+.pagination,.page__share+.pagination,.page__comments+.pagination{margin-top:2em;padding-top:2em;border-top:1px solid #f2f3f3}.greedy-nav{position:relative;min-width:250px;background:#fff}.greedy-nav a{display:block;margin:0 1rem;padding:0.5rem 0;color:#7a8288;text-decoration:none}.greedy-nav a:hover{color:#5c6266}.greedy-nav button{position:absolute;height:100%;right:0;padding:0 0.5rem;border:0;outline:none;background-color:#7a8288;color:#fff;cursor:pointer}.greedy-nav .visible-links{display:table}.greedy-nav .visible-links li{display:table-cell;vertical-align:middle}.greedy-nav .visible-links li:first-child{font-weight:bold}.greedy-nav .visible-links li:first-child a{margin-left:0}.greedy-nav .visible-links li:last-child a{margin-right:0}.greedy-nav .visible-links a{position:relative}.greedy-nav .visible-links a:before{content:"";position:absolute;left:0;bottom:0;height:4px;background:#bdc1c4;width:100%;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.greedy-nav .visible-links a:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.greedy-nav .hidden-links{position:absolute;top:100%;right:0;margin-top:15px;padding:5px;border:1px solid #f2f3f3;border-radius:4px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25)}.greedy-nav .hidden-links a{margin:0;padding:10px 20px;font-size:16px}.greedy-nav .hidden-links a:hover{color:#5c6266;background:#dee0e1}.greedy-nav .hidden-links:before{content:"";position:absolute;top:-11px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;display:block;z-index:0}.greedy-nav .hidden-links:after{content:"";position:absolute;top:-10px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;display:block;z-index:1}.greedy-nav .hidden-links li{display:block;border-bottom:1px solid #f2f3f3}.greedy-nav .hidden-links li:last-child{border-bottom:none}.nav__list{font-size:1.25rem}.nav__list ul{margin-bottom:1em}.nav__list a{display:block;padding:0.125em 0;color:inherit}.nav__list a:hover{text-decoration:underline}.nav__list .active{margin-left:-0.5em;padding-left:0.5em;padding-right:0.5em;color:#fff;font-weight:bold;background:#7a8288;border-radius:4px}.nav__list .active:hover{color:#fff}.nav__title{margin:0;padding:0.5rem 1rem;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;font-weight:bold}.nav__sub-title{display:block;margin:0.5rem 0;padding:0.5rem 0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;font-weight:bold;text-transform:uppercase;border-bottom:1px solid #f2f3f3}.toc{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;color:#7a8288;text-transform:uppercase;letter-spacing:1px;background-color:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.toc .nav__title{color:#fff;font-size:.75em;background:#7a8288;border-top-left-radius:4px;border-top-right-radius:4px}.toc__menu{margin:0;padding:0;width:100%;list-style:none;font-size:0.8rem}.toc__menu a{display:block;padding:0.5rem 1rem;color:#7a8288;font-size:.6875em;font-weight:bold;line-height:1.5;border-bottom:1px solid #f2f3f3}.toc__menu a:hover{color:#000;background:#f2f3f3}.toc__menu>li:last-child a{border-bottom:none}.toc__menu li ul>li a{padding-left:2rem;font-weight:normal}.toc__menu li>ul li{display:none}@media (min-width: 48em){.toc__menu li>ul li{display:block}}.page__footer{clear:both;float:left;margin-left:0;margin-right:0;width:100%;clear:both;position:absolute;bottom:0em;height:auto;margin-top:3em;color:#9ba1a6;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.45s;animation-delay:0.45s;background-color:#f2f3f3;border-top:1px solid #bdc1c4}.page__footer::after{clear:both;content:"";display:table}.page__footer footer{clear:both;margin-left:auto;margin-right:auto;margin-top:2em;max-width:100%;padding:0 1em 2em}.page__footer footer::after{clear:both;content:"";display:table}@media (min-width: 80em){.page__footer footer{max-width:1280px}}.page__footer a{color:inherit;text-decoration:none}.page__footer a:hover{text-decoration:underline}.page__footer .fas,.page__footer .fab,.page__footer .far,.page__footer .fal{color:#9ba1a6}.page__footer-copyright{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.6875em}.page__footer-follow ul{margin:0;padding:0;list-style-type:none}.page__footer-follow li{display:inline-block;padding-top:5px;padding-bottom:5px;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em;text-transform:uppercase}.page__footer-follow li+li:before{content:"";padding-right:5px}.page__footer-follow a{padding-right:10px;font-weight:bold}.page__footer-follow .social-icons a{white-space:nowrap}div.highlighter-rouge,figure.highlight{position:relative;margin-bottom:1em;padding:1em;border:1px solid #f2f3f3;border-radius:4px;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,0.125)}div.highlighter-rouge:before,figure.highlight:before{position:absolute;top:0;right:0;padding:0.5em;background-color:#f2f3f3;content:"\f121";font-family:"fontawesome" !important;font-size:.75em;line-height:1;text-transform:none;speak:none}div.highlighter-rouge .highlight,figure.highlight .highlight{margin:0;font-family:Monaco,Consolas,"Lucida Console",monospace;font-size:.6875em;line-height:1.8}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .c{color:#93a1a1}.highlight .err{color:#586e75}.highlight .g{color:#586e75}.highlight .k{color:#859900}.highlight .l{color:#586e75}.highlight .n{color:#586e75}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#586e75}.highlight .cm{color:#93a1a1}.highlight .cp{color:#859900}.highlight .c1{color:#93a1a1}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#586e75;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:#586e75;font-weight:bold}.highlight .gu{color:#cb4b16}.highlight .gt{color:#586e75}.highlight .kc{color:#cb4b16}.highlight .kd{color:#22b3eb}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#22b3eb}.highlight .kt{color:#dc322f}.highlight .ld{color:#586e75}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#586e75}.highlight .nb{color:#B58900}.highlight .nc{color:#22b3eb}.highlight .no{color:#cb4b16}.highlight .nd{color:#22b3eb}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#22b3eb}.highlight .nl{color:#586e75}.highlight .nn{color:#586e75}.highlight .nx{color:#586e75}.highlight .py{color:#586e75}.highlight .nt{color:#22b3eb}.highlight .nv{color:#22b3eb}.highlight .ow{color:#859900}.highlight .w{color:#586e75}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#93a1a1}.highlight .sc{color:#2aa198}.highlight .sd{color:#586e75}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#22b3eb}.highlight .vc{color:#22b3eb}.highlight .vg{color:#22b3eb}.highlight .vi{color:#22b3eb}.highlight .il{color:#2aa198}form{margin:0 0 5px 0}form fieldset{margin-bottom:5px;padding:0;border-width:0}form legend{display:block;width:100%;margin-bottom:10px;*margin-left:-7px;padding:0;color:#494e52;border:0;border-bottom:1px solid #ccc;white-space:normal}form p{margin-bottom:5px / 2}form ul{list-style-type:none;margin:0 0 5px 0;padding:0}form br{display:none}label,input,button,select,textarea{vertical-align:baseline;*vertical-align:middle}input,button,select,textarea{box-sizing:border-box;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}label{display:block;margin-bottom:0.25em;color:#494e52;cursor:pointer}label small{font-size:.75em}label input,label textarea,label select{display:block}input,textarea,select{display:inline-block;width:100%;padding:0.25em;margin-bottom:0.5em;color:#494e52;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}input:hover,textarea:hover,select:hover{border-color:#bdc1c4}.input-mini{width:60px}.input-small{width:90px}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;border-radius:0;border:0 \9}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="image"]{border:0;box-shadow:none}input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:transparent;background-color:initial;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;cursor:pointer;*overflow:visible}select,input[type="file"]{*margin-top:4px}select{width:auto;background-color:#fff}select[multiple],select[size]{height:auto}textarea{resize:vertical;height:auto;overflow:auto;vertical-align:top}input[type="hidden"]{display:none}.form{position:relative}.radio,.checkbox{padding-left:18px;font-weight:normal}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{opacity:0.5;cursor:not-allowed}input:focus,textarea:focus{border-color:#7a8288;outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{box-shadow:none}.help-block,.help-inline{color:#52adc8}.help-block{display:block;margin-bottom:1em;line-height:1em}.help-inline{display:inline-block;vertical-align:middle;padding-left:5px}.form-inline input,.form-inline textarea,.form-inline select{display:inline-block;margin-bottom:0}.form-inline label{display:inline-block}.form-inline .radio,.form-inline .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form-search input,.form-search textarea,.form-search select{display:inline-block;margin-bottom:0}.form-search .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;border-radius:14px}.form-search label{display:inline-block}.form-search .radio,.form-search .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form--loading:before{content:''}.form--loading .form__spinner{display:block}.form:before{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);z-index:10}.form__spinner{display:none;position:absolute;top:50%;left:50%;z-index:11}#goog-fixurl ul{list-style:none;margin-left:0;padding-left:0}#goog-fixurl ul li{list-style-type:none}#goog-wm-qt{width:auto;margin-right:10px;margin-bottom:20px;padding:8px 20px;display:inline-block;font-size:.75em;background-color:#fff;color:#000;border-width:2px !important;border-style:solid !important;border-color:gray;border-radius:4px}#main{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:2em;padding-left:1em;padding-right:1em;animation:intro 0.3s both;animation-delay:0.35s}#main:after{content:" ";display:block;clear:both}#main::after{clear:both;content:"";display:table}@media (min-width: 80em){#main{max-width:1280px}}@media (min-width: 57.8125em){.page{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:16.9491525424%}}.page .page__inner-wrap{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page .page__inner-wrap .page__content,.page .page__inner-wrap .page__meta,.page .page__inner-wrap .comment__date,.page .page__inner-wrap .page__share{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__title{margin-top:0;line-height:1}.page__title+.page__meta,.page__title+.comment__date{margin-top:-0.5em}.page__lead{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:1.25em}.page__content h2{padding-bottom:0.5em;border-bottom:1px solid #f2f3f3}.page__content p,.page__content li,.page__content dl{font-size:16px}.page__content p{margin:0 0 1.3em}.page__content a{text-decoration:underline}.page__content a:hover{text-decoration:underline}.page__content a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.page__content dt{margin-top:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-weight:bold}.page__content dd{margin-left:1em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em}.page__content .small{font-size:.75em}.page__content blockquote+.small{margin-top:-1.5em;padding-left:1.25rem}.page__hero{position:relative;margin-bottom:2em;clear:both;animation:intro 0.3s both;animation-delay:0.25s}.page__hero::after{clear:both;content:"";display:table}.page__hero--overlay{position:relative;margin-bottom:2em;padding:3em 0;clear:both;background-size:cover;background-repeat:no-repeat;background-position:center;animation:intro 0.3s both;animation-delay:0.25s}.page__hero--overlay::after{clear:both;content:"";display:table}.page__hero--overlay a{color:#fff}.page__hero--overlay .wrapper{padding-left:1em;padding-right:1em}@media (min-width: 80em){.page__hero--overlay .wrapper{max-width:1280px}}.page__hero--overlay .page__title,.page__hero--overlay .page__meta,.page__hero--overlay .comment__date,.page__hero--overlay .page__lead,.page__hero--overlay .btn,.page__hero--overlay #goog-wm-sb{color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,0.5)}.page__hero--overlay .page__lead{max-width:768px}.page__hero--overlay .page__title{font-size:1.953em}@media (min-width: 37.5em){.page__hero--overlay .page__title{font-size:2.441em}}.page__hero-image{width:100%;height:auto;-ms-interpolation-mode:bicubic}.page__hero-caption{position:absolute;bottom:0;right:0;margin:0 auto;padding:2px 5px;color:#fff;font-family:Georgia,Times,serif;font-size:.6875em;background:#000;text-align:right;z-index:5;opacity:0.5;border-radius:4px 0 4px 0}@media (min-width: 57.8125em){.page__hero-caption{padding:5px 10px}}.page__hero-caption a{color:#fff;text-decoration:none}.page__share{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3}@media (max-width: 37.5em){.page__share .btn span,.page__share #goog-wm-sb span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}}.page__share-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__meta,.comment__date{margin-top:2em;color:#9ba1a6;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:.75em}.page__meta p,.comment__date p{margin:0}.page__meta a,.comment__date a{color:inherit}.page__meta-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__taxonomy .sep{display:none}.page__taxonomy strong{margin-right:10px}.page__taxonomy-item{display:inline-block;margin-right:5px;margin-bottom:8px;padding:5px 10px;text-decoration:none;border:1px solid #bdc1c4;border-radius:4px}.page__taxonomy-item:hover{text-decoration:none;color:#3e8296}.page__comments{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__comments-title{margin-top:2rem;margin-bottom:10px;padding-top:2rem;font-size:.75em;border-top:1px solid #f2f3f3;text-transform:uppercase}.page__comments-form{padding:1em;background:#f2f3f3;transition:all 0.2s ease-in-out}.page__comments-form.disabled input,.page__comments-form.disabled button,.page__comments-form.disabled textarea,.page__comments-form.disabled label{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.comment{clear:both;margin:1em 0}.comment::after{clear:both;content:"";display:table}.comment:not(:last-child){border-bottom:1px solid #f2f3f3}.comment__avatar-wrapper{float:left;width:60px;height:60px}@media (min-width: 57.8125em){.comment__avatar-wrapper{width:100px;height:100px}}.comment__avatar{width:40px;height:40px;border-radius:50%}@media (min-width: 57.8125em){.comment__avatar{width:80px;height:80px;padding:5px;border:1px solid #f2f3f3}}.comment__content-wrapper{float:right;width:calc(100% - 60px)}@media (min-width: 57.8125em){.comment__content-wrapper{width:calc(100% - 100px)}}.comment__author{margin:0}.comment__author a{text-decoration:none}.comment__date{margin:0}.comment__date a{text-decoration:none}.page__related{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3;clear:both;float:left}.page__related::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.page__related{margin-left:21.186440678%}}.page__related a{color:inherit;text-decoration:none}.page__related-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.archive{margin-bottom:2em}@media (min-width: 48em){.archive{width:100%;float:left;margin-left:0;margin-right:0}}@media (min-width: 57.8125em){.archive{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%}}.archive a{text-decoration:underline}.archive a:hover{text-decoration:underline}.archive a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__subtitle{margin:1.414em 0 0;padding-bottom:0.5em;font-size:16px;color:#9ba1a6;border-bottom:1px solid #f2f3f3}.archive__subtitle+.list__item .archive__item-title{margin-top:0.5em}.archive__item-title{margin-bottom:0.25em;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.archive__item-title a+a{opacity:0.5}.page__content .archive__item-title{margin-top:1em;border-bottom:none}.archive__item-excerpt{margin-top:0;font-size:.75em}.archive__item-excerpt+p{text-indent:0}.archive__item-teaser{border-radius:4px;overflow:hidden}.archive__item-teaser img{width:100%}.archive__item:hover .archive__item-teaser{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__item:hover .archive__item-title{text-decoration:underline}@media (min-width: 48em){.list__item{padding-right:0px}}@media (min-width: 57.8125em){.list__item{padding-right:0px}}@media (min-width: 80em){.list__item{padding-right:0px}}.list__item .page__meta,.list__item .comment__date{margin:0 0 4px}.grid__item{margin-bottom:2em}.grid__item .page__meta,.grid__item .comment__date{margin:0 0 4px}.grid__item .archive__item-title{margin-top:0.5em;font-size:16px}.grid__item .archive__item-excerpt{display:none}@media (min-width: 37.5em){.grid__item{width:48.9795918367%;float:left}.grid__item:nth-child(2n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(2n+2){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:200px}}@media (min-width: 48em){.grid__item{margin-left:0;margin-right:0;width:23.4693877551%;float:left}.grid__item:nth-child(4n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(4n+2){margin-left:25.5102040816%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+3){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+4){margin-left:76.5306122449%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:120px}.grid__item .archive__item-excerpt{display:block;font-size:.75em}}.feature__wrapper{clear:both;margin-bottom:2em;border-bottom:1px solid #f2f3f3}.feature__wrapper::after{clear:both;content:"";display:table}.feature__item{margin-bottom:2em;font-size:1.25rem}@media (min-width: 37.5em){.feature__item{margin-bottom:0;width:32.2033898305%;float:left}.feature__item:nth-child(3n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.feature__item:nth-child(3n+2){margin-left:33.8983050847%;margin-right:-100%;clear:none}.feature__item:nth-child(3n+3){margin-left:67.7966101695%;margin-right:-100%;clear:none}.feature__item .feature__item-teaser{max-height:200px;overflow:hidden}}.feature__item--left{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--left .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--left .archive__item-teaser{width:40.6779661017%;float:left;margin-right:1.6949152542%}.feature__item--left .archive__item-body{width:57.6271186441%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--right{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--right .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--right{text-align:right}.feature__item--right .archive__item-teaser{width:40.6779661017%;float:right;margin-left:1.6949152542%}.feature__item--right .archive__item-body{width:57.6271186441%;float:left;margin-left:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--center{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--center .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--center{text-align:center}.feature__item--center .archive__item-teaser{margin:0 auto;width:40.6779661017%}.feature__item--center .archive__item-body{margin:0 auto;width:57.6271186441%}}.sidebar{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);clear:both;margin-bottom:1em}.sidebar::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.sidebar{width:15.2542372881%;float:left;margin-right:1.6949152542%;opacity:1;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.sidebar:hover{opacity:1}}@media (min-width: 80em){.sidebar{padding-right:0}}.sidebar h2,.sidebar h3,.sidebar h4,.sidebar h5,.sidebar h6{margin-bottom:0;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif}.sidebar h3,.sidebar h4{font-size:16px}.sidebar p,.sidebar li{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px;line-height:1.5}.sidebar img{width:100%}.sidebar__right{margin-bottom:1em}@media (min-width: 57.8125em){.sidebar__right{position:relative;float:right;width:0px;margin-left:2.5423728814%;z-index:10}}@media (min-width: 80em){.sidebar__right{width:0px}}.author__avatar{display:table-cell;vertical-align:top;width:36px}@media (min-width: 57.8125em){.author__avatar{display:block;width:auto;height:auto}}.author__avatar img{max-width:175px;border-radius:50%}@media (min-width: 57.8125em){.author__avatar img{padding:5px;border:1px solid #f2f3f3}}.author__content{display:table-cell;vertical-align:top;padding-left:15px;padding-right:25px;line-height:1}@media (min-width: 57.8125em){.author__content{display:block;width:100%;padding-left:0;padding-right:0}}.author__name{margin:0}@media (min-width: 57.8125em){.author__name{margin-top:10px;margin-bottom:10px}}.sidebar .author__name{font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;font-size:16px}.author__bio{margin:0}@media (min-width: 57.8125em){.author__bio{margin-top:10px;margin-bottom:20px}}.author__urls-wrapper{position:relative;display:table-cell;vertical-align:middle;font-family:"CMUSansSerif","Lato",Verdana,Helvetica,sans-serif;z-index:10;position:relative;cursor:pointer}.author__urls-wrapper li:last-child a{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper{display:block}}.author__urls-wrapper button{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper button{display:none}}.author__urls{display:none;position:absolute;right:0;margin-top:15px;padding:10px;list-style-type:none;border:1px solid #f2f3f3;border-radius:4px;background:#fff;z-index:-1;box-shadow:0 0 10px rgba(0,0,0,0.25);cursor:default}@media (min-width: 57.8125em){.author__urls{display:block;position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none}}.author__urls:before{display:block;content:"";position:absolute;top:-11px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;z-index:0}@media (min-width: 57.8125em){.author__urls:before{display:none}}.author__urls:after{display:block;content:"";position:absolute;top:-10px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;z-index:1}@media (min-width: 57.8125em){.author__urls:after{display:none}}.author__urls li{white-space:nowrap}.author__urls a{display:block;margin-bottom:5px;padding-right:5px;padding-top:2px;padding-bottom:2px;color:inherit;font-size:16px;text-decoration:none}.author__urls a:hover{text-decoration:underline}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fas,.far,.fal,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid 0.08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=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{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-acquisitions-incorporated:before{content:""}.fa-ad:before{content:""}.fa-address-book:before{content:""}.fa-address-card:before{content:""}.fa-adjust:before{content:""}.fa-adn:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-air-freshener:before{content:""}.fa-algolia:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-alipay:before{content:""}.fa-allergies:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-ambulance:before{content:""}.fa-american-sign-language-interpreting:before{content:""}.fa-amilia:before{content:""}.fa-anchor:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angry:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-ankh:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-alt:before{content:""}.fa-apple-pay:before{content:""}.fa-archive:before{content:""}.fa-archway:before{content:""}.fa-arrow-alt-circle-down:before{content:""}.fa-arrow-alt-circle-left:before{content:""}.fa-arrow-alt-circle-right:before{content:""}.fa-arrow-alt-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrows-alt:before{content:""}.fa-arrows-alt-h:before{content:""}.fa-arrows-alt-v:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asterisk:before{content:""}.fa-asymmetrik:before{content:""}.fa-at:before{content:""}.fa-atlas:before{content:""}.fa-atom:before{content:""}.fa-audible:before{content:""}.fa-audio-description:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-award:before{content:""}.fa-aws:before{content:""}.fa-backspace:before{content:""}.fa-backward:before{content:""}.fa-balance-scale:before{content:""}.fa-ban:before{content:""}.fa-band-aid:before{content:""}.fa-bandcamp:before{content:""}.fa-barcode:before{content:""}.fa-bars:before{content:""}.fa-baseball-ball:before{content:""}.fa-basketball-ball:before{content:""}.fa-bath:before{content:""}.fa-battery-empty:before{content:""}.fa-battery-full:before{content:""}.fa-battery-half:before{content:""}.fa-battery-quarter:before{content:""}.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-beer:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bible:before{content:""}.fa-bicycle:before{content:""}.fa-bimobject:before{content:""}.fa-binoculars:before{content:""}.fa-birthday-cake:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blind:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bold:before{content:""}.fa-bolt:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-book-dead:before{content:""}.fa-book-open:before{content:""}.fa-book-reader:before{content:""}.fa-bookmark:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-box-open:before{content:""}.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broadcast-tower:before{content:""}.fa-broom:before{content:""}.fa-brush:before{content:""}.fa-btc:before{content:""}.fa-bug:before{content:""}.fa-building:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burn:before{content:""}.fa-buromobelexperte:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before{content:""}.fa-business-time:before{content:""}.fa-buysellads:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-times:before{content:""}.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-campground:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-car:before{content:""}.fa-car-alt:before{content:""}.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-side:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-square-down:before{content:""}.fa-caret-square-left:before{content:""}.fa-caret-square-right:before{content:""}.fa-caret-square-up:before{content:""}.fa-caret-up:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-plus:before{content:""}.fa-cat:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before{content:""}.fa-charging-station:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-check-double:before{content:""}.fa-check-square:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-chrome:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-city:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-download-alt:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-cloud-upload-alt:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cocktail:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-coffee:before{content:""}.fa-cog:before{content:""}.fa-cogs:before{content:""}.fa-coins:before{content:""}.fa-columns:before{content:""}.fa-comment:before{content:""}.fa-comment-alt:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-slash:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compress:before{content:""}.fa-concierge-bell:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-credit-card:before{content:""}.fa-critical-role:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-cut:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dashcube:before{content:""}.fa-database:before{content:""}.fa-deaf:before{content:""}.fa-delicious:before{content:""}.fa-democrat:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-desktop:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagnoses:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-digital-tachograph:before{content:""}.fa-directions:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-divide:before{content:""}.fa-dizzy:before{content:""}.fa-dna:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before{content:""}.fa-dolly:before{content:""}.fa-dolly-flatbed:before{content:""}.fa-donate:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dot-circle:before{content:""}.fa-dove:before{content:""}.fa-download:before{content:""}.fa-draft2digital:before{content:""}.fa-drafting-compass:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-drupal:before{content:""}.fa-dumbbell:before{content:""}.fa-dungeon:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edit:before{content:""}.fa-eject:before{content:""}.fa-elementor:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelope-square:before{content:""}.fa-envira:before{content:""}.fa-equals:before{content:""}.fa-eraser:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-etsy:before{content:""}.fa-euro-sign:before{content:""}.fa-exchange-alt:before{content:""}.fa-exclamation:before{content:""}.fa-exclamation-circle:before{content:""}.fa-exclamation-triangle:before{content:""}.fa-expand:before{content:""}.fa-expand-arrows-alt:before{content:""}.fa-expeditedssl:before{content:""}.fa-external-link-alt:before{content:""}.fa-external-link-square-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper:before{content:""}.fa-eye-slash:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fast-backward:before{content:""}.fa-fast-forward:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before{content:""}.fa-female:before{content:""}.fa-fighter-jet:before{content:""}.fa-file:before{content:""}.fa-file-alt:before{content:""}.fa-file-archive:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-download:before{content:""}.fa-file-excel:before{content:""}.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-medical:before{content:""}.fa-file-medical-alt:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-upload:before{content:""}.fa-file-video:before{content:""}.fa-file-word:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-firefox:before{content:""}.fa-first-aid:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-fish:before{content:""}.fa-fist-raised:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-flushed:before{content:""}.fa-fly:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-font:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-football-ball:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-forward:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-frog:before{content:""}.fa-frown:before{content:""}.fa-frown-open:before{content:""}.fa-fulcrum:before{content:""}.fa-funnel-dollar:before{content:""}.fa-futbol:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gavel:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-git:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glass-martini:before{content:""}.fa-glass-martini-alt:before{content:""}.fa-glasses:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-globe:before{content:""}.fa-globe-africa:before{content:""}.fa-globe-americas:before{content:""}.fa-globe-asia:before{content:""}.fa-gofore:before{content:""}.fa-golf-ball:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-greater-than:before{content:""}.fa-greater-than-equal:before{content:""}.fa-grimace:before{content:""}.fa-grin:before{content:""}.fa-grin-alt:before{content:""}.fa-grin-beam:before{content:""}.fa-grin-beam-sweat:before{content:""}.fa-grin-hearts:before{content:""}.fa-grin-squint:before{content:""}.fa-grin-squint-tears:before{content:""}.fa-grin-stars:before{content:""}.fa-grin-tears:before{content:""}.fa-grin-tongue:before{content:""}.fa-grin-tongue-squint:before{content:""}.fa-grin-tongue-wink:before{content:""}.fa-grin-wink:before{content:""}.fa-grip-horizontal:before{content:""}.fa-grip-vertical:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-gulp:before{content:""}.fa-h-square:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-paper:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-rock:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before{content:""}.fa-hands-helping:before{content:""}.fa-handshake:before{content:""}.fa-hanukiah:before{content:""}.fa-hashtag:before{content:""}.fa-hat-wizard:before{content:""}.fa-haykal:before{content:""}.fa-hdd:before{content:""}.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-highlighter:before{content:""}.fa-hiking:before{content:""}.fa-hippo:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-history:before{content:""}.fa-hockey-puck:before{content:""}.fa-home:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-horse:before{content:""}.fa-hospital:before{content:""}.fa-hospital-alt:before{content:""}.fa-hospital-symbol:before{content:""}.fa-hot-tub:before{content:""}.fa-hotel:before{content:""}.fa-hotjar:before{content:""}.fa-hourglass:before{content:""}.fa-hourglass-end:before{content:""}.fa-hourglass-half:before{content:""}.fa-hourglass-start:before{content:""}.fa-house-damage:before{content:""}.fa-houzz:before{content:""}.fa-hryvnia:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-i-cursor:before{content:""}.fa-id-badge:before{content:""}.fa-id-card:before{content:""}.fa-id-card-alt:before{content:""}.fa-image:before{content:""}.fa-images:before{content:""}.fa-imdb:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-info-circle:before{content:""}.fa-instagram:before{content:""}.fa-internet-explorer:before{content:""}.fa-ioxhost:before{content:""}.fa-italic:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-joget:before{content:""}.fa-joint:before{content:""}.fa-joomla:before{content:""}.fa-journal-whills:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaaba:before{content:""}.fa-kaggle:before{content:""}.fa-key:before{content:""}.fa-keybase:before{content:""}.fa-keyboard:before{content:""}.fa-keycdn:before{content:""}.fa-khanda:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-kiss:before{content:""}.fa-kiss-beam:before{content:""}.fa-kiss-wink-heart:before{content:""}.fa-kiwi-bird:before{content:""}.fa-korvue:before{content:""}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-laugh:before{content:""}.fa-laugh-beam:before{content:""}.fa-laugh-squint:before{content:""}.fa-laugh-wink:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-leanpub:before{content:""}.fa-lemon:before{content:""}.fa-less:before{content:""}.fa-less-than:before{content:""}.fa-less-than-equal:before{content:""}.fa-level-down-alt:before{content:""}.fa-level-up-alt:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-line:before{content:""}.fa-link:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lira-sign:before{content:""}.fa-list:before{content:""}.fa-list-alt:before{content:""}.fa-list-ol:before{content:""}.fa-list-ul:before{content:""}.fa-location-arrow:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-long-arrow-alt-down:before{content:""}.fa-long-arrow-alt-left:before{content:""}.fa-long-arrow-alt-right:before{content:""}.fa-long-arrow-alt-up:before{content:""}.fa-low-vision:before{content:""}.fa-luggage-cart:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-magic:before{content:""}.fa-magnet:before{content:""}.fa-mail-bulk:before{content:""}.fa-mailchimp:before{content:""}.fa-male:before{content:""}.fa-mandalorian:before{content:""}.fa-map:before{content:""}.fa-map-marked:before{content:""}.fa-map-marked-alt:before{content:""}.fa-map-marker:before{content:""}.fa-map-marker-alt:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-markdown:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mask:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-medal:before{content:""}.fa-medapps:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-medkit:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-meh:before{content:""}.fa-meh-blank:before{content:""}.fa-meh-rolling-eyes:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before{content:""}.fa-microphone-alt-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-microsoft:before{content:""}.fa-minus:before{content:""}.fa-minus-circle:before{content:""}.fa-minus-square:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mizuni:before{content:""}.fa-mobile:before{content:""}.fa-mobile-alt:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-bill-wave-alt:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mouse-pointer:before{content:""}.fa-music:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-nimblr:before{content:""}.fa-nintendo-switch:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-not-equal:before{content:""}.fa-notes-medical:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-oil-can:before{content:""}.fa-old-republic:before{content:""}.fa-om:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-osi:before{content:""}.fa-otter:before{content:""}.fa-outdent:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-paint-brush:before{content:""}.fa-paint-roller:before{content:""}.fa-palette:before{content:""}.fa-palfed:before{content:""}.fa-pallet:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-parking:before{content:""}.fa-passport:before{content:""}.fa-pastafarianism:before{content:""}.fa-paste:before{content:""}.fa-patreon:before{content:""}.fa-pause:before{content:""}.fa-pause-circle:before{content:""}.fa-paw:before{content:""}.fa-paypal:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-square:before{content:""}.fa-pencil-alt:before{content:""}.fa-pencil-ruler:before{content:""}.fa-penny-arcade:before{content:""}.fa-people-carry:before{content:""}.fa-percent:before{content:""}.fa-percentage:before{content:""}.fa-periscope:before{content:""}.fa-person-booth:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-phone:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-square:before{content:""}.fa-phone-volume:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-play:before{content:""}.fa-play-circle:before{content:""}.fa-playstation:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:""}.fa-plus-circle:before{content:""}.fa-plus-square:before{content:""}.fa-podcast:before{content:""}.fa-poll:before{content:""}.fa-poll-h:before{content:""}.fa-poo:before{content:""}.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-portrait:before{content:""}.fa-pound-sign:before{content:""}.fa-power-off:before{content:""}.fa-pray:before{content:""}.fa-praying-hands:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before{content:""}.fa-print:before{content:""}.fa-procedures:before{content:""}.fa-product-hunt:before{content:""}.fa-project-diagram:before{content:""}.fa-pushed:before{content:""}.fa-puzzle-piece:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-qrcode:before{content:""}.fa-question:before{content:""}.fa-question-circle:before{content:""}.fa-quidditch:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-quran:before{content:""}.fa-r-project:before{content:""}.fa-rainbow:before{content:""}.fa-random:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-receipt:before{content:""}.fa-recycle:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redo:before{content:""}.fa-redo-alt:before{content:""}.fa-registered:before{content:""}.fa-renren:before{content:""}.fa-reply:before{content:""}.fa-reply-all:before{content:""}.fa-replyd:before{content:""}.fa-republican:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-retweet:before{content:""}.fa-rev:before{content:""}.fa-ribbon:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-route:before{content:""}.fa-rss:before{content:""}.fa-rss-square:before{content:""}.fa-ruble-sign:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-running:before{content:""}.fa-rupee-sign:before{content:""}.fa-sad-cry:before{content:""}.fa-sad-tear:before{content:""}.fa-safari:before{content:""}.fa-sass:before{content:""}.fa-save:before{content:""}.fa-schlix:before{content:""}.fa-school:before{content:""}.fa-screwdriver:before{content:""}.fa-scribd:before{content:""}.fa-scroll:before{content:""}.fa-search:before{content:""}.fa-search-dollar:before{content:""}.fa-search-location:before{content:""}.fa-search-minus:before{content:""}.fa-search-plus:before{content:""}.fa-searchengin:before{content:""}.fa-seedling:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-server:before{content:""}.fa-servicestack:before{content:""}.fa-shapes:before{content:""}.fa-share:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-share-square:before{content:""}.fa-shekel-sign:before{content:""}.fa-shield-alt:before{content:""}.fa-ship:before{content:""}.fa-shipping-fast:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shoe-prints:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-shopping-cart:before{content:""}.fa-shopware:before{content:""}.fa-shower:before{content:""}.fa-shuttle-van:before{content:""}.fa-sign:before{content:""}.fa-sign-in-alt:before{content:""}.fa-sign-language:before{content:""}.fa-sign-out-alt:before{content:""}.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-simplybuilt:before{content:""}.fa-sistrix:before{content:""}.fa-sitemap:before{content:""}.fa-sith:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-slash:before{content:""}.fa-sliders-h:before{content:""}.fa-slideshare:before{content:""}.fa-smile:before{content:""}.fa-smile-beam:before{content:""}.fa-smile-wink:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-smoking-ban:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-snowflake:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before{content:""}.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-up:before{content:""}.fa-sort-amount-down:before{content:""}.fa-sort-amount-up:before{content:""}.fa-sort-down:before{content:""}.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-up:before{content:""}.fa-sort-up:before{content:""}.fa-soundcloud:before{content:""}.fa-spa:before{content:""}.fa-space-shuttle:before{content:""}.fa-speakap:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spotify:before{content:""}.fa-spray-can:before{content:""}.fa-square:before{content:""}.fa-square-full:before{content:""}.fa-square-root-alt:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-step-backward:before{content:""}.fa-step-forward:before{content:""}.fa-stethoscope:before{content:""}.fa-sticker-mule:before{content:""}.fa-sticky-note:before{content:""}.fa-stop:before{content:""}.fa-stop-circle:before{content:""}.fa-stopwatch:before{content:""}.fa-store:before{content:""}.fa-store-alt:before{content:""}.fa-strava:before{content:""}.fa-stream:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-stroopwafel:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-subscript:before{content:""}.fa-subway:before{content:""}.fa-suitcase:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superpowers:before{content:""}.fa-superscript:before{content:""}.fa-supple:before{content:""}.fa-surprise:before{content:""}.fa-swatchbook:before{content:""}.fa-swimmer:before{content:""}.fa-swimming-pool:before{content:""}.fa-synagogue:before{content:""}.fa-sync:before{content:""}.fa-sync-alt:before{content:""}.fa-syringe:before{content:""}.fa-table:before{content:""}.fa-table-tennis:before{content:""}.fa-tablet:before{content:""}.fa-tablet-alt:before{content:""}.fa-tablets:before{content:""}.fa-tachometer-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-tasks:before{content:""}.fa-taxi:before{content:""}.fa-teamspeak:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-tencent-weibo:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-th:before{content:""}.fa-th-large:before{content:""}.fa-th-list:before{content:""}.fa-the-red-yeti:before{content:""}.fa-theater-masks:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-thermometer:before{content:""}.fa-thermometer-empty:before{content:""}.fa-thermometer-full:before{content:""}.fa-thermometer-half:before{content:""}.fa-thermometer-quarter:before{content:""}.fa-thermometer-three-quarters:before{content:""}.fa-think-peaks:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbtack:before{content:""}.fa-ticket-alt:before{content:""}.fa-times:before{content:""}.fa-times-circle:before{content:""}.fa-tint:before{content:""}.fa-tint-slash:before{content:""}.fa-tired:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet-paper:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torah:before{content:""}.fa-torii-gate:before{content:""}.fa-tractor:before{content:""}.fa-trade-federation:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-train:before{content:""}.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-trash:before{content:""}.fa-trash-alt:before{content:""}.fa-tree:before{content:""}.fa-trello:before{content:""}.fa-tripadvisor:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-truck-loading:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-tshirt:before{content:""}.fa-tty:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-tv:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-uikit:before{content:""}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-undo:before{content:""}.fa-undo-alt:before{content:""}.fa-uniregistry:before{content:""}.fa-universal-access:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before{content:""}.fa-untappd:before{content:""}.fa-upload:before{content:""}.fa-usb:before{content:""}.fa-user:before{content:""}.fa-user-alt:before{content:""}.fa-user-alt-slash:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-clock:before{content:""}.fa-user-cog:before{content:""}.fa-user-edit:before{content:""}.fa-user-friends:before{content:""}.fa-user-graduate:before{content:""}.fa-user-injured:before{content:""}.fa-user-lock:before{content:""}.fa-user-md:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before{content:""}.fa-users:before{content:""}.fa-users-cog:before{content:""}.fa-ussunnah:before{content:""}.fa-utensil-spoon:before{content:""}.fa-utensils:before{content:""}.fa-vaadin:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-viber:before{content:""}.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-volleyball-ball:before{content:""}.fa-volume-down:before{content:""}.fa-volume-mute:before{content:""}.fa-volume-off:before{content:""}.fa-volume-up:before{content:""}.fa-vote-yea:before{content:""}.fa-vr-cardboard:before{content:""}.fa-vuejs:before{content:""}.fa-walking:before{content:""}.fa-wallet:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weight:before{content:""}.fa-weight-hanging:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-wheelchair:before{content:""}.fa-whmcs:before{content:""}.fa-wifi:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wind:before{content:""}.fa-window-close:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-windows:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-won-sign:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-wrench:before{content:""}.fa-x-ray:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yelp:before{content:""}.fa-yen-sign:before{content:""}.fa-yin-yang:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;src:url("../fonts/fa-solid-900.eot");src:url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url("../fonts/fa-solid-900.woff2") format("woff2"),url("../fonts/fa-solid-900.woff") format("woff"),url("../fonts/fa-solid-900.ttf") format("truetype"),url("../fonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}/*! * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:normal;src:url("../fonts/fa-brands-400.eot");src:url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),url("../fonts/fa-brands-400.woff2") format("woff2"),url("../fonts/fa-brands-400.woff") format("woff"),url("../fonts/fa-brands-400.ttf") format("truetype"),url("../fonts/fa-brands-400.svg#fontawesome") format("svg")}.fab{font-family:'Font Awesome 5 Brands'}.mfp-counter{font-family:Georgia,Times,serif}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#000;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-0.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:1;filter:alpha(opacity=100);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Georgia,Times,serif}.mfp-close:hover,.mfp-close:focus{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#fff}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:1;filter:alpha(opacity=100);margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1;filter:alpha(opacity=100)}.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after,.mfp-arrow .mfp-a{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before,.mfp-arrow .mfp-b{border-top-width:21px;border-bottom-width:21px;opacity:0.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after,.mfp-arrow-left .mfp-a{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before,.mfp-arrow-left .mfp-b{margin-left:25px;border-right:27px solid #fff}.mfp-arrow-right{right:0}.mfp-arrow-right:after,.mfp-arrow-right .mfp-a{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before,.mfp-arrow-right .mfp-b{border-left:27px solid #fff}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-figure figcaption{margin-top:0;margin-bottom:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}@media print{.masthead,.toc,.page__share,.page__related,.ads,.page__footer{display:none}}ul.publications-nav,ul.patents-nav{list-style-type:none;margin:0;padding:0;overflow:hidden;display:block}ul.horizontal-nav{list-style-type:none;margin:0;padding:0;overflow:hidden;display:block}ul.horizontal-nav>li{float:left}ul.horizontal-nav>li>a{display:block;text-align:center;padding:16px;text-decoration:none}ul.horizontal-nav>li.active>a,ul.horizontal-nav>li:hover>a,ul.horizontal-nav>li>a:hover{border-bottom:3px solid #d3d3d3;text-decoration:none}

2017_brl

Markdown

Locations of key files/directories

  • Basic config options: _config.yml
  • Top navigation bar config: _data/navigation.yml
  • Single pages: _pages/
  • Collections of pages are .md or .html files in:
    • _publications/
    • _portfolio/
    • _posts/
    • _teaching/
    • _talks/
  • Footer: _includes/footer.html
  • Static files (like PDFs): /files/
  • Profile image (can set in _config.yml): images/profile.png

Tips and hints

  • Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
  • Go to the commit list (on your repo) to find the last version Github built with Jekyll.
    • Green check: successful build
    • Orange circle: building
    • Red X: error
    • No icon: not built

Resources

Markdown guide

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Table 1

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list

Table 2

Header1Header2Header3
cell1cell2cell3
cell4cell5cell6
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


2017_brl

Projects

2017_brl

Page not in menu

This is a page not in the menu. You can use markdown in this page.

Heading 1

Heading 2


2017_brl

Page Archive
{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

2017_brl

Patents
{% include base_path %}
    {% assign i = 1 %} {% for post in site.patents %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'perception' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Publications
{% if author.googlescholar %} You can also find my articles on my Google Scholar profile. {% endif %} {% include base_path %}
    {% assign i = 1 %} {% assign mid = site.publications | sort: 'date' %} {% assign publications = mid | reverse %} {% for post in publications %}
  • [{{ i }}] {{ post.title }}
    {{ post.authors }}
    {{ post.conference }}
    site / pdf
  • {% assign i = i | plus:1 %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.type == 'research' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% for post in site.projects %} {% if post.category == 'robotics' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% assign projects = site.projects | sort: 'order' %} {% for post in projects %} {% if post.category == 'software' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.


2017_brl

Talks and Presentations

A short list of recent talks or presentations given by me which were either impactful or a great learning experience for me.

{% if site.talkmap_link == true %}

See a map of all the places I've given a talk!

{% endif %} {% assign mid = site.talks | sort: 'date' %} {% assign talks = mid | reverse %} {% for post in talks %} {% include archive-single-talk.html %} {% endfor %}

2017_brl

Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

2017_brl

Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

2017_brl

Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

2017_brl


@import "jekyll-theme-primer";

2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl


{"/about/":"https://adityaagarwal.in/","/about.html":"https://adityaagarwal.in/","/resume":"https://adityaagarwal.in/cv/","/md/":"https://adityaagarwal.in/markdown/","/markdown.html":"https://adityaagarwal.in/markdown/","/nmp/":"https://adityaagarwal.in/non-menu-page/","/nmp.html":"https://adityaagarwal.in/non-menu-page/","/wordpress/blog-posts/":"https://adityaagarwal.in/year-archive/"}

2017_brl

Jupyter notebook markdown generator
# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

2017_brl


{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

2017_brl


Sitemap: {{ "sitemap.xml" | absolute_url }}

2017_brl


{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll<link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "category", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}{{ post.content | strip | xml_escape }}{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% if post.excerpt and post.excerpt != empty %}{{ post.excerpt | strip_html | normalize_whitespace | xml_escape }}{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}</entry>{% endfor %}</feed>

2017_brl

Patents
  • [1] Systems And Methods For Teleoperated Robot (Non-provisional Filed)
    S. Kalouche, A. Agarwal, G. Xu, A. Hämäläinen, R. Tiwari, S. Mynepalli, S. Nigam

2017_brl

Projects
Feb 2019 - June 2020

2017_brl

A Discriminative-Deliberative Framework for 6-Dof Pose Estimation

Location: Search Based Planning Lab, RI, CMU

Learning based discriminative 6-Dof pose estimation methods require large datasets with annotated ground truth poses. Deliberative search based perception methods like PERCH 2.0 make assumptions that limit their scalibility in 6-Dof pose estimation scenarios. In this work, we combine the two together, building on their strengths and addressing the shortcomings of each. Our MaskRCNN and PERCH 2.0 based framework achieves better accuracy than state-of-the-art purely discriminative methods and requires training only for instance segmentation.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub

Skills : C++, CUDA, Python, ROS, PCL, OpenCV, OpenGL, MPI, PyTorch, Unity

Sep 2019 - June 2020

2017_brl

PERCH 2.0 : Large Scale Deliberative Perception on GPU

Location: Search Based Planning Lab, RI, CMU

Perception Via Search (PERCH) is a class of algorithms that search for the best explanation of the observed scene in a space of possible rendered scenes, thus accounting for occlusion. However these algorithms are slow, owing to their deliberative nature. In this work we redesign these algorithms in order to exploit their inherent parallel nature better on a GPU. The redesigned algorithm, PERCH 2.0, is upto a ~100X faster that its predecessor PERCH.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub / Skills : CUDA, OpenMP, C++, Python, MPI

March 2019 - May 2019

2017_brl

Visual Learning for Jenga Tower Stability Prediction

Location: RI, CMU

Deep neural networks are commonly used for object detection and classification. In this work, we explore if we can enable networks to learn physical intuition for predicting stability of a Jenga tower on removal of individual tower blocks. A Mask-RCNN + Inception-V4 based pipeline was created for this purpose.

Links : Presentation / Code : GitHub / Skills : Python, PyTorch, TensorFlow, MuJoCo

April 2014 - May 2015

2017_brl

Perception for Estimating Weed Density and Controlling Herbicide Use

Location: IIT Kharagpur, Kharagpur, India

Optimal application of herbicide for weed eradication is both cost effective and good for the environment. In this project, I designed a 6 camera and embedded controller based system that varies herbicide output based on weed density estimation from color images, cutting chemical usage by 79.5% & achieving weeding efficiency of 90.26%

Paper : Current Science 2018 / Media :

Skills : C++, OpenCV, Arduino

Feb 2017 - Jun 2017

2017_brl

Computer Vision Based Retail Checkout System

Location: Bangalore, India

SaturnCart is AI that accompanies the user as he shops, verifying his cart-items in real-time, surfacing offers based on cart items, and providing valuable recommendations. In this project, we designed a prototype consisting of a mobile app (which is placed on the shopping cart), linked to a computer vision system on the cloud and a weight based embedded system (under the shopping cart).

Videos : Clip 1

Skills : OpenCV, Arduino, TensorFlow, React Native

May 2014 - July 2014

2017_brl

Visual Odometry in Smoke Occluded Environments

Location: AIR Lab, RI, CMU

Presence of smoke in the environment leads to loss of color contrast, precision and saturation and hence visual odometry algorithms are unable to find distinguishing features in the image. In this project, I developed an integrated real-time image dehazing and visual odometry approach for autonomous aerial navigation on a smoke degraded shipboard which was tested on a real smoke filled shipboard dataset.

Links : Report / Videos : Clip 1

Skills : C++, OpenCV, ROS


2017_brl

Publications
  • [1] Human-Scale Mobile Manipulation Using RoMan
    C. Kessens et. al.
    Field Robotics : RCTA Special Issue) (pre-print)
    site / pdf
  • [2] Fast and High-Quality, GPU-based, Deliberative, Object-Pose Estimation
    A. Agarwal, Y. Oza, M. Likhachev, Chad C. Kessens
    Field Robotics : RCTA Special Issue (pre-print)
    site / pdf
  • [3] Provably Constant-time Planning and Replanning for Real-time Grasping Objects off a Conveyor Belt
    F. Islam, O. Salzman, A. Agarwal, M. Likhachev
    International Journal of Robotics Research
    site / pdf
  • [4] PERCH 2.0 : Fast and Accurate GPU-based Perception via Search for Object Pose Estimation
    A. Agarwal, Y. Han, M. Likhachev
    33rd International Conference on Intelligent Robots and Systems 2020 (pre-print)
    site / pdf
  • [5] Fast and High-Quality GPU-based Deliberative Perception for Object Pose Estimation
    A. Agarwal
    Master's Dissertation CMU-RI-TR-20-22, Robotics Institute, Carnegie Mellon University, June 2020
    site / pdf
  • [6] Toward fieldable human-scale mobile manipulation using RoMan
    C. Kessens et. al.
    Artificial Intelligence and Machine Learning for Multi-Domain Operations Applications II 2020
    site / pdf
  • [7] Provably Constant-Time Planning and Re-planning for Real-time Grasping Objects off a Conveyor
    F. Islam, O. Salzman, A. Agarwal, M. Likhachev
    26th Robotics: Science and Systems 2020
    site / pdf
  • [8] On-the-go position sensing and controller predicated contact-type weed eradicator
    Chandel, A.K. & Tewari, V.K. & Kumar, S.P. & Nare, Brajesh & Agarwal, A.
    Current Science Journal 2018
    site / pdf
  • [9] Test Infrastructure Development and Test Scheduling of 3D-Stacked ICs under Re-source and Power Constraints
    R. Karmakar; A. Agarwal; S. Chattopadhyay
    25th IEEE Asian Test Symposium 2015, Mumbai, India
    site / pdf
  • [10] Test Scheduling and Test Architecture Optimization of 3D Stacked-ICs Under Various Hardware and Power Constraints
    A. Agarwal
    M.Tech Dissertation, IIT Kharagpur, May 2015
    site / pdf
  • [11] Testing of 3D-Stacked ICs With Hard and Soft Dies - A Particle Swarm Optimization Based Approach
    R. Karmakar; A. Agarwal; S. Chattopadhyay
    33rd IEEE VLSI Test Symposium 2015, California, USA
    site / pdf
  • [12] Gait Cycle Analysis and Inconsistency Detection using Single - Axis Accelerometer
    S. Bose; S. Srivastava; A. Agarwal; V. Goyal
    3rd International Conference on Future Bioengineering 2014, Kuala Lumpur, Malaysia
    site / pdf
  • [13] Visual Odometry in Smoke Occluded Environments
    A. Agarwal, D. Maturana, and S. Scherer
    Technical Report CMU-RI-TR-15-07, Robotics Institute, Carnegie Mellon University, July 2014
    site / pdf
  • [14] Particle Swarm Optimization guided multi-frequency power-aware System-on-Chip test scheduling using window-based peak power model
    R. Karmakar; A. Agarwal; S. Chattopadhyay
    18th International Symposium on VLSI Design and Test, Coimbatore 2014, India
    site / pdf

2017_brl

Projects
Feb 2019 - June 2020

2017_brl

A Discriminative-Deliberative Framework for 6-Dof Pose Estimation

Location: Search Based Planning Lab, RI, CMU

Learning based discriminative 6-Dof pose estimation methods require large datasets with annotated ground truth poses. Deliberative search based perception methods like PERCH 2.0 make assumptions that limit their scalibility in 6-Dof pose estimation scenarios. In this work, we combine the two together, building on their strengths and addressing the shortcomings of each. Our MaskRCNN and PERCH 2.0 based framework achieves better accuracy than state-of-the-art purely discriminative methods and requires training only for instance segmentation.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub

Skills : C++, CUDA, Python, ROS, PCL, OpenCV, OpenGL, MPI, PyTorch, Unity

Sep 2019 - June 2020

2017_brl

PERCH 2.0 : Large Scale Deliberative Perception on GPU

Location: Search Based Planning Lab, RI, CMU

Perception Via Search (PERCH) is a class of algorithms that search for the best explanation of the observed scene in a space of possible rendered scenes, thus accounting for occlusion. However these algorithms are slow, owing to their deliberative nature. In this work we redesign these algorithms in order to exploit their inherent parallel nature better on a GPU. The redesigned algorithm, PERCH 2.0, is upto a ~100X faster that its predecessor PERCH.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub / Skills : CUDA, OpenMP, C++, Python, MPI

April 2014 - May 2015

2017_brl

Perception for Estimating Weed Density and Controlling Herbicide Use

Location: IIT Kharagpur, Kharagpur, India

Optimal application of herbicide for weed eradication is both cost effective and good for the environment. In this project, I designed a 6 camera and embedded controller based system that varies herbicide output based on weed density estimation from color images, cutting chemical usage by 79.5% & achieving weeding efficiency of 90.26%

Paper : Current Science 2018 / Media :

Skills : C++, OpenCV, Arduino

May 2014 - July 2014

2017_brl

Visual Odometry in Smoke Occluded Environments

Location: AIR Lab, RI, CMU

Presence of smoke in the environment leads to loss of color contrast, precision and saturation and hence visual odometry algorithms are unable to find distinguishing features in the image. In this project, I developed an integrated real-time image dehazing and visual odometry approach for autonomous aerial navigation on a smoke degraded shipboard which was tested on a real smoke filled shipboard dataset.

Links : Report / Videos : Clip 1

Skills : C++, OpenCV, ROS

June 2013 - May 2015

2017_brl

Evolutionary Techniques for Test Scheduling in 2D/3D Circuits

Location: IIT Kharagpur

Modern chips consist of 100s of cores varying in size and complexity. After manufacturing of the chip, all cores need to be tested under various constraints as fast as possible. This problem is amplified further in 3D ICs. In this work, we explore if evolutionary algorithms such as Particle Swarm Optimization can be used to schedule testing the cores in parallel and minimize test time without violating constraints. We show an improvement of 51% over the SOTA.

Papers : M.Tech Dissertation, ATS 2015, VTS 2015, VDAT 2014 / Skills : C++, Digital Circuits


2017_brl

Projects
June 2019 - June 2020

2017_brl

Pose Estimation of Moving Objects on a Conveyor Belt

Location: Search Based Planning Lab, RI, CMU

PR2 is a full body mobile manipulator (or humanoid) that consists of a 7-DoF arm. In this project, I implemented an ICP based pose estimation strategy that works with a search-based planner to grasp moving objects of a conveyor belt. I improved the pose estimation strategy by deploying PERCH 2.0 for this task enabling spatially consistent accuracy across the conveyor length.

Papers : RSS 2020, Master’s Thesis / Videos : Clip 1, Clip 2 / Code : GitHub / Skills : Python, ROS, PCL

Oct 2019 - Dec 2019

2017_brl

Improved MR-MHA* using Conditional Variational Auto Encoders

Location: RI, CMU

Developed a combined learning and search based planning method that reduces planning time by using prior experiences learnt through CVAEs. The planner used (MR-MHA*) exploits loose coupling between high dimensional state representations such as between the base and arm of a mobile manipulator and CVAEs are used to better exploit this loose coupling based on prior experiences.

Links : Report, Presentation / Videos : Clip 1 / Skills : Python, C++, ROS, Planning

Feb 2019 - Oct 2019

2017_brl

Perception and Grasping for Crate Opening on RoMaN

Location: Search Based Planning Lab, RI, CMU

RoMaN is a mobile manipulation platform developed as part of the RCTA project which is a collaboration between several universities, ARL, JPL and GD. In this work, I deployed perception via search for crate detection on RoMaN. We demonstrated higher accuracy as compared to pure learning based methods and demoed the full pipeline of pose estimation followed by crate opening at NREC. The demo was attended by eminent defense personnel.

Papers : SPIE / Videos : Clip 1, Clip 2 / Media : / Skills : C++, ROS, PCL, OpenCV, MPI

Sept 2019 - Present

2017_brl

Full Body Mobile Manipulation on Walker

Location: Search Based Planning Lab, RI, CMU

Walker is a full body mobile manipulator (or humanoid) developed by UBTech that consists of a 3-DoF mobile base and a 7-DoF arm. In this project, I co-wrote the software stack for the entire robot, comprising of planners (arm and base), state machines, controllers and perception modules enabling it to navigate indoors and fetch objects for the user. The capabilities of the robot were demonstrated to over 50 people as part of a continuous demo day in July 2019.

Videos : Clip 1 / Code : GitHub / Skills : Python, ROS, PCL


2017_brl

Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

2017_brl

Projects
{% include base_path %} {% assign projects = site.projects | sort: 'order' %} {% for post in projects %} {% if post.category == 'software' %} {% include archive-single.html %} {% endif %} {% endfor %}

2017_brl

Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

2017_brl

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.


2017_brl

Talks and Presentations

A short list of recent talks or presentations given by me which were either impactful or a great learning experience for me.

{% if site.talkmap_link == true %}

See a map of all the places I've given a talk!

{% endif %} {% assign mid = site.talks | sort: 'date' %} {% assign talks = mid | reverse %} {% for post in talks %} {% include archive-single-talk.html %} {% endfor %}

2017_brl

Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

2017_brl

Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

2017_brl

Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

2017_brl


@import "jekyll-theme-primer";

2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl



2017_brl


{"/about/":"https://adityaagarwal.in/","/about.html":"https://adityaagarwal.in/","/resume":"https://adityaagarwal.in/cv/","/md/":"https://adityaagarwal.in/markdown/","/markdown.html":"https://adityaagarwal.in/markdown/","/nmp/":"https://adityaagarwal.in/non-menu-page/","/nmp.html":"https://adityaagarwal.in/non-menu-page/","/wordpress/blog-posts/":"https://adityaagarwal.in/year-archive/"}

2017_brl

Jupyter notebook markdown generator
# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

2017_brl


{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

2017_brl


Sitemap: {{ "sitemap.xml" | absolute_url }}

2017_brl


{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll<link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "category", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}{{ post.content | strip | xml_escape }}{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% if post.excerpt and post.excerpt != empty %}{{ post.excerpt | strip_html | normalize_whitespace | xml_escape }}{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}</entry>{% endfor %}</feed>

Posts


2017_brl

Future Blog Post

This post will show up by default. To disable scheduling of future posts, edit config.yml and set future: false.


2017_brl

Blog Post number 4

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Headings are cool

You can have many headings

Aren’t headings cool?


2017_brl

Blog Post number 3

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Headings are cool

You can have many headings

Aren’t headings cool?


2017_brl

Blog Post number 2

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Headings are cool

You can have many headings

Aren’t headings cool?


2017_brl

Blog Post number 1

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Headings are cool

You can have many headings

Aren’t headings cool?

patents


2017_brl

Systems And Methods For Teleoperated Robot (Non-provisional Filed)

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

projects

Feb 2019 - June 2020

2017_brl

A Discriminative-Deliberative Framework for 6-Dof Pose Estimation

Location: Search Based Planning Lab, RI, CMU

Learning based discriminative 6-Dof pose estimation methods require large datasets with annotated ground truth poses. Deliberative search based perception methods like PERCH 2.0 make assumptions that limit their scalibility in 6-Dof pose estimation scenarios. In this work, we combine the two together, building on their strengths and addressing the shortcomings of each. Our MaskRCNN and PERCH 2.0 based framework achieves better accuracy than state-of-the-art purely discriminative methods and requires training only for instance segmentation.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub

Skills : C++, CUDA, Python, ROS, PCL, OpenCV, OpenGL, MPI, PyTorch, Unity

Sep 2019 - June 2020

2017_brl

PERCH 2.0 : Large Scale Deliberative Perception on GPU

Location: Search Based Planning Lab, RI, CMU

Perception Via Search (PERCH) is a class of algorithms that search for the best explanation of the observed scene in a space of possible rendered scenes, thus accounting for occlusion. However these algorithms are slow, owing to their deliberative nature. In this work we redesign these algorithms in order to exploit their inherent parallel nature better on a GPU. The redesigned algorithm, PERCH 2.0, is upto a ~100X faster that its predecessor PERCH.

Paper : Master’s Thesis, IROS 2020 / Videos : Clip 1 / Code : GitHub / Skills : CUDA, OpenMP, C++, Python, MPI

March 2019 - May 2019

2017_brl

Visual Learning for Jenga Tower Stability Prediction

Location: RI, CMU

Deep neural networks are commonly used for object detection and classification. In this work, we explore if we can enable networks to learn physical intuition for predicting stability of a Jenga tower on removal of individual tower blocks. A Mask-RCNN + Inception-V4 based pipeline was created for this purpose.

Links : Presentation / Code : GitHub / Skills : Python, PyTorch, TensorFlow, MuJoCo

April 2014 - May 2015

2017_brl

Perception for Estimating Weed Density and Controlling Herbicide Use

Location: IIT Kharagpur, Kharagpur, India

Optimal application of herbicide for weed eradication is both cost effective and good for the environment. In this project, I designed a 6 camera and embedded controller based system that varies herbicide output based on weed density estimation from color images, cutting chemical usage by 79.5% & achieving weeding efficiency of 90.26%

Paper : Current Science 2018 / Media :

Skills : C++, OpenCV, Arduino

Feb 2017 - Jun 2017

2017_brl

Computer Vision Based Retail Checkout System

Location: Bangalore, India

SaturnCart is AI that accompanies the user as he shops, verifying his cart-items in real-time, surfacing offers based on cart items, and providing valuable recommendations. In this project, we designed a prototype consisting of a mobile app (which is placed on the shopping cart), linked to a computer vision system on the cloud and a weight based embedded system (under the shopping cart).

Videos : Clip 1

Skills : OpenCV, Arduino, TensorFlow, React Native

May 2014 - July 2014

2017_brl

Visual Odometry in Smoke Occluded Environments

Location: AIR Lab, RI, CMU

Presence of smoke in the environment leads to loss of color contrast, precision and saturation and hence visual odometry algorithms are unable to find distinguishing features in the image. In this project, I developed an integrated real-time image dehazing and visual odometry approach for autonomous aerial navigation on a smoke degraded shipboard which was tested on a real smoke filled shipboard dataset.

Links : Report / Videos : Clip 1

Skills : C++, OpenCV, ROS

Feb 2017 - May 2017

2017_brl

AirCare - A Voice Drive Customer Care Solution

Location: Bangalore, India

AirCare is a voice based customer care solution for Airtel customers. It is designed to replace conventional IVR systems that can get extremely complicated and frustrating for customers. AirCare consisted of an Alexa app talking to customers over a voice call or through the AirCare mobile app. AirCare won the 2nd Prize at Airtel Whatthehack 2017.

Links : Presentation / Code : GitHub / Skills : Python, Alexa, Android

June 2019 - June 2020

2017_brl

Pose Estimation of Moving Objects on a Conveyor Belt

Location: Search Based Planning Lab, RI, CMU

PR2 is a full body mobile manipulator (or humanoid) that consists of a 7-DoF arm. In this project, I implemented an ICP based pose estimation strategy that works with a search-based planner to grasp moving objects of a conveyor belt. I improved the pose estimation strategy by deploying PERCH 2.0 for this task enabling spatially consistent accuracy across the conveyor length.

Papers : RSS 2020, Master’s Thesis / Videos : Clip 1, Clip 2 / Code : GitHub / Skills : Python, ROS, PCL

June 2016 - July 2016

2017_brl

Estimato - An Automated Checkout Solution for Fruits/Vegetables

Location: Bangalore, India

Standardization in weights and packaging of items has saved us an incredible amount of effort and time. But this practice of manually weighing and calculating price is still followed while buying items like fruits and vegetables. Estimato is designed to replace the human at the counter with a computer that determines labels the items using a camera and simultaneously calculates the weight, thus generating the overall bill. Estimato was shortlisted for the finals of a hackathon organized by the Government of Rajasthan, India.

Videos : Clip 1 / Code : GitHub / Skills : Python, Android, React Native

Dec 2016 - May 2017

2017_brl

Kontiki Headset - A Secure Computing Platform

Location: Bangalore, India

Kontiki Headset is a mixed reality headset for secure file sharing, messaging and video streaming that uses iris recognition to authenticate users and encrypt data. The proof-of-concept prototype consisted of a mobile device acting as the main OS, a Raspberry Pi with integrated camera, IR LEDs and proximity sensor sensor for iris recognition. User’s personal mobile device acted as a remote controller for controlling mouse and keyboard on the headset. All devices communicated over Wi-Fi. I worked on assembling the prototype from scratch, writing the Raspberry Pi code and the Android code for both mobile devices.

Videos : Demo / Skills : C++, Python, Android, AR/VR

Oct 2019 - Dec 2019

2017_brl

Improved MR-MHA* using Conditional Variational Auto Encoders

Location: RI, CMU

Developed a combined learning and search based planning method that reduces planning time by using prior experiences learnt through CVAEs. The planner used (MR-MHA*) exploits loose coupling between high dimensional state representations such as between the base and arm of a mobile manipulator and CVAEs are used to better exploit this loose coupling based on prior experiences.

Links : Report, Presentation / Videos : Clip 1 / Skills : Python, C++, ROS, Planning

Feb 2019 - Oct 2019

2017_brl

Perception and Grasping for Crate Opening on RoMaN

Location: Search Based Planning Lab, RI, CMU

RoMaN is a mobile manipulation platform developed as part of the RCTA project which is a collaboration between several universities, ARL, JPL and GD. In this work, I deployed perception via search for crate detection on RoMaN. We demonstrated higher accuracy as compared to pure learning based methods and demoed the full pipeline of pose estimation followed by crate opening at NREC. The demo was attended by eminent defense personnel.

Papers : SPIE / Videos : Clip 1, Clip 2 / Media : / Skills : C++, ROS, PCL, OpenCV, MPI

June 2013 - May 2015

2017_brl

Evolutionary Techniques for Test Scheduling in 2D/3D Circuits

Location: IIT Kharagpur

Modern chips consist of 100s of cores varying in size and complexity. After manufacturing of the chip, all cores need to be tested under various constraints as fast as possible. This problem is amplified further in 3D ICs. In this work, we explore if evolutionary algorithms such as Particle Swarm Optimization can be used to schedule testing the cores in parallel and minimize test time without violating constraints. We show an improvement of 51% over the SOTA.

Papers : M.Tech Dissertation, ATS 2015, VTS 2015, VDAT 2014 / Skills : C++, Digital Circuits

March 2017 - July 2017

2017_brl

TheraKonnect - An Online Therapy Platform

Location: Bangalore, India

TheraKonnect is a dedicated cloud based software for starting and scaling an online therapy clinic. With it, therapists can easily go online and extend services to clients not in their immediate locality. It handles all aspects of communication surrounding a therapy session and has an interactive video conferencing system to help with therapy for children and individuals with special needs.

Links : Product Website, Presentation / Media :

Skills : PHP, CodeIgniter

Feb 2017 - May 2017

2017_brl

VoicePay - A Voice Drive Payment Solution

Location: Bangalore, India

User Experience is changing everyday and as technology and processing becomes cheap, conversational interaction with users has become the next big UX idea for mobile applications. Voice Pay enables banking using conversational interaction on your smartphone and Alexa devices. VoicePay finished second in ICICI Appathon 2017 (winning INR 7.5 Lakhs) that had over 3000 applications

Links : Presentation / Videos : Clip 1 / Code : GitHub / Media :

Skills : Python, Alexa, Android

Sept 2019 - Present

2017_brl

Full Body Mobile Manipulation on Walker

Location: Search Based Planning Lab, RI, CMU

Walker is a full body mobile manipulator (or humanoid) developed by UBTech that consists of a 3-DoF mobile base and a 7-DoF arm. In this project, I co-wrote the software stack for the entire robot, comprising of planners (arm and base), state machines, controllers and perception modules enabling it to navigate indoors and fetch objects for the user. The capabilities of the robot were demonstrated to over 50 people as part of a continuous demo day in July 2019.

Videos : Clip 1 / Code : GitHub / Skills : Python, ROS, PCL

publications


2017_brl

Particle Swarm Optimization guided multi-frequency power-aware System-on-Chip test scheduling using window-based peak power model

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Visual Odometry in Smoke Occluded Environments

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Gait Cycle Analysis and Inconsistency Detection using Single - Axis Accelerometer

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Testing of 3D-Stacked ICs With Hard and Soft Dies - A Particle Swarm Optimization Based Approach

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Scheduling and Test Architecture Optimization of 3D Stacked-ICs Under Various Hardware and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Test Infrastructure Development and Test Scheduling of 3D-Stacked ICs under Re-source and Power Constraints

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

On-the-go position sensing and controller predicated contact-type weed eradicator

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-Time Planning and Re-planning for Real-time Grasping Objects off a Conveyor

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Toward fieldable human-scale mobile manipulation using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality GPU-based Deliberative Perception for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

PERCH 2.0 : Fast and Accurate GPU-based Perception via Search for Object Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Provably Constant-time Planning and Replanning for Real-time Grasping Objects off a Conveyor Belt

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Fast and High-Quality, GPU-based, Deliberative, Object-Pose Estimation

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).


2017_brl

Human-Scale Mobile Manipulation Using RoMan

This paper is about the number 1. The number 2 is left for future work.

Download paper here

Recommended citation: Your Name, You. (2009). “Paper Title Number 1.” Journal 1. 1(1).

talks


2017_brl

Aerial Robotics Kharagpur

2017_brl

Impact of Using IJTAG for Complex Chip Designs

2017_brl

Virdian-ESpark Pitch Contest

2017_brl

McGinnis Venture Competition Finals

2017_brl

CMU Master's Thesis Talk

teaching


2017_brl

Teaching experience 1

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3


2017_brl

Teaching experience 2

This is a description of a teaching experience. You can use markdown like any other post.

Heading 1

Heading 2

Heading 3