Files
helpy/license_report.csv
2019-04-23 14:36:46 -06:00

734 KiB

1actionmailer4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2004-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Action Mailer -- Easy email delivery and testing\@NLAction Mailer is a framework for designing email service layers. These layers\@NLare used to consolidate code for sending out forgotten passwords, welcome\@NLwishes on signup, invoices for billing, and any other use case that requires\@NLa written notification to either a person or another system.\@NLAction Mailer is in essence a wrapper around Action Controller and the\@NLMail gem. It provides a way to make emails using templates in the same\@NLway that Action Controller renders views using templates.\@NLAdditionally, an Action Mailer class can be used to process incoming email,\@NLsuch as allowing a blog to accept new posts from an email (which could even\@NLhave been sent from a phone).\@NL== Sending emails\@NLThe framework works by initializing any instance variables you want to be\@NLavailable in the email template, followed by a call to +mail+ to deliver\@NLthe email.\@NLThis can be as simple as:\@NL class Notifier < ActionMailer::Base\@NL default from: 'system@loudthinking.com'\@NL def welcome(recipient)\@NL @recipient = recipient\@NL mail(to: recipient,\@NL subject: "[Signed up] Welcome #{recipient}")\@NL end\@NL end\@NLThe body of the email is created by using an Action View template (regular\@NLERB) that has the instance variables that are declared in the mailer action.\@NLSo the corresponding body template for the method above could look like this:\@NL Hello there,\@NL Mr. <%= @recipient %>\@NL Thank you for signing up!\@NLIf the recipient was given as "david@loudthinking.com", the email\@NLgenerated would look like this:\@NL Date: Mon, 25 Jan 2010 22:48:09 +1100\@NL From: system@loudthinking.com\@NL To: david@loudthinking.com\@NL Message-ID: <4b5d84f9dd6a5_7380800b81ac29578@void.loudthinking.com.mail>\@NL Subject: [Signed up] Welcome david@loudthinking.com\@NL Mime-Version: 1.0\@NL Content-Type: text/plain;\@NL charset="US-ASCII";\@NL Content-Transfer-Encoding: 7bit\@NL Hello there,\@NL Mr. david@loudthinking.com\@NL Thank you for signing up!\@NLIn order to send mails, you simply call the method and then call +deliver_now+ on the return value.\@NLCalling the method returns a Mail Message object:\@NL message = Notifier.welcome("david@loudthinking.com") # => Returns a Mail::Message object\@NL message.deliver_now # => delivers the email\@NLOr you can just chain the methods together like:\@NL Notifier.welcome("david@loudthinking.com").deliver_now # Creates the email and sends it immediately\@NL== Setting defaults\@NLIt is possible to set default values that will be used in every method in your\@NLAction Mailer class. To implement this functionality, you just call the public\@NLclass method +default+ which you get for free from <tt>ActionMailer::Base</tt>.\@NLThis method accepts a Hash as the parameter. You can use any of the headers,\@NLemail messages have, like +:from+ as the key. You can also pass in a string as\@NLthe key, like "Content-Type", but Action Mailer does this out of the box for you,\@NLso you won't need to worry about that. Finally, it is also possible to pass in a\@NLProc that will get evaluated when it is needed.\@NLNote that every value you set with this method will get overwritten if you use the\@NLsame key in your mailer method.\@NLExample:\@NL class AuthenticationMailer < ActionMailer::Base\@NL default from: "awesome@application.com", subject: Proc.new { "E-mail was generated at #{Time.now}" }\@NL .....\@NL end\@NL== Receiving emails\@NLTo receive emails, you need to implement a public instance method called\@NL+receive+ that takes an email object as its single parameter. The Action Mailer\@NLframework has a corresponding class method, which is also called +receive+, that\@NLaccepts a raw, unprocessed email as a string, which it then turns into the email\@NLobject and calls the receive instance method.\@NLExample:\@NL class Mailman < ActionMailer::Base\@NL def receive(email)\@NL page = Page.find_by(address: email.to.first)\@NL page.emails.create(\@NL subject: email.subject, body: email.body\@NL )\@NL if email.has_attachments?\@NL email.attachments.each do |attachment|\@NL page.attachments.create({\@NL file: attachment, description: email.subject\@NL })\@NL end\@NL end\@NL end\@NL end\@NLThis Mailman can be the target for Postfix or other MTAs. In Rails, you would use\@NLthe runner in the trivial case like this:\@NL rails runner 'Mailman.receive(STDIN.read)'\@NLHowever, invoking Rails in the runner for each mail to be received is very\@NLresource intensive. A single instance of Rails should be run within a daemon, if\@NLit is going to process more than just a limited amount of email.\@NL== Configuration\@NLThe Base class has the full list of configuration options. Here's an example:\@NL ActionMailer::Base.smtp_settings = {\@NL address: 'smtp.yourserver.com', # default: localhost\@NL port: '25', # default: 25\@NL user_name: 'user',\@NL password: 'pass',\@NL authentication: :plain # :plain, :login or :cram_md5\@NL }\@NL== Download and installation\@NLThe latest version of Action Mailer can be installed with RubyGems:\@NL % [sudo] gem install actionmailer\@NLSource code can be downloaded as part of the Rails project on GitHub\@NL* https://github.com/rails/rails/tree/4-2-stable/actionmailer\@NL== License\@NLAction Mailer is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/actionmailer-4.2.11.1
2actionpack4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2004-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Action Pack -- From request to response\@NLAction Pack is a framework for handling and responding to web requests. It\@NLprovides mechanisms for *routing* (mapping request URLs to actions), defining\@NL*controllers* that implement actions, and generating responses by rendering\@NL*views*, which are templates of various formats. In short, Action Pack\@NLprovides the view and controller layers in the MVC paradigm.\@NLIt consists of several modules:\@NL* Action Dispatch, which parses information about the web request, handles\@NL routing as defined by the user, and does advanced processing related to HTTP\@NL such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT bodies,\@NL handling HTTP caching logic, cookies and sessions.\@NL* Action Controller, which provides a base controller class that can be\@NL subclassed to implement filters and actions to handle requests. The result\@NL of an action is typically content generated from views.\@NLWith the Ruby on Rails framework, users only directly interface with the\@NLAction Controller module. Necessary Action Dispatch functionality is activated\@NLby default and Action View rendering is implicitly triggered by Action\@NLController. However, these modules are designed to function on their own and\@NLcan be used outside of Rails.\@NL== Download and installation\@NLThe latest version of Action Pack can be installed with RubyGems:\@NL % [sudo] gem install actionpack\@NLSource code can be downloaded as part of the Rails project on GitHub\@NL* https://github.com/rails/rails/tree/4-2-stable/actionpack\@NL== License\@NLAction Pack is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/actionpack-4.2.11.1
3actionview4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2004-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Action View\@NLAction View is a framework for handling view template lookup and rendering, and provides\@NLview helpers that assist when building HTML forms, Atom feeds and more.\@NLTemplate formats that Action View handles are ERB (embedded Ruby, typically\@NLused to inline short Ruby snippets inside HTML), and XML Builder.\@NL== Download and installation\@NLThe latest version of Action View can be installed with RubyGems:\@NL % [sudo] gem install actionview\@NLSource code can be downloaded as part of the Rails project on GitHub\@NL* https://github.com/rails/rails/tree/4-2-stable/actionview\@NL== License\@NLAction View is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/actionview-4.2.11.1
4activejob4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# Active Job -- Make work happen later\@NLActive Job is a framework for declaring jobs and making them run on a variety\@NLof queueing backends. These jobs can be everything from regularly scheduled\@NLclean-ups, to billing charges, to mailings. Anything that can be chopped up into\@NLsmall units of work and run in parallel, really.\@NLIt also serves as the backend for Action Mailer's #deliver_later functionality\@NLthat makes it easy to turn any mailing into a job for running later. That's\@NLone of the most common jobs in a modern web application: Sending emails outside\@NLof the request-response cycle, so the user doesn't have to wait on it.\@NLThe main point is to ensure that all Rails apps will have a job infrastructure\@NLin place, even if it's in the form of an "immediate runner". We can then have\@NLframework features and other gems build on top of that, without having to worry\@NLabout API differences between Delayed Job and Resque. Picking your queuing\@NLbackend becomes more of an operational concern, then. And you'll be able to\@NLswitch between them without having to rewrite your jobs.\@NL## Usage\@NLSet the queue adapter for Active Job:\@NL``` ruby\@NLActiveJob::Base.queue_adapter = :inline # default queue adapter\@NL```\@NLNote: To learn how to use your preferred queueing backend see its adapter\@NLdocumentation at\@NL[ActiveJob::QueueAdapters](http://api.rubyonrails.org/classes/ActiveJob/QueueAdapters.html).\@NLDeclare a job like so:\@NL```ruby\@NLclass MyJob < ActiveJob::Base\@NL queue_as :my_jobs\@NL def perform(record)\@NL record.do_work\@NL end\@NLend\@NL```\@NLEnqueue a job like so:\@NL```ruby\@NLMyJob.perform_later record # Enqueue a job to be performed as soon the queueing system is free.\@NL```\@NL```ruby\@NLMyJob.set(wait_until: Date.tomorrow.noon).perform_later(record) # Enqueue a job to be performed tomorrow at noon.\@NL```\@NL```ruby\@NLMyJob.set(wait: 1.week).perform_later(record) # Enqueue a job to be performed 1 week from now.\@NL```\@NLThat's it!\@NL## GlobalID support\@NLActive Job supports [GlobalID serialization](https://github.com/rails/globalid/) for parameters. This makes it possible\@NLto pass live Active Record objects to your job instead of class/id pairs, which\@NLyou then have to manually deserialize. Before, jobs would look like this:\@NL```ruby\@NLclass TrashableCleanupJob\@NL def perform(trashable_class, trashable_id, depth)\@NL trashable = trashable_class.constantize.find(trashable_id)\@NL trashable.cleanup(depth)\@NL end\@NLend\@NL```\@NLNow you can simply do:\@NL```ruby\@NLclass TrashableCleanupJob\@NL def perform(trashable, depth)\@NL trashable.cleanup(depth)\@NL end\@NLend\@NL```\@NLThis works with any class that mixes in GlobalID::Identification, which\@NLby default has been mixed into Active Record classes.\@NL## Supported queueing systems\@NLActive Job has built-in adapters for multiple queueing backends (Sidekiq,\@NLResque, Delayed Job and others). To get an up-to-date list of the adapters\@NLsee the API Documentation for [ActiveJob::QueueAdapters](http://api.rubyonrails.org/classes/ActiveJob/QueueAdapters.html).\@NL## Auxiliary gems\@NL* [activejob-stats](https://github.com/seuros/activejob-stats)\@NL## Download and installation\@NLThe latest version of Active Job can be installed with RubyGems:\@NL```\@NL % [sudo] gem install activejob\@NL```\@NLSource code can be downloaded as part of the Rails project on GitHub\@NL* https://github.com/rails/rails/tree/4-2-stable/activejob\@NL## License\@NLActive Job is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL## Support\@NLAPI documentation is at\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/activejob-4.2.11.1
5activemodel4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2004-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Active Model -- model interfaces for Rails\@NLActive Model provides a known set of interfaces for usage in model classes.\@NLThey allow for Action Pack helpers to interact with non-Active Record models,\@NLfor example. Active Model also helps with building custom ORMs for use outside of\@NLthe Rails framework.\@NLPrior to Rails 3.0, if a plugin or gem developer wanted to have an object\@NLinteract with Action Pack helpers, it was required to either copy chunks of\@NLcode from Rails, or monkey patch entire helpers to make them handle objects\@NLthat did not exactly conform to the Active Record interface. This would result\@NLin code duplication and fragile applications that broke on upgrades. Active\@NLModel solves this by defining an explicit API. You can read more about the\@NLAPI in <tt>ActiveModel::Lint::Tests</tt>.\@NLActive Model provides a default module that implements the basic API required\@NLto integrate with Action Pack out of the box: <tt>ActiveModel::Model</tt>.\@NL class Person\@NL include ActiveModel::Model\@NL attr_accessor :name, :age\@NL validates_presence_of :name\@NL end\@NL person = Person.new(name: 'bob', age: '18')\@NL person.name # => 'bob'\@NL person.age # => '18'\@NL person.valid? # => true\@NLIt includes model name introspections, conversions, translations and\@NLvalidations, resulting in a class suitable to be used with Action Pack.\@NLSee <tt>ActiveModel::Model</tt> for more examples.\@NLActive Model also provides the following functionality to have ORM-like\@NLbehavior out of the box:\@NL* Add attribute magic to objects\@NL class Person\@NL include ActiveModel::AttributeMethods\@NL attribute_method_prefix 'clear_'\@NL define_attribute_methods :name, :age\@NL attr_accessor :name, :age\@NL def clear_attribute(attr)\@NL send("#{attr}=", nil)\@NL end\@NL end\@NL \@NL person = Person.new\@NL person.clear_name\@NL person.clear_age\@NL {Learn more}[link:classes/ActiveModel/AttributeMethods.html]\@NL* Callbacks for certain operations\@NL class Person\@NL extend ActiveModel::Callbacks\@NL define_model_callbacks :create\@NL def create\@NL run_callbacks :create do\@NL # Your create action methods here\@NL end\@NL end\@NL end\@NL This generates +before_create+, +around_create+ and +after_create+\@NL class methods that wrap your create method.\@NL {Learn more}[link:classes/ActiveModel/Callbacks.html]\@NL* Tracking value changes\@NL class Person\@NL include ActiveModel::Dirty\@NL define_attribute_methods :name\@NL def name\@NL @name\@NL end\@NL def name=(val)\@NL name_will_change! unless val == @name\@NL @name = val\@NL end\@NL def save\@NL # do persistence work\@NL changes_applied\@NL end\@NL end\@NL person = Person.new\@NL person.name # => nil\@NL person.changed? # => false\@NL person.name = 'bob'\@NL person.changed? # => true\@NL person.changed # => ['name']\@NL person.changes # => { 'name' => [nil, 'bob'] }\@NL person.save\@NL person.name = 'robert'\@NL person.save\@NL person.previous_changes # => {'name' => ['bob, 'robert']}\@NL {Learn more}[link:classes/ActiveModel/Dirty.html]\@NL* Adding +errors+ interface to objects\@NL Exposing error messages allows objects to interact with Action Pack\@NL helpers seamlessly.\@NL class Person\@NL def initialize\@NL @errors = ActiveModel::Errors.new(self)\@NL end\@NL attr_accessor :name\@NL attr_reader :errors\@NL def validate!\@NL errors.add(:name, "cannot be nil") if name.nil?\@NL end\@NL def self.human_attribute_name(attr, options = {})\@NL "Name"\@NL end\@NL end\@NL \@NL person = Person.new\@NL person.name = nil\@NL person.validate!\@NL person.errors.full_messages\@NL # => ["Name cannot be nil"]\@NL {Learn more}[link:classes/ActiveModel/Errors.html]\@NL* Model name introspection\@NL class NamedPerson\@NL extend ActiveModel::Naming\@NL end\@NL NamedPerson.model_name.name # => "NamedPerson"\@NL NamedPerson.model_name.human # => "Named person"\@NL {Learn more}[link:classes/ActiveModel/Naming.html]\@NL* Making objects serializable\@NL ActiveModel::Serialization provides a standard interface for your object\@NL to provide +to_json+ or +to_xml+ serialization.\@NL class SerialPerson\@NL include ActiveModel::Serialization\@NL attr_accessor :name\@NL def attributes\@NL {'name' => name}\@NL end\@NL end\@NL s = SerialPerson.new\@NL s.serializable_hash # => {"name"=>nil}\@NL class SerialPerson\@NL include ActiveModel::Serializers::JSON\@NL end\@NL s = SerialPerson.new\@NL s.to_json # => "{\"name\":null}"\@NL class SerialPerson\@NL include ActiveModel::Serializers::Xml\@NL end\@NL s = SerialPerson.new\@NL s.to_xml # => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<serial-person...\@NL {Learn more}[link:classes/ActiveModel/Serialization.html]\@NL* Internationalization (i18n) support\@NL class Person\@NL extend ActiveModel::Translation\@NL end\@NL Person.human_attribute_name('my_attribute')\@NL # => "My attribute"\@NL {Learn more}[link:classes/ActiveModel/Translation.html]\@NL* Validation support\@NL class Person\@NL include ActiveModel::Validations\@NL attr_accessor :first_name, :last_name\@NL validates_each :first_name, :last_name do |record, attr, value|\@NL record.errors.add attr, 'starts with z.' if value.to_s[0] == ?z\@NL end\@NL end\@NL person = Person.new\@NL person.first_name = 'zoolander'\@NL person.valid? # => false\@NL {Learn more}[link:classes/ActiveModel/Validations.html]\@NL* Custom validators\@NL \@NL class HasNameValidator < ActiveModel::Validator\@NL def validate(record)\@NL record.errors[:name] = "must exist" if record.name.blank?\@NL end\@NL end\@NL class ValidatorPerson\@NL include ActiveModel::Validations\@NL validates_with HasNameValidator\@NL attr_accessor :name\@NL end\@NL p = ValidatorPerson.new\@NL p.valid? # => false\@NL p.errors.full_messages # => ["Name must exist"]\@NL p.name = "Bob"\@NL p.valid? # => true\@NL {Learn more}[link:classes/ActiveModel/Validator.html]\@NL== Download and installation\@NLThe latest version of Active Model can be installed with RubyGems:\@NL % [sudo] gem install activemodel\@NLSource code can be downloaded as part of the Rails project on GitHub\@NL* https://github.com/rails/rails/tree/4-2-stable/activemodel\@NL== License\@NLActive Model is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/activemodel-4.2.11.1
6activerecord4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2004-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Active Record -- Object-relational mapping in Rails\@NLActive Record connects classes to relational database tables to establish an\@NLalmost zero-configuration persistence layer for applications. The library\@NLprovides a base class that, when subclassed, sets up a mapping between the new\@NLclass and an existing table in the database. In the context of an application,\@NLthese classes are commonly referred to as *models*. Models can also be\@NLconnected to other models; this is done by defining *associations*.\@NLActive Record relies heavily on naming in that it uses class and association\@NLnames to establish mappings between respective database tables and foreign key\@NLcolumns. Although these mappings can be defined explicitly, it's recommended\@NLto follow naming conventions, especially when getting started with the\@NLlibrary.\@NLA short rundown of some of the major features:\@NL* Automated mapping between classes and tables, attributes and columns.\@NL class Product < ActiveRecord::Base\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Base.html]\@NLThe Product class is automatically mapped to the table named "products",\@NLwhich might look like this:\@NL CREATE TABLE products (\@NL id int(11) NOT NULL auto_increment,\@NL name varchar(255),\@NL PRIMARY KEY (id)\@NL );\@NLThis would also define the following accessors: `Product#name` and\@NL`Product#name=(new_name)`.\@NL* Associations between objects defined by simple class methods.\@NL class Firm < ActiveRecord::Base\@NL has_many :clients\@NL has_one :account\@NL belongs_to :conglomerate\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Associations/ClassMethods.html]\@NL* Aggregations of value objects.\@NL class Account < ActiveRecord::Base\@NL composed_of :balance, class_name: 'Money',\@NL mapping: %w(balance amount)\@NL composed_of :address,\@NL mapping: [%w(address_street street), %w(address_city city)]\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Aggregations/ClassMethods.html]\@NL* Validation rules that can differ for new or existing objects.\@NL class Account < ActiveRecord::Base\@NL validates :subdomain, :name, :email_address, :password, presence: true\@NL validates :subdomain, uniqueness: true\@NL validates :terms_of_service, acceptance: true, on: :create\@NL validates :password, :email_address, confirmation: true, on: :create\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Validations.html]\@NL* Callbacks available for the entire life cycle (instantiation, saving, destroying, validating, etc.).\@NL class Person < ActiveRecord::Base\@NL before_destroy :invalidate_payment_plan\@NL # the `invalidate_payment_plan` method gets called just before Person#destroy\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Callbacks.html]\@NL* Inheritance hierarchies.\@NL class Company < ActiveRecord::Base; end\@NL class Firm < Company; end\@NL class Client < Company; end\@NL class PriorityClient < Client; end\@NL {Learn more}[link:classes/ActiveRecord/Base.html]\@NL* Transactions.\@NL # Database transaction\@NL Account.transaction do\@NL david.withdrawal(100)\@NL mary.deposit(100)\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Transactions/ClassMethods.html]\@NL* Reflections on columns, associations, and aggregations.\@NL reflection = Firm.reflect_on_association(:clients)\@NL reflection.klass # => Client (class)\@NL Firm.columns # Returns an array of column descriptors for the firms table\@NL {Learn more}[link:classes/ActiveRecord/Reflection/ClassMethods.html]\@NL* Database abstraction through simple adapters.\@NL # connect to SQLite3\@NL ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: 'dbfile.sqlite3')\@NL # connect to MySQL with authentication\@NL ActiveRecord::Base.establish_connection(\@NL adapter: 'mysql2',\@NL host: 'localhost',\@NL username: 'me',\@NL password: 'secret',\@NL database: 'activerecord'\@NL )\@NL {Learn more}[link:classes/ActiveRecord/Base.html] and read about the built-in support for\@NL MySQL[link:classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html],\@NL PostgreSQL[link:classes/ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html], and\@NL SQLite3[link:classes/ActiveRecord/ConnectionAdapters/SQLite3Adapter.html].\@NL* Logging support for Log4r[https://github.com/colbygk/log4r] and Logger[http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc].\@NL ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDOUT)\@NL ActiveRecord::Base.logger = Log4r::Logger.new('Application Log')\@NL* Database agnostic schema management with Migrations.\@NL class AddSystemSettings < ActiveRecord::Migration\@NL def up\@NL create_table :system_settings do |t|\@NL t.string :name\@NL t.string :label\@NL t.text :value\@NL t.string :type\@NL t.integer :position\@NL end\@NL SystemSetting.create name: 'notice', label: 'Use notice?', value: 1\@NL end\@NL def down\@NL drop_table :system_settings\@NL end\@NL end\@NL {Learn more}[link:classes/ActiveRecord/Migration.html]\@NL== Philosophy\@NLActive Record is an implementation of the object-relational mapping (ORM)\@NLpattern[http://www.martinfowler.com/eaaCatalog/activeRecord.html] by the same\@NLname described by Martin Fowler:\@NL "An object that wraps a row in a database table or view,\@NL encapsulates the database access, and adds domain logic on that data."\@NLActive Record attempts to provide a coherent wrapper as a solution for the inconvenience that is\@NLobject-relational mapping. The prime directive for this mapping has been to minimize\@NLthe amount of code needed to build a real-world domain model. This is made possible\@NLby relying on a number of conventions that make it easy for Active Record to infer\@NLcomplex relations and structures from a minimal amount of explicit direction.\@NLConvention over Configuration:\@NL* No XML files!\@NL* Lots of reflection and run-time extension\@NL* Magic is not inherently a bad word\@NLAdmit the Database:\@NL* Lets you drop down to SQL for odd cases and performance\@NL* Doesn't attempt to duplicate or replace data definitions\@NL== Download and installation\@NLThe latest version of Active Record can be installed with RubyGems:\@NL % [sudo] gem install activerecord\@NLSource code can be downloaded as part of the Rails project on GitHub:\@NL* https://github.com/rails/rails/tree/4-2-stable/activerecord\@NL== License\@NLActive Record is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at:\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/activerecord-4.2.11.1
7activesupport4.2.11.1MIThttp://www.rubyonrails.orgCopyright (c) 2005-2014 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= Active Support -- Utility classes and Ruby extensions from Rails\@NLActive Support is a collection of utility classes and standard library\@NLextensions that were found useful for the Rails framework. These additions\@NLreside in this package so they can be loaded as needed in Ruby projects\@NLoutside of Rails.\@NL== Download and installation\@NLThe latest version of Active Support can be installed with RubyGems:\@NL % [sudo] gem install activesupport\@NLSource code can be downloaded as part of the Rails project on GitHub:\@NL* https://github.com/rails/rails/tree/4-2-stable/activesupport\@NL== License\@NLActive Support is released under the MIT license:\@NL* http://www.opensource.org/licenses/MIT\@NL== Support\@NLAPI documentation is at:\@NL* http://api.rubyonrails.org\@NLBug reports can be filed for the Ruby on Rails project here:\@NL* https://github.com/rails/rails/issues\@NLFeature requests should be discussed on the rails-core mailing list here:\@NL* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core/Users/scott/.rvm/gems/ruby-2.4.6/gems/activesupport-4.2.11.1
8acts-as-taggable-on3.5.0MIThttps://github.com/mbleigh/acts-as-taggable-on__Copyright (c) 2007 Michael Bleigh and Intridea Inc.__\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/acts-as-taggable-on-3.5.0
9addressable2.6.0Apache 2.0https://github.com/sporkmonger/addressable\@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NLTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL1. Definitions.\@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NLEND OF TERMS AND CONDITIONS\@NLAPPENDIX: How to apply the Apache License to your work.\@NL To apply the Apache License to your work, attach the following\@NL boilerplate notice, with the fields enclosed by brackets "[]"\@NL replaced with your own identifying information. (Don't include\@NL the brackets!) The text should be enclosed in the appropriate\@NL comment syntax for the file format. We also recommend that a\@NL file or class name and description of purpose be included on the\@NL same "printed page" as the copyright notice for easier\@NL identification within third-party archives.\@NLCopyright [yyyy] [name of copyright owner]\@NLLicensed under the Apache License, Version 2.0 (the "License");\@NLyou may not use this file except in compliance with the License.\@NLYou may obtain a copy of the License at\@NL http://www.apache.org/licenses/LICENSE-2.0\@NLUnless required by applicable law or agreed to in writing, software\@NLdistributed under the License is distributed on an "AS IS" BASIS,\@NLWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\@NLSee the License for the specific language governing permissions and\@NLlimitations under the License./Users/scott/.rvm/gems/ruby-2.4.6/gems/addressable-2.6.0
10animate.css3.3.0MIThttps://github.com/daneden/animate.css/Users/scott/Workspace/Helpy/helpy/vendor/assets/components/animate.css
11arel6.0.4MIThttps://github.com/rails/arelCopyright (c) 2007-2010 Nick Kallen, Bryan Helmkamp, Emilio Tagua, Aaron Patterson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/arel-6.0.4
12attachinary1.3.1MITCopyright 2012 Milovan Zogovic\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/attachinary-1.3.1
13autolink1.0.1MIThttps://github.com/bryanwoods/autolink-js/Users/scott/Workspace/Helpy/helpy/vendor/assets/components/autolink
14autoprefixer-rails9.5.0MIThttps://github.com/ai/autoprefixer-railsThe MIT License (MIT)\@NLCopyright 2013 Andrey Sitnik <andrey@sitnik.ru>\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/autoprefixer-rails-9.5.0
15aws_cf_signer0.1.3MIT
16axiom-types0.1.1MIThttps://github.com/dkubb/axiom-typesCopyright (c) 2013 Dan Kubb\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/axiom-types-0.1.1
17bcrypt3.1.12MIThttps://github.com/codahale/bcrypt-ruby(The MIT License)\@NLCopyright 2007-2011:\@NL* Coda Hale <coda.hale@gmail.com>\@NLC implementation of the BCrypt algorithm by Solar Designer and placed in the\@NLpublic domain.\@NLjBCrypt is Copyright (c) 2006 Damien Miller <djm@mindrot.org>.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL'Software'), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bcrypt-3.1.12
18best_in_place3.1.1MIT
19bootstrap-datepicker-rails1.8.0.1MIThttps://github.com/Nerian/bootstrap-datepicker-rails# Bootstrap Datepicker for Rails\@NL[![Gem Version](https://badge.fury.io/rb/bootstrap-datepicker-rails.png)](http://badge.fury.io/rb/bootstrap-datepicker-rails)\@NL[![endorse](https://api.coderwall.com/nerian/endorsecount.png)](https://coderwall.com/nerian)\@NLbootstrap-datepicker-rails project integrates a datepicker with Rails 3 assets pipeline.\@NLhttp://github.com/Nerian/bootstrap-datepicker-rails\@NLhttps://github.com/eternicode/bootstrap-datepicker\@NL## Rails > 3.1\@NLInclude bootstrap-datepicker-rails in Gemfile;\@NL``` ruby\@NLgem 'bootstrap-datepicker-rails'\@NL```\@NLor you can install from latest build;\@NL``` ruby\@NLgem 'bootstrap-datepicker-rails', :require => 'bootstrap-datepicker-rails',\@NL :git => 'git://github.com/Nerian/bootstrap-datepicker-rails.git'\@NL```\@NLand run bundle install.\@NL## Configuration\@NLAdd this line to app/assets/stylesheets/application.css\@NL``` css\@NL *= require bootstrap-datepicker\@NL # Or if using bootstrap v3:\@NL *= require bootstrap-datepicker3\@NL```\@NLAdd this line to app/assets/javascripts/application.js\@NL``` javascript\@NL//= require bootstrap-datepicker\@NL```\@NLYou can fine tune the included files to suit your needs.\@NL```javascript\@NL//= require bootstrap-datepicker/core\@NL//= require bootstrap-datepicker/locales/bootstrap-datepicker.es.js\@NL//= require bootstrap-datepicker/locales/bootstrap-datepicker.fr.js\@NL```\@NL## Using bootstrap-datepicker-rails\@NLJust use the simple ```data-provide='datepicker'``` attribute.\@NL```html\@NL<input type="text" data-provide='datepicker' >\@NL```\@NLOr call datepicker() with any selector.\@NL```html\@NL<input type="text" class='datepicker' >\@NL<script type="text/javascript">\@NL $(document).ready(function(){\@NL $('.datepicker').datepicker();\@NL });\@NL</script>\@NL```\@NLExamples:\@NLhttp://eternicode.github.io/bootstrap-datepicker/\@NLThere are a lot of options you can pass to datepicker(). They are documented at [https://github.com/eternicode/bootstrap-datepicker](https://github.com/eternicode/bootstrap-datepicker)\@NL## Updating the assets\@NLPlease use the rake task to update the assets.\@NLExamples :\@NL```bash\@NLrake update # Update the assets with the latest tag source code on master\@NLrake update v1.4.0 # Update the assets with the specified tag source code\@NL```\@NL## Questions? Bugs?\@NLUse Github Issues.\@NL## License\@NLCopyright (c) 2014 Gonzalo Rodríguez-Baltanás Díaz\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bootstrap-datepicker-rails-1.8.0.1
20bootstrap-icon-chooserMIThttps://github.com/scott/bootstrap-icon-chooserCopyright 2015-2019 Tito433, certain modifications Scott Miller\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/bootstrap-icon-chooser
21bootstrap-sass3.4.1MIThttps://github.com/twbs/bootstrap-sassThe MIT License (MIT)\@NLCopyright (c) 2011-2016 Twitter, Inc\@NLCopyright (c) 2011-2016 The Bootstrap Authors\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bootstrap-sass-3.4.1
22bootstrap-select-rails1.12.4MIThttps://github.com/Slashek/bootstrap-select-railsCopyright (c) 2013 Maciej Krajowski-Kukiel\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# Bootstrap::Select::Rails\@NLAssets for https://github.com/silviomoreto/bootstrap-select - see it for details\@NLadd to application.js and application.css something like\@NL //= require bootstrap-select\@NLAlso, you must require at least the *alert* and *dropdown* bootstrap components.\@NLFor example, if using\@NL[bootstrap-sass](https://github.com/twbs/bootstrap-sass):\@NL //= require bootstrap/alert\@NL //= require bootstrap/dropdown\@NL## Installation\@NLAdd this line to your application's Gemfile:\@NL gem 'bootstrap-select-rails'\@NLAnd then execute:\@NL $ bundle\@NLOr install it yourself as:\@NL $ gem install bootstrap-select-rails\@NL## Usage\@NLTODO: Write usage instructions here\@NL## Contributing\@NL1. Fork it\@NL2. Create your feature branch (`git checkout -b my-new-feature`)\@NL3. Commit your changes (`git commit -am 'Add some feature'`)\@NL4. Push to the branch (`git push origin my-new-feature`)\@NL5. Create new Pull Request\@NL# Copyright and license\@NLCopyright (C) 2013 bootstrap-select-rails\@NLLicensed under the MIT license.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bootstrap-select-rails-1.12.4
23bootstrap-social4.10.1MIThttps://github.com/lipis/bootstrap-socialThe MIT License (MIT)\@NLCopyright (c) 2013-2015 Panayiotis Lipiridis\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/bootstrap-social
24bootstrap-switch-rails3.3.3MIT, Apache License v2.0https://github.com/manuelvanrijn/bootstrap-switch-railsCopyright (c) 2013 Manuel van Rijn\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# bootstrap-switch-rails [![Gem Version](https://badge.fury.io/rb/bootstrap-switch-rails.png)](http://badge.fury.io/rb/bootstrap-switch-rails)\@NLbootstrap-switch-rails provides the [bootstrap-switch](http://www.bootstrap-switch.org/)\@NLplugin as a Rails engine to use it within the asset pipeline.\@NL## Installation\@NLAdd this to your Gemfile:\@NL```ruby\@NLgem "bootstrap-switch-rails"\@NL```\@NLand run `bundle install`.\@NL## Usage\@NLIn your `application.js`, include the following:\@NL```js\@NL//= require bootstrap-switch\@NL```\@NLIn your `application.css`, include the following:\@NL```css\@NL/*\@NL * for bootstrap3\@NL *= require bootstrap3-switch\@NL *\@NL * or for bootstrap2\@NL *= require bootstrap2-switch\@NL */\@NL *= require bootstrap-switch\@NL```\@NLor in any `SASS` file, include the following:\@NL```css\@NL/* for bootstrap3 */\@NL@import "bootstrap3-switch";\@NL/* or for bootstrap2 */\@NL@import "bootstrap2-switch";\@NL```\@NL## Examples\@NLSee the [demo page of Mattia Larentis](http://www.bootstrap-switch.org/) for examples how to use the plugin\@NL## License\@NL* The [bootstrap-switch](http://www.bootstrap-switch.org/) plugin is licensed under the\@NL[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)\@NL* The [bootstrap-switch-rails](https://github.com/manuelvanrijn/bootstrap-switch-rails) project is\@NL licensed under the [MIT License](http://opensource.org/licenses/mit-license.html)\@NL## Contributing\@NL1. Fork it\@NL2. Create your feature branch (`git checkout -b my-new-feature`)\@NL3. Commit your changes (`git commit -am 'Add some feature'`)\@NL4. Push to the branch (`git push origin my-new-feature`)\@NL5. Create new Pull Request/Users/scott/.rvm/gems/ruby-2.4.6/gems/bootstrap-switch-rails-3.3.3
25bootstrap_form2.7.0MIThttp://github.com/bootstrap-ruby/rails-bootstrap-formsCopyright 2012-2014 Stephen Potenza <potenza@gmail.com>\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bootstrap_form-2.7.0
26builder3.2.3MIThttp://onestepback.orgCopyright (c) 2003-2012 Jim Weirich (jim.weirich@gmail.com)\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# Project: Builder\@NL## Goal\@NLProvide a simple way to create XML markup and data structures.\@NL## Classes\@NLBuilder::XmlMarkup:: Generate XML markup notation\@NLBuilder::XmlEvents:: Generate XML events (i.e. SAX-like)\@NL**Notes:**\@NL* An <tt>Builder::XmlTree</tt> class to generate XML tree\@NL (i.e. DOM-like) structures is also planned, but not yet implemented.\@NL Also, the events builder is currently lagging the markup builder in\@NL features.\@NL## Usage\@NL```ruby\@NL require 'rubygems'\@NL require_gem 'builder', '~> 2.0'\@NL builder = Builder::XmlMarkup.new\@NL xml = builder.person { |b| b.name("Jim"); b.phone("555-1234") }\@NL xml #=> <person><name>Jim</name><phone>555-1234</phone></person>\@NL```\@NLor\@NL```ruby\@NL require 'rubygems'\@NL require_gem 'builder'\@NL builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)\@NL builder.person { |b| b.name("Jim"); b.phone("555-1234") }\@NL #\@NL # Prints:\@NL # <person>\@NL # <name>Jim</name>\@NL # <phone>555-1234</phone>\@NL # </person>\@NL```\@NL## Compatibility\@NL### Version 2.0.0 Compatibility Changes\@NLVersion 2.0.0 introduces automatically escaped attribute values for\@NLthe first time. Versions prior to 2.0.0 did not insert escape\@NLcharacters into attribute values in the XML markup. This allowed\@NLattribute values to explicitly reference entities, which was\@NLoccasionally used by a small number of developers. Since strings\@NLcould always be explicitly escaped by hand, this was not a major\@NLrestriction in functionality.\@NLHowever, it did surprise most users of builder. Since the body text is\@NLnormally escaped, everybody expected the attribute values to be\@NLescaped as well. Escaped attribute values were the number one support\@NLrequest on the 1.x Builder series.\@NLStarting with Builder version 2.0.0, all attribute values expressed as\@NLstrings will be processed and the appropriate characters will be\@NLescaped (e.g. "&" will be translated to "&amp;amp;"). Attribute values\@NLthat are expressed as Symbol values will not be processed for escaped\@NLcharacters and will be unchanged in output. (Yes, this probably counts\@NLas Symbol abuse, but the convention is convenient and flexible).\@NLExample:\@NL```ruby\@NL xml = Builder::XmlMarkup.new\@NL xml.sample(:escaped=>"This&That", :unescaped=>:"Here&amp;There")\@NL xml.target! =>\@NL <sample escaped="This&amp;That" unescaped="Here&amp;There"/>\@NL```\@NL### Version 1.0.0 Compatibility Changes\@NLVersion 1.0.0 introduces some changes that are not backwards\@NLcompatible with earlier releases of builder. The main areas of\@NLincompatibility are:\@NL* Keyword based arguments to +new+ (rather than positional based). It\@NL was found that a developer would often like to specify indentation\@NL without providing an explicit target, or specify a target without\@NL indentation. Keyword based arguments handle this situation nicely.\@NL* Builder must now be an explicit target for markup tags. Instead of\@NL writing\@NL```ruby\@NL xml_markup = Builder::XmlMarkup.new\@NL xml_markup.div { strong("text") }\@NL```\@NL you need to write\@NL```ruby\@NL xml_markup = Builder::XmlMarkup.new\@NL xml_markup.div { xml_markup.strong("text") }\@NL```\@NL* The builder object is passed as a parameter to all nested markup\@NL blocks. This allows you to create a short alias for the builder\@NL object that can be used within the block. For example, the previous\@NL example can be written as:\@NL```ruby\@NL xml_markup = Builder::XmlMarkup.new\@NL xml_markup.div { |xml| xml.strong("text") }\@NL```\@NL* If you have both a pre-1.0 and a post-1.0 gem of builder installed,\@NL you can choose which version to use through the RubyGems\@NL +require_gem+ facility.\@NL```ruby\@NL require_gem 'builder', "~> 0.0" # Gets the old version\@NL require_gem 'builder', "~> 1.0" # Gets the new version\@NL```\@NL## Features\@NL* XML Comments are supported ...\@NL```ruby\@NL xml_markup.comment! "This is a comment"\@NL #=> <!-- This is a comment -->\@NL```\@NL* XML processing instructions are supported ...\@NL```ruby\@NL xml_markup.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"\@NL #=> <?xml version="1.0" encoding="UTF-8"?>\@NL```\@NL If the processing instruction is omitted, it defaults to "xml".\@NL When the processing instruction is "xml", the defaults attributes\@NL are:\@NL <b>version</b>: 1.0\@NL <b>encoding</b>: "UTF-8"\@NL (NOTE: if the encoding is set to "UTF-8" and $KCODE is set to\@NL "UTF8", then Builder will emit UTF-8 encoded strings rather than\@NL encoding non-ASCII characters as entities.)\@NL* XML entity declarations are now supported to a small degree.\@NL```ruby\@NL xml_markup.declare! :DOCTYPE, :chapter, :SYSTEM, "../dtds/chapter.dtd"\@NL #=> <!DOCTYPE chapter SYSTEM "../dtds/chapter.dtd">\@NL```\@NL The parameters to a declare! method must be either symbols or\@NL strings. Symbols are inserted without quotes, and strings are\@NL inserted with double quotes. Attribute-like arguments in hashes are\@NL not allowed.\@NL If you need to have an argument to declare! be inserted without\@NL quotes, but the argument does not conform to the typical Ruby\@NL syntax for symbols, then use the :"string" form to specify a symbol.\@NL For example:\@NL```ruby\@NL xml_markup.declare! :ELEMENT, :chapter, :"(title,para+)"\@NL #=> <!ELEMENT chapter (title,para+)>\@NL```\@NL Nested entity declarations are allowed. For example:\@NL```ruby\@NL @xml_markup.declare! :DOCTYPE, :chapter do |x|\@NL x.declare! :ELEMENT, :chapter, :"(title,para+)"\@NL x.declare! :ELEMENT, :title, :"(#PCDATA)"\@NL x.declare! :ELEMENT, :para, :"(#PCDATA)"\@NL end\@NL #=>\@NL <!DOCTYPE chapter [\@NL <!ELEMENT chapter (title,para+)>\@NL <!ELEMENT title (#PCDATA)>\@NL <!ELEMENT para (#PCDATA)>\@NL ]>\@NL```\@NL* Some support for XML namespaces is now available. If the first\@NL argument to a tag call is a symbol, it will be joined to the tag to\@NL produce a namespace:tag combination. It is easier to show this than\@NL describe it.\@NL```ruby\@NL xml.SOAP :Envelope do ... end\@NL```\@NL Just put a space before the colon in a namespace to produce the\@NL right form for builder (e.g. "<tt>SOAP:Envelope</tt>" =>\@NL "<tt>xml.SOAP :Envelope</tt>")\@NL* String attribute values are <em>now</em> escaped by default by\@NL Builder (<b>NOTE:</b> this is _new_ behavior as of version 2.0).\@NL However, occasionally you need to use entities in attribute values.\@NL Using a symbol (rather than a string) for an attribute value will\@NL cause Builder to not run its quoting/escaping algorithm on that\@NL particular value.\@NL (<b>Note:</b> The +escape_attrs+ option for builder is now\@NL obsolete).\@NL Example:\@NL```ruby\@NL xml = Builder::XmlMarkup.new\@NL xml.sample(:escaped=>"This&That", :unescaped=>:"Here&amp;There")\@NL xml.target! =>\@NL <sample escaped="This&amp;That" unescaped="Here&amp;There"/>\@NL```\@NL* UTF-8 Support\@NL Builder correctly translates UTF-8 characters into valid XML. (New\@NL in version 2.0.0). Thanks to Sam Ruby for the translation code.\@NL You can get UTF-8 encoded output by making sure that the XML\@NL encoding is set to "UTF-8" and that the $KCODE variable is set to\@NL "UTF8".\@NL```ruby\@NL $KCODE = 'UTF8'\@NL xml = Builder::Markup.new\@NL xml.instruct!(:xml, :encoding => "UTF-8")\@NL xml.sample("Iñtërnâtiônàl")\@NL xml.target! =>\@NL "<sample>Iñtërnâtiônàl</sample>"\@NL```\@NL## Links\@NL| Description | Link |\@NL| :----: | :----: |\@NL| Documents | http://builder.rubyforge.org/ |\@NL| Github Clone | git://github.com/jimweirich/builder.git |\@NL| Issue / Bug Reports | https://github.com/jimweirich/builder/issues?state=open |\@NL## Contact\@NL| Description | Value |\@NL| :----: | :----: |\@NL| Author | Jim Weirich |\@NL| Email | jim.weirich@gmail.com |\@NL| Home Page | http://onestepback.org |\@NL| License | MIT Licence (http://www.opensource.org/licenses/mit-license.html) |/Users/scott/.rvm/gems/ruby-2.4.6/gems/builder-3.2.3
27bulk_insert1.7.0MIThttp://github.com/jamis/bulk_insertCopyright 2015 Jamis Buck\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# BulkInsert\@NLA little ActiveRecord extension for helping to insert lots of rows in a\@NLsingle insert statement.\@NL## Installation\@NLAdd it to your Gemfile:\@NL```ruby\@NLgem 'bulk_insert'\@NL```\@NL## Usage\@NLBulkInsert adds a new class method to your ActiveRecord models:\@NL```ruby\@NLclass Book < ActiveRecord::Base\@NLend\@NLbook_attrs = ... # some array of hashes, for instance\@NLBook.bulk_insert do |worker|\@NL book_attrs.each do |attrs|\@NL worker.add(attrs)\@NL end\@NLend\@NL```\@NLAll of those `#add` calls will be accumulated into a single SQL insert\@NLstatement, vastly improving the performance of multiple sequential\@NLinserts (think data imports and the like).\@NLIf you don't like using a block API, you can also simply pass an array\@NLof rows to be inserted:\@NL```ruby\@NLbook_attrs = ... # some array of hashes, for instance\@NLBook.bulk_insert values: book_attrs\@NL```\@NLBy default, the columns to be inserted will be all columns in the table,\@NLminus the `id` column, but if you want, you can explicitly enumerate\@NLthe columns:\@NL```ruby\@NLBook.bulk_insert(:title, :author) do |worker|\@NL # specify a row as an array of values...\@NL worker.add ["Eye of the World", "Robert Jordan"]\@NL # or as a hash\@NL worker.add title: "Lord of Light", author: "Roger Zelazny"\@NLend\@NL```\@NLIt will automatically set `created_at`/`updated_at` columns to the current\@NLdate, as well.\@NL```ruby\@NLBook.bulk_insert(:title, :author, :created_at, :updated_at) do |worker|\@NL # specify created_at/updated_at explicitly...\@NL worker.add ["The Chosen", "Chaim Potok", Time.now, Time.now]\@NL # or let BulkInsert set them by default...\@NL worker.add ["Hello Ruby", "Linda Liukas"]\@NLend\@NL```\@NLSimilarly, if a value is omitted, BulkInsert will use whatever default\@NLvalue is defined for that column in the database:\@NL```ruby\@NL# create_table :books do |t|\@NL# ...\@NL# t.string "medium", default: "paper"\@NL# ...\@NL# end\@NLBook.bulk_insert(:title, :author, :medium) do |worker|\@NL worker.add title: "Ender's Game", author: "Orson Scott Card"\@NLend\@NLBook.first.medium #-> "paper"\@NL```\@NLBy default, the batch is always saved when the block finishes, but you\@NLcan explicitly save inside the block whenever you want, by calling\@NL`#save!` on the worker:\@NL```ruby\@NLBook.bulk_insert do |worker|\@NL worker.add(...)\@NL worker.add(...)\@NL worker.save!\@NL worker.add(...)\@NL #...\@NLend\@NL```\@NLThat will save the batch as it has been defined to that point, and then\@NLempty the batch so that you can add more rows to it if you want. Note\@NLthat all records saved together will have the same created_at/updated_at\@NLtimestamp (unless one was explicitly set).\@NL### Batch Set Size\@NLBy default, the size of the insert is limited to 500 rows at a time.\@NLThis is called the _set size_. If you add another row that causes the\@NLset to exceed the set size, the insert statement is automatically built\@NLand executed, and the batch is reset.\@NLIf you want a larger (or smaller) set size, you can specify it in\@NLtwo ways:\@NL```ruby\@NL# specify set_size when initializing the bulk insert...\@NLBook.bulk_insert(set_size: 100) do |worker|\@NL # ...\@NLend\@NL# specify it on the worker directly...\@NLBook.bulk_insert do |worker|\@NL worker.set_size = 100\@NL # ...\@NLend\@NL```\@NL### Insert Ignore\@NLBy default, when an insert fails the whole batch of inserts fail. The\@NL_ignore_ option ignores the inserts that would have failed (because of\@NLduplicate keys or a null in column with a not null constraint) and\@NLinserts the rest of the batch.\@NLThis is not the default because no errors are raised for the bad\@NLinserts in the batch.\@NL```ruby\@NLdestination_columns = [:title, :author]\@NL# Ignore bad inserts in the batch\@NLBook.bulk_insert(*destination_columns, ignore: true) do |worker|\@NL worker.add(...)\@NL worker.add(...)\@NL # ...\@NLend\@NL```\@NL### Update Duplicates (MySQL)\@NLIf you don't want to ignore duplicate rows but instead want to update them\@NLthen you can use the _update_duplicates_ option. Set this option to true\@NLand when a duplicate row is found the row will be updated with your new\@NLvalues. Default value for this option is false.\@NL```ruby\@NLdestination_columns = [:title, :author]\@NL# Update duplicate rows\@NLBook.bulk_insert(*destination_columns, update_duplicates: true) do |worker|\@NL worker.add(...)\@NL worker.add(...)\@NL # ...\@NLend\@NL```\@NL### Return Primary Keys (PostgreSQL, PostGIS)\@NLIf you want the worker to store primary keys of inserted records, then you can\@NLuse the _return_primary_keys_ option. The worker will store a `result_sets`\@NLarray of `ActiveRecord::Result` objects. Each `ActiveRecord::Result` object\@NLwill contain the primary keys of a batch of inserted records.\@NL```ruby\@NLworker = Book.bulk_insert(*destination_columns, return_primary_keys: true) do\@NL|worker|\@NL worker.add(...)\@NL worker.add(...)\@NL # ...\@NLend\@NLworker.result_sets\@NL```\@NL## License\@NLBulkInsert is released under the MIT license (see MIT-LICENSE) by\@NLJamis Buck (jamis@jamisbuck.org)./Users/scott/.rvm/gems/ruby-2.4.6/gems/bulk_insert-1.7.0
28bundler1.17.2MIThttp://bundler.ioPortions copyright (c) 2010 Andre Arko \@NLPortions copyright (c) 2009 Engine Yard\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NLThe MIT License (MIT)\@NLCopyright (c) <%= Time.now.year %> <%= config[:author] %>\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/bundler-1.17.2
29carrierwave1.3.1MIThttps://github.com/carrierwaveuploader/carrierwave# CarrierWave\@NLThis gem provides a simple and extremely flexible way to upload files from Ruby applications.\@NLIt works well with Rack based web applications, such as Ruby on Rails.\@NL[![Build Status](https://travis-ci.org/carrierwaveuploader/carrierwave.svg?branch=master)](http://travis-ci.org/carrierwaveuploader/carrierwave)\@NL[![Code Climate](https://codeclimate.com/github/carrierwaveuploader/carrierwave.svg)](https://codeclimate.com/github/carrierwaveuploader/carrierwave)\@NL[![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=carrierwave&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=carrierwave&package-manager=bundler&version-scheme=semver)\@NL## Information\@NL* RDoc documentation [available on RubyDoc.info](http://rubydoc.info/gems/carrierwave/frames)\@NL* Source code [available on GitHub](http://github.com/carrierwaveuploader/carrierwave)\@NL* More information, known limitations, and how-tos [available on the wiki](https://github.com/carrierwaveuploader/carrierwave/wiki)\@NL## Getting Help\@NL* Please ask the community on [Stack Overflow](https://stackoverflow.com/questions/tagged/carrierwave) for help if you have any questions. Please do not post usage questions on the issue tracker.\@NL* Please report bugs on the [issue tracker](http://github.com/carrierwaveuploader/carrierwave/issues) but read the "getting help" section in the wiki first.\@NL## Installation\@NLInstall the latest release:\@NL```\@NL$ gem install carrierwave\@NL```\@NLIn Rails, add it to your Gemfile:\@NL```ruby\@NLgem 'carrierwave', '~> 1.0'\@NL```\@NLFinally, restart the server to apply the changes.\@NLAs of version 1.0, CarrierWave requires Rails 4.0 or higher and Ruby 2.0\@NLor higher. If you're on Rails 3, you should use v0.11.0.\@NL## Getting Started\@NLStart off by generating an uploader:\@NL rails generate uploader Avatar\@NLthis should give you a file in:\@NL app/uploaders/avatar_uploader.rb\@NLCheck out this file for some hints on how you can customize your uploader. It\@NLshould look something like this:\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL storage :file\@NLend\@NL```\@NLYou can use your uploader class to store and retrieve files like this:\@NL```ruby\@NLuploader = AvatarUploader.new\@NLuploader.store!(my_file)\@NLuploader.retrieve_from_store!('my_file.png')\@NL```\@NLCarrierWave gives you a `store` for permanent storage, and a `cache` for\@NLtemporary storage. You can use different stores, including filesystem\@NLand cloud storage.\@NLMost of the time you are going to want to use CarrierWave together with an ORM.\@NLIt is quite simple to mount uploaders on columns in your model, so you can\@NLsimply assign files and get going:\@NL### ActiveRecord\@NLMake sure you are loading CarrierWave after loading your ORM, otherwise you'll\@NLneed to require the relevant extension manually, e.g.:\@NL```ruby\@NLrequire 'carrierwave/orm/activerecord'\@NL```\@NLAdd a string column to the model you want to mount the uploader by creating\@NLa migration:\@NL rails g migration add_avatar_to_users avatar:string\@NL rails db:migrate\@NLOpen your model file and mount the uploader:\@NL```ruby\@NLclass User < ActiveRecord::Base\@NL mount_uploader :avatar, AvatarUploader\@NLend\@NL```\@NLNow you can cache files by assigning them to the attribute, they will\@NLautomatically be stored when the record is saved.\@NL```ruby\@NLu = User.new\@NLu.avatar = params[:file] # Assign a file like this, or\@NL# like this\@NLFile.open('somewhere') do |f|\@NL u.avatar = f\@NLend\@NLu.save!\@NLu.avatar.url # => '/url/to/file.png'\@NLu.avatar.current_path # => 'path/to/file.png'\@NLu.avatar_identifier # => 'file.png'\@NL```\@NL**Note**: `u.avatar` will never return nil, even if there is no photo associated to it.\@NLTo check if a photo was saved to the model, use `u.avatar.file.nil?` instead.\@NL### DataMapper, Mongoid, Sequel\@NLOther ORM support has been extracted into separate gems:\@NL* [carrierwave-datamapper](https://github.com/carrierwaveuploader/carrierwave-datamapper)\@NL* [carrierwave-mongoid](https://github.com/carrierwaveuploader/carrierwave-mongoid)\@NL* [carrierwave-sequel](https://github.com/carrierwaveuploader/carrierwave-sequel)\@NLThere are more extensions listed in [the wiki](https://github.com/carrierwaveuploader/carrierwave/wiki)\@NL## Multiple file uploads\@NLCarrierWave also has convenient support for multiple file upload fields.\@NL### ActiveRecord\@NLAdd a column which can store an array. This could be an array column or a JSON\@NLcolumn for example. Your choice depends on what your database supports. For\@NLexample, create a migration like this:\@NL#### For databases with ActiveRecord json data type support (e.g. PostgreSQL, MySQL)\@NL rails g migration add_avatars_to_users avatars:json\@NL rails db:migrate\@NL#### For database without ActiveRecord json data type support (e.g. SQLite)\@NL rails g migration add_avatars_to_users avatars:string\@NL rails db:migrate\@NL__Note__: JSON datatype doesn't exists in SQLite adapter, that's why you can use a string datatype which will be serialized in model.\@NLOpen your model file and mount the uploader:\@NL```ruby\@NLclass User < ActiveRecord::Base\@NL mount_uploaders :avatars, AvatarUploader\@NL serialize :avatars, JSON # If you use SQLite, add this line.\@NLend\@NL```\@NLMake sure your file input fields are set up as multiple file fields. For\@NLexample in Rails you'll want to do something like this:\@NL```erb\@NL<%= form.file_field :avatars, multiple: true %>\@NL```\@NLAlso, make sure your upload controller permits the multiple file upload attribute, *pointing to an empty array in a hash*. For example:\@NL```ruby\@NLparams.require(:user).permit(:email, :first_name, :last_name, {avatars: []})\@NL```\@NLNow you can select multiple files in the upload dialog (e.g. SHIFT+SELECT), and they will\@NLautomatically be stored when the record is saved.\@NL```ruby\@NLu = User.new(params[:user])\@NLu.save!\@NLu.avatars[0].url # => '/url/to/file.png'\@NLu.avatars[0].current_path # => 'path/to/file.png'\@NLu.avatars[0].identifier # => 'file.png'\@NL```\@NL## Changing the storage directory\@NLIn order to change where uploaded files are put, just override the `store_dir`\@NLmethod:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def store_dir\@NL 'public/my/upload/directory'\@NL end\@NLend\@NL```\@NLThis works for the file storage as well as Amazon S3 and Rackspace Cloud Files.\@NLDefine `store_dir` as `nil` if you'd like to store files at the root level.\@NLIf you store files outside the project root folder, you may want to define `cache_dir` in the same way:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def cache_dir\@NL '/tmp/projectname-cache'\@NL end\@NLend\@NL```\@NL## Securing uploads\@NLCertain files might be dangerous if uploaded to the wrong location, such as PHP\@NLfiles or other script files. CarrierWave allows you to specify a whitelist of\@NLallowed extensions or content types.\@NLIf you're mounting the uploader, uploading a file with the wrong extension will\@NLmake the record invalid instead. Otherwise, an error is raised.\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def extension_whitelist\@NL %w(jpg jpeg gif png)\@NL end\@NLend\@NL```\@NLThe same thing could be done using content types.\@NLLet's say we need an uploader that accepts only images. This can be done like this\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def content_type_whitelist\@NL /image\//\@NL end\@NLend\@NL```\@NLYou can use a blacklist to reject content types.\@NLLet's say we need an uploader that reject JSON files. This can be done like this\@NL```ruby\@NLclass NoJsonUploader < CarrierWave::Uploader::Base\@NL def content_type_blacklist\@NL ['application/text', 'application/json']\@NL end\@NLend\@NL```\@NL### Filenames and unicode chars\@NLAnother security issue you should care for is the file names (see\@NL[Ruby On Rails Security Guide](http://guides.rubyonrails.org/security.html#file-uploads)).\@NLBy default, CarrierWave provides only English letters, arabic numerals and some symbols as\@NLwhite-listed characters in the file name. If you want to support local scripts (Cyrillic letters, letters with diacritics and so on), you\@NLhave to override `sanitize_regexp` method. It should return regular expression which would match\@NLall *non*-allowed symbols.\@NL```ruby\@NLCarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/\@NL```\@NLAlso make sure that allowing non-latin characters won't cause a compatibility issue with a third-party\@NLplugins or client-side software.\@NL## Setting the content type\@NLAs of v0.11.0, the `mime-types` gem is a runtime dependency and the content type is set automatically.\@NLYou no longer need to do this manually.\@NL## Adding versions\@NLOften you'll want to add different versions of the same file. The classic example is image thumbnails. There is built in support for this*:\@NL*Note:* You must have Imagemagick and MiniMagick installed to do image resizing. MiniMagick is a Ruby interface for Imagemagick which is a C program. This is why MiniMagick fails on 'bundle install' without Imagemagick installed.\@NLSome documentation refers to RMagick instead of MiniMagick but MiniMagick is recommended.\@NLTo install Imagemagick on OSX with homebrew type the following:\@NL```\@NL$ brew install imagemagick\@NL```\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL include CarrierWave::MiniMagick\@NL process resize_to_fit: [800, 800]\@NL version :thumb do\@NL process resize_to_fill: [200,200]\@NL end\@NLend\@NL```\@NLWhen this uploader is used, an uploaded image would be scaled to be no larger\@NLthan 800 by 800 pixels. The original aspect ratio will be kept.\@NLA version called thumb is then created, which is scaled\@NLto exactly 200 by 200 pixels.\@NLIf you would like to crop images to a specific height and width you\@NLcan use the alternative option of '''resize_to_fill'''. It will make sure\@NLthat the width and height specified are filled, only cropping\@NLif the aspect ratio requires it.\@NLThe uploader could be used like this:\@NL```ruby\@NLuploader = AvatarUploader.new\@NLuploader.store!(my_file) # size: 1024x768\@NLuploader.url # => '/url/to/my_file.png' # size: 800x800\@NLuploader.thumb.url # => '/url/to/thumb_my_file.png' # size: 200x200\@NL```\@NLOne important thing to remember is that process is called *before* versions are\@NLcreated. This can cut down on processing cost.\@NLIt is possible to nest versions within versions:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL version :animal do\@NL version :human\@NL version :monkey\@NL version :llama\@NL end\@NLend\@NL```\@NL### Conditional versions\@NLOccasionally you want to restrict the creation of versions on certain\@NLproperties within the model or based on the picture itself.\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL version :human, if: :is_human?\@NL version :monkey, if: :is_monkey?\@NL version :banner, if: :is_landscape?\@NLprivate\@NL def is_human? picture\@NL model.can_program?(:ruby)\@NL end\@NL def is_monkey? picture\@NL model.favorite_food == 'banana'\@NL end\@NL def is_landscape? picture\@NL image = MiniMagick::Image.open(picture.path)\@NL image[:width] > image[:height]\@NL end\@NLend\@NL```\@NLThe `model` variable points to the instance object the uploader is attached to.\@NL### Create versions from existing versions\@NLFor performance reasons, it is often useful to create versions from existing ones\@NLinstead of using the original file. If your uploader generates several versions\@NLwhere the next is smaller than the last, it will take less time to generate from\@NLa smaller, already processed image.\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL version :thumb do\@NL process resize_to_fill: [280, 280]\@NL end\@NL version :small_thumb, from_version: :thumb do\@NL process resize_to_fill: [20, 20]\@NL end\@NLend\@NL```\@NLThe option `:from_version` uses the file cached in the `:thumb` version instead\@NLof the original version, potentially resulting in faster processing.\@NL## Making uploads work across form redisplays\@NLOften you'll notice that uploaded files disappear when a validation fails.\@NLCarrierWave has a feature that makes it easy to remember the uploaded file even\@NLin that case. Suppose your `user` model has an uploader mounted on `avatar`\@NLfile, just add a hidden field called `avatar_cache` (don't forget to add it to\@NLthe attr_accessible list as necessary). In Rails, this would look like this:\@NL```erb\@NL<%= form_for @user, html: { multipart: true } do |f| %>\@NL <p>\@NL <label>My Avatar</label>\@NL <%= f.file_field :avatar %>\@NL <%= f.hidden_field :avatar_cache %>\@NL </p>\@NL<% end %>\@NL````\@NLIt might be a good idea to show the user that a file has been uploaded, in the\@NLcase of images, a small thumbnail would be a good indicator:\@NL```erb\@NL<%= form_for @user, html: { multipart: true } do |f| %>\@NL <p>\@NL <label>My Avatar</label>\@NL <%= image_tag(@user.avatar_url) if @user.avatar? %>\@NL <%= f.file_field :avatar %>\@NL <%= f.hidden_field :avatar_cache %>\@NL </p>\@NL<% end %>\@NL```\@NL## Removing uploaded files\@NLIf you want to remove a previously uploaded file on a mounted uploader, you can\@NLeasily add a checkbox to the form which will remove the file when checked.\@NL```erb\@NL<%= form_for @user, html: { multipart: true } do |f| %>\@NL <p>\@NL <label>My Avatar</label>\@NL <%= image_tag(@user.avatar_url) if @user.avatar? %>\@NL <%= f.file_field :avatar %>\@NL </p>\@NL <p>\@NL <label>\@NL <%= f.check_box :remove_avatar %>\@NL Remove avatar\@NL </label>\@NL </p>\@NL<% end %>\@NL```\@NLIf you want to remove the file manually, you can call <code>remove_avatar!</code>, then save the object.\@NL```erb\@NL@user.remove_avatar!\@NL@user.save\@NL#=> true\@NL```\@NL## Uploading files from a remote location\@NLYour users may find it convenient to upload a file from a location on the Internet\@NLvia a URL. CarrierWave makes this simple, just add the appropriate attribute to your\@NLform and you're good to go:\@NL```erb\@NL<%= form_for @user, html: { multipart: true } do |f| %>\@NL <p>\@NL <label>My Avatar URL:</label>\@NL <%= image_tag(@user.avatar_url) if @user.avatar? %>\@NL <%= f.text_field :remote_avatar_url %>\@NL </p>\@NL<% end %>\@NL```\@NLIf you're using ActiveRecord, CarrierWave will indicate invalid URLs and download\@NLfailures automatically with attribute validation errors. If you aren't, or you\@NLdisable CarrierWave's `validate_download` option, you'll need to handle those\@NLerrors yourself.\@NL## Providing a default URL\@NLIn many cases, especially when working with images, it might be a good idea to\@NLprovide a default url, a fallback in case no file has been uploaded. You can do\@NLthis easily by overriding the `default_url` method in your uploader:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def default_url(*args)\@NL "/images/fallback/" + [version_name, "default.png"].compact.join('_')\@NL end\@NLend\@NL```\@NLOr if you are using the Rails asset pipeline:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def default_url(*args)\@NL ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))\@NL end\@NLend\@NL```\@NL## Recreating versions\@NLYou might come to a situation where you want to retroactively change a version\@NLor add a new one. You can use the `recreate_versions!` method to recreate the\@NLversions from the base file. This uses a naive approach which will re-upload and\@NLprocess the specified version or all versions, if none is passed as an argument.\@NLWhen you are generating random unique filenames you have to call `save!` on\@NLthe model after using `recreate_versions!`. This is necessary because\@NL`recreate_versions!` doesn't save the new filename to the database. Calling\@NL`save!` yourself will prevent that the database and file system are running\@NLout of sync.\@NL```ruby\@NLinstance = MyUploader.new\@NLinstance.recreate_versions!(:thumb, :large)\@NL```\@NLOr on a mounted uploader:\@NL```ruby\@NLUser.find_each do |user|\@NL user.avatar.recreate_versions!\@NLend\@NL```\@NLNote: `recreate_versions!` will throw an exception on records without an image. To avoid this, scope the records to those with images or check if an image exists within the block. If you're using ActiveRecord, recreating versions for a user avatar might look like this:\@NL```ruby\@NLUser.find_each do |user|\@NL user.avatar.recreate_versions! if user.avatar?\@NLend\@NL```\@NL## Configuring CarrierWave\@NLCarrierWave has a broad range of configuration options, which you can configure,\@NLboth globally and on a per-uploader basis:\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.permissions = 0666\@NL config.directory_permissions = 0777\@NL config.storage = :file\@NLend\@NL```\@NLOr alternatively:\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL permissions 0777\@NLend\@NL```\@NLIf you're using Rails, create an initializer for this:\@NL config/initializers/carrierwave.rb\@NLIf you want CarrierWave to fail noisily in development, you can change these configs in your environment file:\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.ignore_integrity_errors = false\@NL config.ignore_processing_errors = false\@NL config.ignore_download_errors = false\@NLend\@NL```\@NL## Testing with CarrierWave\@NLIt's a good idea to test your uploaders in isolation. In order to speed up your\@NLtests, it's recommended to switch off processing in your tests, and to use the\@NLfile storage. In Rails you could do that by adding an initializer with:\@NL```ruby\@NLif Rails.env.test? or Rails.env.cucumber?\@NL CarrierWave.configure do |config|\@NL config.storage = :file\@NL config.enable_processing = false\@NL end\@NLend\@NL```\@NLRemember, if you have already set `storage :something` in your uploader, the `storage`\@NLsetting from this initializer will be ignored.\@NLIf you need to test your processing, you should test it in isolation, and enable\@NLprocessing only for those tests that need it.\@NLCarrierWave comes with some RSpec matchers which you may find useful:\@NL```ruby\@NLrequire 'carrierwave/test/matchers'\@NLdescribe MyUploader do\@NL include CarrierWave::Test::Matchers\@NL let(:user) { double('user') }\@NL let(:uploader) { MyUploader.new(user, :avatar) }\@NL before do\@NL MyUploader.enable_processing = true\@NL File.open(path_to_file) { |f| uploader.store!(f) }\@NL end\@NL after do\@NL MyUploader.enable_processing = false\@NL uploader.remove!\@NL end\@NL context 'the thumb version' do\@NL it "scales down a landscape image to be exactly 64 by 64 pixels" do\@NL expect(uploader.thumb).to have_dimensions(64, 64)\@NL end\@NL end\@NL context 'the small version' do\@NL it "scales down a landscape image to fit within 200 by 200 pixels" do\@NL expect(uploader.small).to be_no_larger_than(200, 200)\@NL end\@NL end\@NL it "makes the image readable only to the owner and not executable" do\@NL expect(uploader).to have_permissions(0600)\@NL end\@NL it "has the correct format" do\@NL expect(uploader).to be_format('png')\@NL end\@NLend\@NL```\@NLIf you're looking for minitest asserts, checkout [carrierwave_asserts](https://github.com/hcfairbanks/carrierwave_asserts).\@NLSetting the enable_processing flag on an uploader will prevent any of the versions from processing as well.\@NLProcessing can be enabled for a single version by setting the processing flag on the version like so:\@NL```ruby\@NL@uploader.thumb.enable_processing = true\@NL```\@NL## Fog\@NLIf you want to use fog you must add in your CarrierWave initializer the\@NLfollowing lines\@NL```ruby\@NLconfig.fog_provider = 'fog' # 'fog/aws' etc. Defaults to 'fog'\@NLconfig.fog_credentials = { ... } # Provider specific credentials\@NL```\@NL## Using Amazon S3\@NL[Fog AWS](http://github.com/fog/fog-aws) is used to support Amazon S3. Ensure you have it in your Gemfile:\@NL```ruby\@NLgem "fog-aws"\@NL```\@NLYou'll need to provide your fog_credentials and a fog_directory (also known as a bucket) in an initializer.\@NLFor the sake of performance it is assumed that the directory already exists, so please create it if it needs to be.\@NLYou can also pass in additional options, as documented fully in lib/carrierwave/storage/fog.rb. Here's a full example:\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.fog_provider = 'fog/aws' # required\@NL config.fog_credentials = {\@NL provider: 'AWS', # required\@NL aws_access_key_id: 'xxx', # required unless using use_iam_profile\@NL aws_secret_access_key: 'yyy', # required unless using use_iam_profile\@NL use_iam_profile: true, # optional, defaults to false\@NL region: 'eu-west-1', # optional, defaults to 'us-east-1'\@NL host: 's3.example.com', # optional, defaults to nil\@NL endpoint: 'https://s3.example.com:8080' # optional, defaults to nil\@NL }\@NL config.fog_directory = 'name_of_bucket' # required\@NL config.fog_public = false # optional, defaults to true\@NL config.fog_attributes = { cache_control: "public, max-age=#{365.days.to_i}" } # optional, defaults to {}\@NLend\@NL```\@NLIn your uploader, set the storage to :fog\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL storage :fog\@NLend\@NL```\@NLThat's it! You can still use the `CarrierWave::Uploader#url` method to return the url to the file on Amazon S3.\@NL## Using Rackspace Cloud Files\@NL[Fog](http://github.com/fog/fog) is used to support Rackspace Cloud Files. Ensure you have it in your Gemfile:\@NL```ruby\@NLgem "fog"\@NL```\@NLYou'll need to configure a directory (also known as a container), username and API key in the initializer.\@NLFor the sake of performance it is assumed that the directory already exists, so please create it if need be.\@NLUsing a US-based account:\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.fog_provider = "fog/rackspace/storage" # optional, defaults to "fog"\@NL config.fog_credentials = {\@NL provider: 'Rackspace',\@NL rackspace_username: 'xxxxxx',\@NL rackspace_api_key: 'yyyyyy',\@NL rackspace_region: :ord # optional, defaults to :dfw\@NL }\@NL config.fog_directory = 'name_of_directory'\@NLend\@NL```\@NLUsing a UK-based account:\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.fog_provider = "fog/rackspace/storage" # optional, defaults to "fog"\@NL config.fog_credentials = {\@NL provider: 'Rackspace',\@NL rackspace_username: 'xxxxxx',\@NL rackspace_api_key: 'yyyyyy',\@NL rackspace_auth_url: Fog::Rackspace::UK_AUTH_ENDPOINT,\@NL rackspace_region: :lon\@NL }\@NL config.fog_directory = 'name_of_directory'\@NLend\@NL```\@NLYou can optionally include your CDN host name in the configuration.\@NLThis is *highly* recommended, as without it every request requires a lookup\@NLof this information.\@NL```ruby\@NLconfig.asset_host = "http://c000000.cdn.rackspacecloud.com"\@NL```\@NLIn your uploader, set the storage to :fog\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL storage :fog\@NLend\@NL```\@NLThat's it! You can still use the `CarrierWave::Uploader#url` method to return\@NLthe url to the file on Rackspace Cloud Files.\@NL## Using Google Storage for Developers\@NL[Fog](http://github.com/fog/fog-google) is used to support Google Storage for Developers. Ensure you have it in your Gemfile:\@NL```ruby\@NLgem "fog-google"\@NLgem "google-api-client", "> 0.8.5", "< 0.9"\@NLgem "mime-types"\@NL```\@NLYou'll need to configure a directory (also known as a bucket), access key id and secret access key in the initializer.\@NLFor the sake of performance it is assumed that the directory already exists, so please create it if need be.\@NLPlease read the [fog-google README](https://github.com/fog/fog-google/blob/master/README.md) on how to get credentials.\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.fog_provider = 'fog/google' # required\@NL config.fog_credentials = {\@NL provider: 'Google',\@NL google_storage_access_key_id: 'xxxxxx',\@NL google_storage_secret_access_key: 'yyyyyy'\@NL }\@NL config.fog_directory = 'name_of_directory'\@NLend\@NL```\@NLIn your uploader, set the storage to :fog\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL storage :fog\@NLend\@NL```\@NLThat's it! You can still use the `CarrierWave::Uploader#url` method to return\@NLthe url to the file on Google.\@NL## Optimized Loading of Fog\@NLSince Carrierwave doesn't know which parts of Fog you intend to use, it will just load the entire library (unless you use e.g. [`fog-aws`, `fog-google`] instead of fog proper). If you prefer to load fewer classes into your application, you need to load those parts of Fog yourself *before* loading CarrierWave in your Gemfile. Ex:\@NL```ruby\@NLgem "fog", "~> 1.27", require: "fog/rackspace/storage"\@NLgem "carrierwave"\@NL```\@NLA couple of notes about versions:\@NL* This functionality was introduced in Fog v1.20.\@NL* This functionality is slated for CarrierWave v1.0.0.\@NLIf you're not relying on Gemfile entries alone and are requiring "carrierwave" anywhere, ensure you require "fog/rackspace/storage" before it. Ex:\@NL```ruby\@NLrequire "fog/rackspace/storage"\@NLrequire "carrierwave"\@NL```\@NLBeware that this specific require is only needed when working with a fog provider that was not extracted to its own gem yet.\@NLA list of the extracted providers can be found in the page of the `fog` organizations [here](https://github.com/fog).\@NLWhen in doubt, inspect `Fog.constants` to see what has been loaded.\@NL## Dynamic Asset Host\@NLThe `asset_host` config property can be assigned a proc (or anything that responds to `call`) for generating the host dynamically. The proc-compliant object gets an instance of the current `CarrierWave::Storage::Fog::File` or `CarrierWave::SanitizedFile` as its only argument.\@NL```ruby\@NLCarrierWave.configure do |config|\@NL config.asset_host = proc do |file|\@NL identifier = # some logic\@NL "http://#{identifier}.cdn.rackspacecloud.com"\@NL end\@NLend\@NL```\@NL## Using RMagick\@NLIf you're uploading images, you'll probably want to manipulate them in some way,\@NLyou might want to create thumbnail images for example. CarrierWave comes with a\@NLsmall library to make manipulating images with RMagick easier, you'll need to\@NLinclude it in your Uploader:\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL include CarrierWave::RMagick\@NLend\@NL```\@NLThe RMagick module gives you a few methods, like\@NL`CarrierWave::RMagick#resize_to_fill` which manipulate the image file in some\@NLway. You can set a `process` callback, which will call that method any time a\@NLfile is uploaded.\@NLThere is a demonstration of convert here.\@NLConvert will only work if the file has the same file extension, thus the use of the filename method.\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL include CarrierWave::RMagick\@NL process resize_to_fill: [200, 200]\@NL process convert: 'png'\@NL def filename\@NL super.chomp(File.extname(super)) + '.png' if original_filename.present?\@NL end\@NLend\@NL```\@NLCheck out the manipulate! method, which makes it easy for you to write your own\@NLmanipulation methods.\@NL## Using MiniMagick\@NLMiniMagick is similar to RMagick but performs all the operations using the 'mogrify'\@NLcommand which is part of the standard ImageMagick kit. This allows you to have the power\@NLof ImageMagick without having to worry about installing all the RMagick libraries.\@NLSee the MiniMagick site for more details:\@NLhttps://github.com/minimagick/minimagick\@NLAnd the ImageMagick command line options for more for whats on offer:\@NLhttp://www.imagemagick.org/script/command-line-options.php\@NLCurrently, the MiniMagick carrierwave processor provides exactly the same methods as\@NLfor the RMagick processor.\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL include CarrierWave::MiniMagick\@NL process resize_to_fill: [200, 200]\@NLend\@NL```\@NL## Migrating from Paperclip\@NLIf you are using Paperclip, you can use the provided compatibility module:\@NL```ruby\@NLclass AvatarUploader < CarrierWave::Uploader::Base\@NL include CarrierWave::Compatibility::Paperclip\@NLend\@NL```\@NLSee the documentation for `CarrierWave::Compatibility::Paperclip` for more\@NLdetails.\@NLBe sure to use mount_on to specify the correct column:\@NL```ruby\@NLmount_uploader :avatar, AvatarUploader, mount_on: :avatar_file_name\@NL```\@NL## I18n\@NLThe Active Record validations use the Rails `i18n` framework. Add these keys to\@NLyour translations file:\@NL```yaml\@NLerrors:\@NL messages:\@NL carrierwave_processing_error: failed to be processed\@NL carrierwave_integrity_error: is not of an allowed file type\@NL carrierwave_download_error: could not be downloaded\@NL extension_whitelist_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"\@NL extension_blacklist_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"\@NL content_type_whitelist_error: "You are not allowed to upload %{content_type} files, allowed types: %{allowed_types}"\@NL content_type_blacklist_error: "You are not allowed to upload %{content_type} files"\@NL rmagick_processing_error: "Failed to manipulate with rmagick, maybe it is not an image?"\@NL mini_magick_processing_error: "Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: %{e}"\@NL min_size_error: "File size should be greater than %{min_size}"\@NL max_size_error: "File size should be less than %{max_size}"\@NL```\@NLThe [`carrierwave-i18n`](https://github.com/carrierwaveuploader/carrierwave-i18n)\@NLlibrary adds support for additional locales.\@NL## Large files\@NLBy default, CarrierWave copies an uploaded file twice, first copying the file into the cache, then\@NLcopying the file into the store. For large files, this can be prohibitively time consuming.\@NLYou may change this behavior by overriding either or both of the `move_to_cache` and\@NL`move_to_store` methods:\@NL```ruby\@NLclass MyUploader < CarrierWave::Uploader::Base\@NL def move_to_cache\@NL true\@NL end\@NL def move_to_store\@NL true\@NL end\@NLend\@NL```\@NLWhen the `move_to_cache` and/or `move_to_store` methods return true, files will be moved (instead of copied) to the cache and store respectively.\@NLThis has only been tested with the local filesystem store.\@NL## Skipping ActiveRecord callbacks\@NLBy default, mounting an uploader into an ActiveRecord model will add a few\@NLcallbacks. For example, this code:\@NL```ruby\@NLclass User\@NL mount_uploader :avatar, AvatarUploader\@NLend\@NL```\@NLWill add these callbacks:\@NL```ruby\@NLafter_save :store_avatar!\@NLbefore_save :write_avatar_identifier\@NLafter_commit :remove_avatar!, on: :destroy\@NLafter_commit :mark_remove_avatar_false, on: :update\@NLafter_save :store_previous_changes_for_avatar\@NLafter_commit :remove_previously_stored_avatar, on: :update\@NL```\@NLIf you want to skip any of these callbacks (eg. you want to keep the existing\@NLavatar, even after uploading a new one), you can use ActiveRecord’s\@NL`skip_callback` method.\@NL```ruby\@NLclass User\@NL mount_uploader :avatar, AvatarUploader\@NL skip_callback :commit, :after, :remove_previously_stored_avatar\@NLend\@NL```\@NL## Contributing to CarrierWave\@NLSee [CONTRIBUTING.md](https://github.com/carrierwaveuploader/carrierwave/blob/master/CONTRIBUTING.md)\@NL## License\@NLCopyright (c) 2008-2015 Jonas Nicklas\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/carrierwave-1.3.1
30celluloid0.16.0MIThttps://github.com/celluloid/celluloidCopyright (c) 2011-2014 Tony Arcieri\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/celluloid-0.16.0
31chartkick3.0.1MIThttps://www.chartkick.comCopyright (c) 2013-2018 Andrew Kane\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/chartkick-3.0.1
32client_side_validations4.2.12MIThttps://github.com/DavyJonesLocker/client_side_validations/Users/scott/.rvm/gems/ruby-2.4.6/gems/client_side_validations-4.2.12
33client_side_validations-simple_form3.4.0MIThttps://github.com/DavyJonesLocker/client_side_validations-simple_form/Users/scott/.rvm/gems/ruby-2.4.6/gems/client_side_validations-simple_form-3.4.0
34cloudinary1.0.25http://www.opensource.org/licenses/MIThttp://cloudinary.com/documentation/jquery_integration/Users/scott/Workspace/Helpy/helpy/vendor/assets/components/cloudinary_js
35cloudinary1.1.7MIThttp://cloudinary.com/Users/scott/.rvm/gems/ruby-2.4.6/gems/cloudinary-1.1.7
36codemirror-rails5.16.0MIThttps://rubygems.org/gems/codemirror-railsCopyright (C) 2013 by Nathan Fixler\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE.\@NLCopyright (C) 2013 by Marijn Haverbeke <marijnh@gmail.com>\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE.\@NLPlease note that some subdirectories of the CodeMirror distribution\@NLinclude their own LICENSE files, and are released under different\@NLlicences./Users/scott/.rvm/gems/ruby-2.4.6/gems/codemirror-rails-5.16.0
37coercible1.0.0MIThttps://github.com/solnic/coercibleCopyright (c) 2012 Piotr Solnica\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/coercible-1.0.0
38coffee-rails4.2.2MIThttps://github.com/rails/coffee-railsCopyright (c) 2011-2016 Santiago Pastorino\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/coffee-rails-4.2.2
39coffee-script2.4.1MIThttp://github.com/josh/ruby-coffee-scriptCopyright (c) 2010 Joshua Peek\@NLPermission is hereby granted, free of charge, to any person\@NLobtaining a copy of this software and associated documentation\@NLfiles (the "Software"), to deal in the Software without\@NLrestriction, including without limitation the rights to use,\@NLcopy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the\@NLSoftware is furnished to do so, subject to the following\@NLconditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\@NLOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\@NLHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\@NLWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\@NLFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\@NLOTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/coffee-script-2.4.1
40coffee-script-source1.12.2MIThttp://coffeescript.org/Users/scott/.rvm/gems/ruby-2.4.6/gems/coffee-script-source-1.12.2
41commonjs0.2.7MIThttp://github.com/cowboyd/commonjs.rb(The MIT License: http://www.opensource.org/licenses/MIT)\@NLCopyright (c) 2011,2012 Charles Lowell\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files\@NL(the "Software"), to deal in the Software without restriction,\@NLincluding without limitation the rights to use, copy, modify, merge,\@NLpublish, distribute, sublicense, and/or sell copies of the Software,\@NLand to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\@NLOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\@NLBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\@NLACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/commonjs-0.2.7
42concurrent-ruby1.1.5MIThttp://www.concurrent-ruby.com```\@NLCopyright (c) Jerry D'Antonio -- released under the MIT license.\@NLhttp://www.opensource.org/licenses/mit-license.php \@NLPermission is hereby granted, free of charge, to any person obtaining a copy \@NLof this software and associated documentation files (the "Software"), to deal \@NLin the Software without restriction, including without limitation the rights \@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell \@NLcopies of the Software, and to permit persons to whom the Software is \@NLfurnished to do so, subject to the following conditions: \@NL \@NLThe above copyright notice and this permission notice shall be included in \@NLall copies or substantial portions of the Software. \@NL \@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR \@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE \@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER \@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \@NLTHE SOFTWARE. \@NL```/Users/scott/.rvm/gems/ruby-2.4.6/gems/concurrent-ruby-1.1.5
43config1.1.1MIThttps://github.com/railsconfig/configThe MIT License (MIT)\@NLCopyright (c) 2010-2014 Jacques Crocker, Fred Wu, Piotr Kuczynski\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE.\@NLThird-party materials and licenses:\@NL* Config contains Deep Merge (deep_merge.rb) which is governed by the MIT license\@NL Copyright (C) 2008 Steve Midgley/Users/scott/.rvm/gems/ruby-2.4.6/gems/config-1.1.1
44crass1.0.4MIThttps://github.com/rgrove/crass//Users/scott/.rvm/gems/ruby-2.4.6/gems/crass-1.0.4
45css_parser1.7.0MIThttps://github.com/premailer/css_parser=== Ruby CSS Parser License\@NLCopyright (c) 2007-11 Alex Dunae\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/css_parser-1.7.0
46daemons1.2.6MIThttps://github.com/thuehlinger/daemonsCopyright (c) 2005-2017 Thomas Uehlinger, 2014-2016 Aaron Stone\@NLPermission is hereby granted, free of charge, to any person\@NLobtaining a copy of this software and associated documentation\@NLfiles (the "Software"), to deal in the Software without\@NLrestriction, including without limitation the rights to use,\@NLcopy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the\@NLSoftware is furnished to do so, subject to the following\@NLconditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\@NLOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\@NLHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\@NLWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\@NLFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\@NLOTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/daemons-1.2.6
47deep_merge1.0.1MIThttp://github.com/danielsdeleo/deep_merge/Users/scott/.rvm/gems/ruby-2.4.6/gems/deep_merge-1.0.1
48deface1.3.2MIThttps://github.com/spree/defaceCopyright (c) 2010 Brian Quinn \@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/deface-1.3.2
49descendants_tracker0.0.4MIThttps://github.com/dkubb/descendants_trackerCopyright (c) 2012-2013 Dan Kubb (author)\@NLCopyright (c) 2011-2012 Piotr Solnica (source maintainer)\@NLCopyright (c) 2012 Markus Schirp (packaging)\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/descendants_tracker-0.0.4
50devise4.6.2MIThttps://github.com/plataformatec/deviseCopyright 2009-2019 Plataformatec. http://plataformatec.com.br\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/devise-4.6.2
51devise-bootstrap-views1.1.0MIThttps://github.com/hisea/devise-bootstrap-viewsCopyright (c) 2018 Yinghai Zhao\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/devise-bootstrap-views-1.1.0
52devise-i18n1.8.0MIThttp://github.com/tigrish/devise-i18nCopyright (c) 2011 Christopher Dell, 2012 mcasimir\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/devise-i18n-1.8.0
53devise_invitable1.7.5MIThttps://github.com/scambra/devise_invitableCopyright (c) 2009 Sergio Cambra\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/devise_invitable-1.7.5
54domain_name0.5.20180417Simplified BSD,New BSD,Mozilla Public License 2.0https://github.com/knu/ruby-domain_name/Users/scott/.rvm/gems/ruby-2.4.6/gems/domain_name-0.5.20180417
55email_reply_trimmer0.1.12MIThttps://github.com/discourse/email_reply_trimmerThe MIT License (MIT)\@NLCopyright (c) Discourse\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/email_reply_trimmer-0.1.12
56equalizer0.0.11MIThttps://github.com/dkubb/equalizerCopyright (c) 2009-2013 Dan Kubb\@NLCopyright (c) 2012 Markus Schirp (packaging)\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/equalizer-0.0.11
57erubis2.7.0MIThttp://www.kuwata-lab.com/erubis/copyright(c) 2006-2011 kuwata-lab.com all rights reserved.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/erubis-2.7.0
58excon0.62.0MIThttps://github.com/excon/exconThe MIT License (MIT)\@NLCopyright (c) 2009-2015 [CONTRIBUTORS.md](https://github.com/excon/excon/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/excon-0.62.0
59execjs2.7.0MIThttps://github.com/rails/execjsCopyright (c) 2015-2016 Sam Stephenson\@NLCopyright (c) 2015-2016 Josh Peek\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/execjs-2.7.0
60faker1.9.3MIThttps://github.com/stympy/fakerCopyright (c) 2007-2019 Benjamin Curtis\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/faker-1.9.3
61faraday0.15.4MIThttps://github.com/lostisland/faradayCopyright (c) 2009-2017 Rick Olson, Zack Hobson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/faraday-0.15.4
62ffi1.10.0New BSDhttp://wiki.github.com/ffi/ffiCopyright (c) 2008-2016, Ruby FFI project contributors\@NLAll rights reserved.\@NLRedistribution and use in source and binary forms, with or without\@NLmodification, are permitted provided that the following conditions are met:\@NL * Redistributions of source code must retain the above copyright\@NL notice, this list of conditions and the following disclaimer.\@NL * Redistributions in binary form must reproduce the above copyright\@NL notice, this list of conditions and the following disclaimer in the\@NL documentation and/or other materials provided with the distribution.\@NL * Neither the name of the Ruby FFI project nor the\@NL names of its contributors may be used to endorse or promote products\@NL derived from this software without specific prior written permission.\@NLTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\@NLANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\@NLWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\@NLDISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\@NLDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\@NL(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\@NLLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\@NLON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\@NL(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\@NLSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\@NLThe libffi source distribution contains certain code that is not part\@NLof libffi, and is only used as tooling to assist with the building and\@NLtesting of libffi. This includes the msvcc.sh script used to wrap the\@NLMicrosoft compiler with GNU compatible command-line options, and the\@NLlibffi test code distributed in the testsuite/libffi.bhaible\@NLdirectory. This code is distributed with libffi for the purpose of\@NLconvenience only, and libffi is in no way derived from this code.\@NLmsvcc.sh an testsuite/libffi.bhaible are both distributed under the\@NLterms of the GNU GPL version 2, as below.\@NL GNU GENERAL PUBLIC LICENSE\@NL Version 2, June 1991\@NL Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\@NL 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\@NL Everyone is permitted to copy and distribute verbatim copies\@NL of this license document, but changing it is not allowed.\@NL Preamble\@NL The licenses for most software are designed to take away your\@NLfreedom to share and change it. By contrast, the GNU General Public\@NLLicense is intended to guarantee your freedom to share and change free\@NLsoftware--to make sure the software is free for all its users. This\@NLGeneral Public License applies to most of the Free Software\@NLFoundation's software and to any other program whose authors commit to\@NLusing it. (Some other Free Software Foundation software is covered by\@NLthe GNU Lesser General Public License instead.) You can apply it to\@NLyour programs, too.\@NL When we speak of free software, we are referring to freedom, not\@NLprice. Our General Public Licenses are designed to make sure that you\@NLhave the freedom to distribute copies of free software (and charge for\@NLthis service if you wish), that you receive source code or can get it\@NLif you want it, that you can change the software or use pieces of it\@NLin new free programs; and that you know you can do these things.\@NL To protect your rights, we need to make restrictions that forbid\@NLanyone to deny you these rights or to ask you to surrender the rights.\@NLThese restrictions translate to certain responsibilities for you if you\@NLdistribute copies of the software, or if you modify it.\@NL For example, if you distribute copies of such a program, whether\@NLgratis or for a fee, you must give the recipients all the rights that\@NLyou have. You must make sure that they, too, receive or can get the\@NLsource code. And you must show them these terms so they know their\@NLrights.\@NL We protect your rights with two steps: (1) copyright the software, and\@NL(2) offer you this license which gives you legal permission to copy,\@NLdistribute and/or modify the software.\@NL Also, for each author's protection and ours, we want to make certain\@NLthat everyone understands that there is no warranty for this free\@NLsoftware. If the software is modified by someone else and passed on, we\@NLwant its recipients to know that what they have is not the original, so\@NLthat any problems introduced by others will not reflect on the original\@NLauthors' reputations.\@NL Finally, any free program is threatened constantly by software\@NLpatents. We wish to avoid the danger that redistributors of a free\@NLprogram will individually obtain patent licenses, in effect making the\@NLprogram proprietary. To prevent this, we have made it clear that any\@NLpatent must be licensed for everyone's free use or not licensed at all.\@NL The precise terms and conditions for copying, distribution and\@NLmodification follow.\@NL GNU GENERAL PUBLIC LICENSE\@NL TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\@NL 0. This License applies to any program or other work which contains\@NLa notice placed by the copyright holder saying it may be distributed\@NLunder the terms of this General Public License. The "Program", below,\@NLrefers to any such program or work, and a "work based on the Program"\@NLmeans either the Program or any derivative work under copyright law:\@NLthat is to say, a work containing the Program or a portion of it,\@NLeither verbatim or with modifications and/or translated into another\@NLlanguage. (Hereinafter, translation is included without limitation in\@NLthe term "modification".) Each licensee is addressed as "you".\@NLActivities other than copying, distribution and modification are not\@NLcovered by this License; they are outside its scope. The act of\@NLrunning the Program is not restricted, and the output from the Program\@NLis covered only if its contents constitute a work based on the\@NLProgram (independent of having been made by running the Program).\@NLWhether that is true depends on what the Program does.\@NL 1. You may copy and distribute verbatim copies of the Program's\@NLsource code as you receive it, in any medium, provided that you\@NLconspicuously and appropriately publish on each copy an appropriate\@NLcopyright notice and disclaimer of warranty; keep intact all the\@NLnotices that refer to this License and to the absence of any warranty;\@NLand give any other recipients of the Program a copy of this License\@NLalong with the Program.\@NLYou may charge a fee for the physical act of transferring a copy, and\@NLyou may at your option offer warranty protection in exchange for a fee.\@NL 2. You may modify your copy or copies of the Program or any portion\@NLof it, thus forming a work based on the Program, and copy and\@NLdistribute such modifications or work under the terms of Section 1\@NLabove, provided that you also meet all of these conditions:\@NL a) You must cause the modified files to carry prominent notices\@NL stating that you changed the files and the date of any change.\@NL b) You must cause any work that you distribute or publish, that in\@NL whole or in part contains or is derived from the Program or any\@NL part thereof, to be licensed as a whole at no charge to all third\@NL parties under the terms of this License.\@NL c) If the modified program normally reads commands interactively\@NL when run, you must cause it, when started running for such\@NL interactive use in the most ordinary way, to print or display an\@NL announcement including an appropriate copyright notice and a\@NL notice that there is no warranty (or else, saying that you provide\@NL a warranty) and that users may redistribute the program under\@NL these conditions, and telling the user how to view a copy of this\@NL License. (Exception: if the Program itself is interactive but\@NL does not normally print such an announcement, your work based on\@NL the Program is not required to print an announcement.)\@NLThese requirements apply to the modified work as a whole. If\@NLidentifiable sections of that work are not derived from the Program,\@NLand can be reasonably considered independent and separate works in\@NLthemselves, then this License, and its terms, do not apply to those\@NLsections when you distribute them as separate works. But when you\@NLdistribute the same sections as part of a whole which is a work based\@NLon the Program, the distribution of the whole must be on the terms of\@NLthis License, whose permissions for other licensees extend to the\@NLentire whole, and thus to each and every part regardless of who wrote it.\@NLThus, it is not the intent of this section to claim rights or contest\@NLyour rights to work written entirely by you; rather, the intent is to\@NLexercise the right to control the distribution of derivative or\@NLcollective works based on the Program.\@NLIn addition, mere aggregation of another work not based on the Program\@NLwith the Program (or with a work based on the Program) on a volume of\@NLa storage or distribution medium does not bring the other work under\@NLthe scope of this License.\@NL 3. You may copy and distribute the Program (or a work based on it,\@NLunder Section 2) in object code or executable form under the terms of\@NLSections 1 and 2 above provided that you also do one of the following:\@NL a) Accompany it with the complete corresponding machine-readable\@NL source code, which must be distributed under the terms of Sections\@NL 1 and 2 above on a medium customarily used for software interchange; or,\@NL b) Accompany it with a written offer, valid for at least three\@NL years, to give any third party, for a charge no more than your\@NL cost of physically performing source distribution, a complete\@NL machine-readable copy of the corresponding source code, to be\@NL distributed under the terms of Sections 1 and 2 above on a medium\@NL customarily used for software interchange; or,\@NL c) Accompany it with the information you received as to the offer\@NL to distribute corresponding source code. (This alternative is\@NL allowed only for noncommercial distribution and only if you\@NL received the program in object code or executable form with such\@NL an offer, in accord with Subsection b above.)\@NLThe source code for a work means the preferred form of the work for\@NLmaking modifications to it. For an executable work, complete source\@NLcode means all the source code for all modules it contains, plus any\@NLassociated interface definition files, plus the scripts used to\@NLcontrol compilation and installation of the executable. However, as a\@NLspecial exception, the source code distributed need not include\@NLanything that is normally distributed (in either source or binary\@NLform) with the major components (compiler, kernel, and so on) of the\@NLoperating system on which the executable runs, unless that component\@NLitself accompanies the executable.\@NLIf distribution of executable or object code is made by offering\@NLaccess to copy from a designated place, then offering equivalent\@NLaccess to copy the source code from the same place counts as\@NLdistribution of the source code, even though third parties are not\@NLcompelled to copy the source along with the object code.\@NL 4. You may not copy, modify, sublicense, or distribute the Program\@NLexcept as expressly provided under this License. Any attempt\@NLotherwise to copy, modify, sublicense or distribute the Program is\@NLvoid, and will automatically terminate your rights under this License.\@NLHowever, parties who have received copies, or rights, from you under\@NLthis License will not have their licenses terminated so long as such\@NLparties remain in full compliance.\@NL 5. You are not required to accept this License, since you have not\@NLsigned it. However, nothing else grants you permission to modify or\@NLdistribute the Program or its derivative works. These actions are\@NLprohibited by law if you do not accept this License. Therefore, by\@NLmodifying or distributing the Program (or any work based on the\@NLProgram), you indicate your acceptance of this License to do so, and\@NLall its terms and conditions for copying, distributing or modifying\@NLthe Program or works based on it.\@NL 6. Each time you redistribute the Program (or any work based on the\@NLProgram), the recipient automatically receives a license from the\@NLoriginal licensor to copy, distribute or modify the Program subject to\@NLthese terms and conditions. You may not impose any further\@NLrestrictions on the recipients' exercise of the rights granted herein.\@NLYou are not responsible for enforcing compliance by third parties to\@NLthis License.\@NL 7. If, as a consequence of a court judgment or allegation of patent\@NLinfringement or for any other reason (not limited to patent issues),\@NLconditions are imposed on you (whether by court order, agreement or\@NLotherwise) that contradict the conditions of this License, they do not\@NLexcuse you from the conditions of this License. If you cannot\@NLdistribute so as to satisfy simultaneously your obligations under this\@NLLicense and any other pertinent obligations, then as a consequence you\@NLmay not distribute the Program at all. For example, if a patent\@NLlicense would not permit royalty-free redistribution of the Program by\@NLall those who receive copies directly or indirectly through you, then\@NLthe only way you could satisfy both it and this License would be to\@NLrefrain entirely from distribution of the Program.\@NLIf any portion of this section is held invalid or unenforceable under\@NLany particular circumstance, the balance of the section is intended to\@NLapply and the section as a whole is intended to apply in other\@NLcircumstances.\@NLIt is not the purpose of this section to induce you to infringe any\@NLpatents or other property right claims or to contest validity of any\@NLsuch claims; this section has the sole purpose of protecting the\@NLintegrity of the free software distribution system, which is\@NLimplemented by public license practices. Many people have made\@NLgenerous contributions to the wide range of software distributed\@NLthrough that system in reliance on consistent application of that\@NLsystem; it is up to the author/donor to decide if he or she is willing\@NLto distribute software through any other system and a licensee cannot\@NLimpose that choice.\@NLThis section is intended to make thoroughly clear what is believed to\@NLbe a consequence of the rest of this License.\@NL 8. If the distribution and/or use of the Program is restricted in\@NLcertain countries either by patents or by copyrighted interfaces, the\@NLoriginal copyright holder who places the Program under this License\@NLmay add an explicit geographical distribution limitation excluding\@NLthose countries, so that distribution is permitted only in or among\@NLcountries not thus excluded. In such case, this License incorporates\@NLthe limitation as if written in the body of this License.\@NL 9. The Free Software Foundation may publish revised and/or new versions\@NLof the General Public License from time to time. Such new versions will\@NLbe similar in spirit to the present version, but may differ in detail to\@NLaddress new problems or concerns.\@NLEach version is given a distinguishing version number. If the Program\@NLspecifies a version number of this License which applies to it and "any\@NLlater version", you have the option of following the terms and conditions\@NLeither of that version or of any later version published by the Free\@NLSoftware Foundation. If the Program does not specify a version number of\@NLthis License, you may choose any version ever published by the Free Software\@NLFoundation.\@NL 10. If you wish to incorporate parts of the Program into other free\@NLprograms whose distribution conditions are different, write to the author\@NLto ask for permission. For software which is copyrighted by the Free\@NLSoftware Foundation, write to the Free Software Foundation; we sometimes\@NLmake exceptions for this. Our decision will be guided by the two goals\@NLof preserving the free status of all derivatives of our free software and\@NLof promoting the sharing and reuse of software generally.\@NL NO WARRANTY\@NL 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\@NLFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\@NLOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\@NLPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\@NLOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\@NLMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\@NLTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\@NLPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\@NLREPAIR OR CORRECTION.\@NL 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\@NLWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\@NLREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\@NLINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\@NLOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\@NLTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\@NLYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\@NLPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\@NLPOSSIBILITY OF SUCH DAMAGES.\@NL END OF TERMS AND CONDITIONS\@NL How to Apply These Terms to Your New Programs\@NL If you develop a new program, and you want it to be of the greatest\@NLpossible use to the public, the best way to achieve this is to make it\@NLfree software which everyone can redistribute and change under these terms.\@NL To do so, attach the following notices to the program. It is safest\@NLto attach them to the start of each source file to most effectively\@NLconvey the exclusion of warranty; and each file should have at least\@NLthe "copyright" line and a pointer to where the full notice is found.\@NL <one line to give the program's name and a brief idea of what it does.>\@NL Copyright (C) <year> <name of author>\@NL This program is free software; you can redistribute it and/or modify\@NL it under the terms of the GNU General Public License as published by\@NL the Free Software Foundation; either version 2 of the License, or\@NL (at your option) any later version.\@NL This program is distributed in the hope that it will be useful,\@NL but WITHOUT ANY WARRANTY; without even the implied warranty of\@NL MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\@NL GNU General Public License for more details.\@NL You should have received a copy of the GNU General Public License along\@NL with this program; if not, write to the Free Software Foundation, Inc.,\@NL 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\@NLAlso add information on how to contact you by electronic and paper mail.\@NLIf the program is interactive, make it output a short notice like this\@NLwhen it starts in an interactive mode:\@NL Gnomovision version 69, Copyright (C) year name of author\@NL Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\@NL This is free software, and you are welcome to redistribute it\@NL under certain conditions; type `show c' for details.\@NLThe hypothetical commands `show w' and `show c' should show the appropriate\@NLparts of the General Public License. Of course, the commands you use may\@NLbe called something other than `show w' and `show c'; they could even be\@NLmouse-clicks or menu items--whatever suits your program.\@NLYou should also get your employer (if you work as a programmer) or your\@NLschool, if any, to sign a "copyright disclaimer" for the program, if\@NLnecessary. Here is a sample; alter the names:\@NL Yoyodyne, Inc., hereby disclaims all copyright interest in the program\@NL `Gnomovision' (which makes passes at compilers) written by James Hacker.\@NL <signature of Ty Coon>, 1 April 1989\@NL Ty Coon, President of Vice\@NLThis General Public License does not permit incorporating your program into\@NLproprietary programs. If your program is a subroutine library, you may\@NLconsider it more useful to permit linking proprietary applications with the\@NLlibrary. If this is what you want to do, use the GNU Lesser General\@NLPublic License instead of this License.\@NLlibffi - Copyright (c) 1996-2014 Anthony Green, Red Hat, Inc and others.\@NLSee source files for details.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL``Software''), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NLCopyright (c) 2008-2012 Ruby-FFI contributors\@NLPermission is hereby granted, free of charge, to any person\@NLobtaining a copy of this software and associated documentation\@NLfiles (the "Software"), to deal in the Software without\@NLrestriction, including without limitation the rights to use,\@NLcopy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the\@NLSoftware is furnished to do so, subject to the following\@NLconditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\@NLOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\@NLHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\@NLWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\@NLFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\@NLOTHER DEALINGS IN THE SOFTWARE.\@NLCopyright (c) 2008-2013, Ruby FFI project contributors\@NLAll rights reserved.\@NLRedistribution and use in source and binary forms, with or without\@NLmodification, are permitted provided that the following conditions are met:\@NL * Redistributions of source code must retain the above copyright\@NL notice, this list of conditions and the following disclaimer.\@NL * Redistributions in binary form must reproduce the above copyright\@NL notice, this list of conditions and the following disclaimer in the\@NL documentation and/or other materials provided with the distribution.\@NL * Neither the name of the Ruby FFI project nor the\@NL names of its contributors may be used to endorse or promote products\@NL derived from this software without specific prior written permission.\@NLTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\@NLANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\@NLWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\@NLDISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\@NLDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\@NL(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\@NLLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\@NLON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\@NL(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\@NLSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\@NLlibffi, used by this project, is licensed under the MIT license:\@NLlibffi - Copyright (c) 1996-2011 Anthony Green, Red Hat, Inc and others.\@NLSee source files for details.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL``Software''), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/ffi-1.10.0
63flare1.0.0MIThttps://github.com/toddmotto/flareLICENSE\@NLThe MIT License\@NLCopyright (c) 2014 Todd Motto\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/flare
64fog-aws3.4.0MIThttps://github.com/fog/fog-awsThe MIT License (MIT)\@NLCopyright (c) 2014-2017 [CONTRIBUTORS.md](https://github.com/fog/fog-aws/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/fog-aws-3.4.0
65fog-core2.1.2MIThttps://github.com/fog/fog-coreThe MIT License (MIT)\@NLCopyright (c) 2014-2016 [CONTRIBUTORS.md](https://github.com/fog/fog/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/fog-core-2.1.2
66fog-json1.2.0MIThttp://github.com/fog/fog-jsonThe MIT License (MIT)\@NLCopyright (c) 2014 [CONTRIBUTORS.md](https://github.com/fog/fog/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/fog-json-1.2.0
67fog-xml0.1.3MIThttps://github.com/fog/fog-xmlThe MIT License (MIT)\@NLCopyright (c) 2014-2014 [CONTRIBUTORS.md](https://github.com/zertico/fog-xml/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/fog-xml-0.1.3
68font-awesome-sass5.8.1MIThttps://github.com/FortAwesome/font-awesome-sassCopyright (c) 2013 Travis Chase\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/font-awesome-sass-5.8.1
69formatador0.2.5MIThttp://github.com/geemus/formatadorThe MIT License (MIT)\@NLCopyright (c) 2009-2013 [CONTRIBUTORS.md](https://github.com/geemus/formatador/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL= formatador\@NLSTDOUT text formatting\@NL== Quick and dirty\@NLYou can call class methods to print out single lines like this:\@NL Formatador.display_line('Hello World')\@NLYou use tags, similar to html, to set formatting options:\@NL Formatador.display_line('[green]Hello World[/]')\@NL [/] resets everything to normal, colors are supported and [_color_] sets the background color.\@NL== Standard options\@NL* format - and adds color codes if STDOUT.tty? is true\@NL* display - calls format on the input and prints it\@NL* display_line - calls display, but adds on a newline (\n)\@NL* redisplay - Displays text, prepended with \r which will overwrite the last existing line\@NL== Extensions\@NL* display_table: takes an array of hashes. Each hash is a row, with the keys being the headers and values being the data. An optional second argument can specify which headers/columns to include and in what order they should appear.\@NL* display_compact_table: Same as display_table, execpt that split lines are not drawn by default in the body of the table. If you need a split line, put a :split constant in the body array.\@NL* redisplay_progressbar: takes the current and total values as its first two arguments and redisplays a progressbar (until current = total and then it display_lines). An optional third argument represents the start time and will add an elapsed time counter.\@NL=== Progress Bar examples\@NL total = 1000\@NL progress = ProgressBar.new(total)\@NL 1000.times do\@NL progress.increment\@NL end\@NL 978/1000 |************************************************* |\@NL # Change the color of the bar\@NL total = 1000\@NL progress = ProgressBar.new(total, :color => "light_blue")\@NL 1000.times do\@NL progress.increment\@NL end\@NL # Change the color of a completed progress bar\@NL total = 1000\@NL progress = ProgressBar.new(total) { |b| b.opts[:color] = "green" }\@NL 1000.times do\@NL progress.increment\@NL end\@NL=== Table examples\@NL table_data = [{:name => "Joe", :food => "Burger"}, {:name => "Bill", :food => "French fries"}]\@NL Formatador.display_table(table_data)\@NL +------+--------------+\@NL | name | food |\@NL +------+--------------+\@NL | Joe | Burger |\@NL +------+--------------+\@NL | Bill | French fries |\@NL +------+--------------+\@NL table_data = [\@NL {:name => "Joe", :meal => {:main_dish => "Burger", :drink => "water"}}, \@NL {:name => "Bill", :meal => {:main_dish => "Chicken", :drink => "soda"}}\@NL ]\@NL Formatador.display_table(table_data, [:name, :"meal.drink"])\@NL +------+------------+\@NL | name | meal.drink |\@NL +------+------------+\@NL | Joe | water |\@NL +------+------------+\@NL | Bill | soda |\@NL +------+------------+\@NL== Indentation\@NLBy initializing a formatador object you can keep track of indentation:\@NL formatador = Formatador.new\@NL formatador.display_line('one level of indentation')\@NL formatador.indent {\@NL formatador.display_line('two levels of indentation')\@NL }\@NL formatador.display_line('one level of indentation')\@NL== Copyright\@NL(The MIT License)\@NLCopyright (c) 2009 {geemus (Wesley Beary)}[http://github.com/geemus]\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/formatador-0.2.5
70foundation_emails2.2.1.0MIThttp://foundation.zurb.com/emailsCopyright (c) 2016 ZURB, inc.\@NLThe MIT License\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/foundation_emails-2.2.1.0
71gemoji3.0.0MIThttps://github.com/github/gemoji/Users/scott/.rvm/gems/ruby-2.4.6/gems/gemoji-3.0.0
72globalid0.4.2MIThttp://www.rubyonrails.orgCopyright (c) 2014-2016 David Heinemeier Hansson\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/globalid-0.4.2
73globalize5.0.1MIThttp://github.com/globalize/globalizeThe MIT License\@NLCopyright (c) 2008-2014 Sven Fuchs, Joshua Harvey, Clemens Kofler, John-Paul\@NLBader, Tomasz Stachewicz, Philip Arndt, Chris Salzberg\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/globalize-5.0.1
74globalize-accessors0.2.1MIThttp://rubygems.org/gems/globalize-accessorsCopyright (c) 2009, 2010, 2011, 2012, 2013 Tomek "Tomash" Stachewicz,\@NLRobert Pankowecki, Chris Salzberg\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/globalize-accessors-0.2.1
75globalize-versioning0.2.0MIThttp://github.com/globalize/globalize-versioningThe MIT License\@NLCopyright (c) 2013 Philip Arndt, Chris Salzberg\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/globalize-versioning-0.2.0
76grape1.2.1MIThttps://github.com/ruby-grape/grapeCopyright (c) 2010-2018 Michael Bleigh, Intridea Inc. and Contributors.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-1.2.1
77grape-entity0.7.1MIThttps://github.com/ruby-grape/grape-entityCopyright (c) 2010-2016 Michael Bleigh, Intridea, Inc., ruby-grape and Contributors.\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-entity-0.7.1
78grape-kaminari0.1.9MITThe MIT License (MIT)\@NLCopyright (c) 2013-2014 Monterail.com LLC\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-kaminari-0.1.9
79grape-swagger0.32.0MIThttps://github.com/ruby-grape/grape-swaggerCopyright (c) 2012-2016 Tim Vandecasteele, ruby-grape and Contributors\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-swagger-0.32.0
80grape-swagger-entity0.3.3MIThttps://github.com/ruby-grape/grape-swagger-entityThe MIT License (MIT)\@NLCopyright (c) 2016 Kirill Zaitsev\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-swagger-entity-0.3.3
81grape-swagger-rails0.3.1MIThttps://github.com/ruby-grape/grape-swagger-railsCopyright (c) 2013-2014 Aleksandr B. Ivanov & Contributors\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/grape-swagger-rails-0.3.1
82gravtastic3.2.6MIThttp://github.com/chrislloyd/gravtastic _____ _ _ _\@NL / ____| | | | | (_)\@NL | | __ _ __ __ ___ _| |_ __ _ ___| |_ _ ___\@NL | | |_ | '__/ _` \ \ / / __/ _` / __| __| |/ __|\@NL | |__| | | | (_| |\ V /| || (_| \__ \ |_| | (__\@NL \_____|_| \__,_| \_/ \__\__,_|___/\__|_|\___|\@NL<center><small>The super fantastic way of getting Gravatars. By [The Poacher](http://thelincolnshirepoacher.com).</small></center>\@NLIn less than a minute you can add Gravatars to your Ruby project. It works in Rails, Merb & Sinatra.\@NLThe best way to learn more about Gravtastic is to [look through the annotated source](http://chrislloyd.github.com/gravtastic). It's one file, about 80 LOC and really pretty simple. If that isn't for you, then follow the instructions below!\@NL## Install\@NL sudo gem install gravtastic\@NL## Usage\@NLFor this example I'm going to assume you are using Rails. Don't worry if you aren't, the concepts are still the same.\@NLFirst off, add this to your `Gemfile`:\@NL gem 'gravtastic'\@NLNext, in your model:\@NL class User < ActiveRecord::Base\@NL include Gravtastic\@NL gravtastic\@NL end\@NL<small>_Note: You can use either `is_gravtastic!`, `is_gravtastic` or `has_gravatar`, they all do the same thing._</small>\@NLAnd you are done! In your views you can now use the `#gravatar_url` method on instances of `User`:\@NL <%= image_tag @user.gravatar_url %>\@NLGravatar gives you some options. You can use them like this:\@NL <%= image_tag @user.gravatar_url(:rating => 'R', :secure => true) %>\@NLThat will show R rated Gravatars over a secure connection. If you find yourself using the same options over and over again, you can set the Gravatar defaults. In your model, just change the `is_gravtastic` line to something like this:\@NL gravtastic :secure => true,\@NL :filetype => :gif,\@NL :size => 120\@NLNow all your Gravatars will come from a secure connection, be a GIF and be 120x120px.\@NLGravatar needs an email address to find the person's avatar. By default, Gravtastic calls the `#email` method to find this. You can customise this.\@NL gravtastic :author_email\@NL### Defaults\@NLA common question is "how do I detect wether the user has an avatar or not?" People usually write code to perform a HTTP request to Gravatar to see wether the gravatar exists. This is certainly a solution, but not a very good one. If you have page where you show 50 users, the client will have to wait for 50 HTTP requests before they even get the page. Slooww.\@NLThe best way to do this is to set the `:default` option when using `#gravatr_url`. If the user doesn't have an avatar, Gravatar essentially redirects to the "default" url you provide.\@NL### Complete List of Options\@NL<table width="100%">\@NL <thead>\@NL <th>Option</th>\@NL <th>Description</th>\@NL <th>Default</th>\@NL <th>Values<th>\@NL </tr>\@NL <tr>\@NL <td><b>secure</b></td>\@NL <td>Gravatar transmitted with SSL</td>\@NL <td>true</td>\@NL <td>true/false</td>\@NL </tr>\@NL <tr>\@NL <td><b>size</b></td>\@NL <td>The size of the image</td>\@NL <td>80</td>\@NL <td>1..512</td>\@NL </tr>\@NL <tr>\@NL <td><b>default</b></td>\@NL <td>The default avatar image</td>\@NL <td><i>none</i></td>\@NL <td>"identicon", "monsterid", "wavatar" or an absolute URL.</td>\@NL </tr>\@NL <tr>\@NL <td><b>rating</b></td>\@NL <td>The highest level of ratings you want to allow</td>\@NL <td>G</td>\@NL <td>G, PG, R or X</td>\@NL </tr>\@NL <tr>\@NL <td><b>filetype</b></td>\@NL <td>The filetype of the image</td>\@NL <td>png</td>\@NL <td>gif, jpg or png</td>\@NL </tr>\@NL</table>\@NL### Other ORMs\@NLGravatar is really just simple Ruby. There is no special magic which ties it to one ORM (like ActiveRecord or MongoMapper). You can use the following pattern to include it anywhere:\@NL require 'gravtastic'\@NL class MyClass\@NL include Gravtastic\@NL is_gravtastic\@NL end\@NLFor instance, with the excellent [MongoMapper](http://github.com/jnunemaker/mongomapper) you can use do this:\@NL class Person\@NL include MongoMapper::Document\@NL include Gravtastic\@NL is_gravtastic\@NL key :email\@NL end\@NLAnd wallah! It's exactly the same as with ActiveRecord! Now all instances of the `Person` class will have `#gravatar_url` methods.\@NL_Note: the `#gravatar_url` methods don't get included until you specify the class `is_gravtastic!`_\@NL## Javascript\@NL_Note: this feature requires Rails 3.1 & CoffeeScript._\@NLWeb applications are increasingly performing client side rendering in Javascript. It's not always practical or clean to calculate the `gravatar_url` on the server. As of version 3.2, Gravtastic comes bundled with Javascript helpers.\@NLIf you are using Rails 3.1 you can simple require Gravtastic in your `Gemfile` and add\@NL //= require gravtastic\@NLin your `application.js` file. This will include a function, `Gravtastic` which performs similarly to `gravtastic_url`.\@NL > Gravtastic('christopher.lloyd@gmail.com')\@NL "https://secure.gravatar.com/avatar/08f077ea061585744ee080824f5a8e65.png?r=PG"\@NL > Gravtastic('christopher.lloyd@gmail.com', {default: 'identicon', size: 64})\@NL "https://secure.gravatar.com/avatar/08f077ea061585744ee080824f5a8e65.png?r=PG&d=identicon&s=64"\@NL## Making Changes Yourself\@NLGravtastic is a mature project. There isn't any active work which needs to be done on it, but I do continue to maintain it. Just don't expect same day fixes. If you find something that needs fixing, the best way to contribute is to fork the repo and submit a pull request.\@NL git clone git://github.com/chrislloyd/gravtastic.git\@NL## Thanks\@NL* [Xavier Shay](http://github.com/xaviershay) and others for [Enki](http://enkiblog.com) (the reason this was originally written)\@NL* [Matthew Moore](http://github.com/moorage)\@NL* [Galen O'Hanlon](http://github.com/gohanlon)\@NL* [Jason Cheow](http://jasoncheow.com)\@NL* [Paul Farnell](http://github.com/salted)\@NL* [Jeff Kreeftmeijer](http://github.com/jeffkreeftmeijer)\@NL* [Ryan Lewis](http://github.com/c00lryguy)\@NL* [Arthur Chiu](http://github.com/achiu)\@NL* [Paul Johnston](http://pajhome.org.uk/crypt/md5/) for his awesome MD5.js implementation.\@NL## License\@NLCopyright (c) 2008 Chris Lloyd.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL--\@NLmd5.js Copyright (c) 1998 - 2009, Paul Johnston & Contributors\@NLAll rights reserved.\@NLRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\@NLRedistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\@NLNeither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\@NLTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE./Users/scott/.rvm/gems/ruby-2.4.6/gems/gravtastic-3.2.6
83griddler1.5.2MIThttp://thoughtbot.comCopyright (c) 2014 Caleb Thompson, Joel Oliveira and thoughtbot, inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-1.5.2
84griddler-mailgun1.0.3MIThttps://github.com/bradpauly/griddler-mailgunCopyright (c) 2014 Brad Pauly\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-mailgun-1.0.3
85griddler-mandrill1.1.4MIThttps://github.com/wingrunr21/griddler-mandrillCopyright (c) 2014 Stafford Brunk\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-mandrill-1.1.4
86griddler-postmark1.0.0MIThttps://github.com/r38y/griddler-postmarkCopyright (c) 2014 Randy Schmidt\@NLPortions copyright (c) 2014 Caleb Thompson, Joel Oliveira and thoughtbot, inc.\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-postmark-1.0.0
87griddler-sendgrid1.1.0MIThttps://github.com/thoughtbot/griddlerCopyright (c) 2014 Caleb Thompson\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-sendgrid-1.1.0
88griddler-sparkpost0.0.3MIThttps://github.com/PrestoDoctor/griddler-sparkpostCopyright (c) 2016 Kyle Powers\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/griddler-sparkpost-0.0.3
89groupdate4.1.0MIThttps://github.com/ankane/groupdateCopyright (c) 2013-2018 Andrew Kane\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/groupdate-4.1.0
90hashid-rails1.2.2MIThttps://github.com/jcypret/hashid-railsThe MIT License (MIT)\@NLCopyright (c) 2015 Justin Cypret\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/hashid-rails-1.2.2
91hashids1.0.5MIThttps://github.com/peterhellberg/hashids.rbCopyright (c) 2013-2017 Peter Hellberg\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/hashids-1.0.5
92hashie3.6.0MIThttps://github.com/intridea/hashieCopyright (c) 2009 Intridea, Inc., and Contributors\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/hashie-3.6.0
93helpy_imap1.0MIT.https://helpy.ioThe MIT License (MIT)\@NLCopyright (c) 2018 Jan Renz, Scott Miller, and Contributors.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/bundler/gems/helpy_imap-85f944a0d793
94helpy_onboarding2.0MIT.http://helpy.ioThe MIT License (MIT)\@NLCopyright (c) 2017 Helpy.io, LLC, Scott Miller, and Contributors.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/bundler/gems/helpy_onboarding-cc742c8e4847
95hitimes1.3.0ISChttp://github.com/copiousfreetime/hitimesISC LICENSE - http://opensource.org/licenses/isc-license.txt\@NLCopyright (c) 2008-2015 Jeremy Hinegardner\@NLPermission to use, copy, modify, and/or distribute this software for any\@NLpurpose with or without fee is hereby granted, provided that the above\@NLcopyright notice and this permission notice appear in all copies.\@NLTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\@NLWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\@NLMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\@NLANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\@NLWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\@NLACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\@NLOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\@NL# Hitimes\@NL[![Build Status](https://travis-ci.org/copiousfreetime/hitimes.svg?branch=master)](https://travis-ci.org/copiousfreetime/hitimes)\@NLA fast, high resolution timer library for recording peformance metrics.\@NL* [Homepage](http://github.com/copiousfreetime/hitimes)\@NL* [Github project](http://github.com.org/copiousfreetime/hitimes)\@NL* email jeremy at copiousfreetime dot org\@NL* `git clone url git://github.com/copiousfreetime/hitimes.git`\@NL## Table of Contents\@NL* [Requirements](#requirements)\@NL* [Usage](#usage)\@NL* [Contributing](#contributing)\@NL* [Support](#support)\@NL* [License](#license)\@NL## Requirements\@NLHitimes requires the following to run:\@NL * Ruby\@NL## Usage\@NLHitimes easiest to use when installed with `rubygems`:\@NL```sh\@NLgem install hitimes\@NL```\@NLOr as part of your bundler `Gemfile`:\@NL```ruby\@NLgem 'hitimes'\@NL```\@NLYou can load it with the standard ruby require statement.\@NL```ruby\@NLrequire 'hitimes'\@NL```\@NL### Interval\@NLUse `Hitimes::Interval` to calculate only the duration of a block of code.\@NLReturns the time as seconds.\@NL```ruby\@NLduration = Hitimes::Interval.measure do\@NL 1_000_000.times do |x|\@NL 2 + 2\@NL end\@NL end\@NLputs duration # => 0.047414297 (seconds)\@NL```\@NL### TimedMetric\@NLUse a `Hitimes::TimedMetric` to calculate statistics about an iterative operation\@NL```ruby\@NLtimed_metric = Hitimes::TimedMetric.new('operation on items')\@NL```\@NLExplicitly use `start` and `stop`:\@NL```ruby\@NLcollection.each do |item|\@NL timed_metric.start\@NL # .. do something with item\@NL timed_metric.stop\@NLend\@NL```\@NLOr use the block. In `TimedMetric` the return value of `measure` is the return\@NLvalue of the block.\@NL```ruby\@NLcollection.each do |item|\@NL result_of_do_something = timed_metric.measure { do_something( item ) }\@NLend\@NL```\@NLAnd then look at the stats\@NL```ruby\@NLputs timed_metric.mean\@NLputs timed_metric.max\@NLputs timed_metric.min\@NLputs timed_metric.stddev\@NLputs timed_metric.rate\@NL```\@NL### ValueMetric\@NLUse a `Hitimes::ValueMetric` to calculate statistics about measured samples.\@NL``` ruby\@NLvalue_metric = Hitimes::ValueMetric.new( 'size of thing' )\@NLloop do\@NL # ... do stuff changing sizes of 'thing'\@NL value_metric.measure( thing.size )\@NL # ... do other stuff that may change size of thing\@NLend\@NLputs value_metric.mean\@NLputs value_metric.max\@NLputs value_metric.min\@NLputs value_metric.stddev\@NLputs value_metric.rate\@NL```\@NL### TimedValueMetric\@NLUse a `Hitimes::TimedValueMetric` to calculate statistics about batches of samples.\@NL``` ruby\@NLtimed_value_metric = Hitimes::TimedValueMetric.new( 'batch times' )\@NLloop do \@NL batch = ... # get a batch of things\@NL timed_value_metric.start\@NL # .. do something with batch\@NL timed_value_metric.stop( batch.size )\@NLend\@NLputs timed_value_metric.rate\@NLputs timed_value_metric.timed_stats.mean\@NLputs timed_value_metric.timed_stats.max\@NLputs timed_value_metric.timed_stats.min\@NLputs timed_value_metric.timed_stats.stddev\@NLputs timed_value_metric.value_stats.mean\@NLputs timed_value_metric.value_stats.max\@NLputs timed_value_metric.value_stats.min\@NLputs timed_value_metric.value_stats.stddev\@NL```\@NL### Implementation details\@NLHitimes use the appropriate low-level system call for each operating system to\@NLget the highest granularity time increment possible. Generally this is\@NLnanosecond resolution, or whatever the hardware chip in the CPU supports.\@NLIt currently supports any of the following systems:\@NL* any system with the POSIX call `clock_gettime()`\@NL* Mac OS X\@NL* Windows\@NL* JRuby\@NL## Support\@NLHitimes is supported on whatever versions of ruby are currently supported.\@NLHitimes also follows [semantic versioning](http://semver.org/).\@NLThe current officially supported versions of Ruby are:\@NL* MRI Ruby (all platforms) 2.2 - 2.4\@NL* JRuby 1.7.25, 9.0.5.0\@NLUnofficially supported versions, these have been supported in the past when they\@NLwere the primary rubies around. In all likelihood they still work, but are not\@NLsupported.\@NL* MRI Ruby (linux/mac/bsd/unix/etc) - everything from 1.8.7 to 2.1\@NL* MRI Ruby (windows) - 2.0 and up\@NL * Ruby 1.8 and 1.9 for windows are supported in hitimes version 1.2.4 or earlier\@NL* JRuby - I think everything back to 1.4\@NL* Rubinius\@NL## Contributing\@NLPlease read the [CONTRIBUTING.md](CONTRIBUTING.md)\@NL## Credits\@NL* [Bruce Williams](https://github.com/bruce) for suggesting the idea\@NL## License\@NLHitimes is licensed under the [ISC](https://opensource.org/licenses/ISC)\@NLlicense.\@NLCopyright (c) 2008-2016 Jeremy Hinegardner\@NLPermission to use, copy, modify, and/or distribute this software for any\@NLpurpose with or without fee is hereby granted, provided that the above\@NLcopyright notice and this permission notice appear in all copies.\@NLTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\@NLREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\@NLFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\@NLINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\@NLLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\@NLOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\@NLPERFORMANCE OF THIS SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/hitimes-1.3.0
96hopscotch0.2.7Apache 2.0https://github.com/linkedin/hopscotch\@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL 1. Definitions.\@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL END OF TERMS AND CONDITIONS\@NL\@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL 1. Definitions.\@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL END OF TERMS AND CONDITIONS/Users/scott/Workspace/Helpy/helpy/vendor/assets/components/hopscotch
97htmlentities4.3.4MIThttps://github.com/threedaymonk/htmlentities== Licence (MIT)\@NLCopyright (c) 2005-2013 Paul Battley\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/htmlentities-4.3.4
98http-cookie1.0.3MIThttps://github.com/sparklemotion/http-cookieCopyright (c) 2013 Akinori MUSHA\@NLCopyright (c) 2011-2012 Akinori MUSHA, Eric Hodel\@NLCopyright (c) 2006-2011 Aaron Patterson, Mike Dalessio\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/http-cookie-1.0.3
99http_accept_language2.1.1MIThttps://github.com/iain/http_accept_language/Users/scott/.rvm/gems/ruby-2.4.6/gems/http_accept_language-2.1.1
100i18n0.9.5MIThttp://github.com/svenfuchs/i18nCopyright (c) 2008 The Ruby I18n team\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/i18n-0.9.5
101i18n-country-translations1.3.0MIT,GPL-3.0https://github.com/onomojo/i18n-country-translationsCopyright 2012 YOURNAME\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/i18n-country-translations-1.3.0
102ice_nine0.11.2MIThttps://github.com/dkubb/ice_nineCopyright (c) 2012-2014 Dan Kubb\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/ice_nine-0.11.2
103initial.js0.1.0MIThttps://github.com/judesfernando/initial.jsThe MIT License (MIT)\@NLCopyright (c) 2014 Jude Fernando\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/initial.js
104inky-rb1.3.7.5MIThttps://github.com/zurb/inky-rbCopyright (c) 2013-2018 ZURB, inc.\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/inky-rb-1.3.7.5
105ipaddress0.8.3MIThttps://github.com/bluemonk/ipaddressCopyright (c) 2009-2015 Marco Ceresa\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/ipaddress-0.8.3
106jbuilder2.8.0MIThttps://github.com/rails/jbuilderCopyright (c) 2011-2018 David Heinemeier Hansson, 37signals\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jbuilder-2.8.0
107jquery-fileupload-rails1.0.0MIThttps://github.com/tors/jquery-fileupload-rails# jQuery File Upload for Rails\@NL[jQuery-File-Plugin](https://github.com/blueimp/jQuery-File-Upload) is a file upload plugin written by [Sebastian Tschan](https://github.com/blueimp). jQuery File Upload features multiple file selection, drag&drop support, progress bars and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing.\@NLjquery-fileupload-rails is a library that integrates jQuery File Upload for Rails 3.1 Asset Pipeline (Rails 3.2 supported).\@NL## Plugin versions\@NL* jQuery File Upload Plugin v9.12.5\@NL## Installing Gem\@NL gem "jquery-fileupload-rails"\@NL## Using the javascripts\@NLRequire jquery-fileupload in your app/assets/application.js file.\@NL //= require jquery-fileupload\@NLThe snippet above will add the following js files to the manifest file.\@NL //= require jquery-fileupload/vendor/jquery.ui.widget\@NL //= require jquery-fileupload/vendor/tmpl\@NL //= require jquery-fileupload/vendor/load-image.all.min\@NL //= require jquery-fileupload/vendor/canvas-to-blob\@NL //= require jquery-fileupload/jquery.iframe-transport\@NL //= require jquery-fileupload/jquery.fileupload\@NL //= require jquery-fileupload/jquery.fileupload-process\@NL //= require jquery-fileupload/jquery.fileupload-image\@NL //= require jquery-fileupload/jquery.fileupload-audio\@NL //= require jquery-fileupload/jquery.fileupload-video\@NL //= require jquery-fileupload/jquery.fileupload-validate\@NL //= require jquery-fileupload/jquery.fileupload-ui\@NL //= require jquery-fileupload/locale\@NL //= require jquery-fileupload/jquery.fileupload-angular\@NL //= require jquery-fileupload/jquery.fileupload-jquery-ui\@NL //= require jquery-fileupload/cors/jquery.postmessage-transport\@NL //= require jquery-fileupload/cors/jquery.xdr-transport\@NLIf you only need the basic files, just add the code below to your application.js file. [Basic setup guide](https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin)\@NL //= require jquery-fileupload/basic\@NLThe basic setup only includes the following files:\@NL //= require jquery-fileupload/vendor/jquery.ui.widget\@NL //= require jquery-fileupload/jquery.iframe-transport\@NL //= require jquery-fileupload/jquery.fileupload\@NLYou can also require the following to get the js from the Basic-Plus, AngularJS and jQuery UI Examples:\@NL //= require jquery-fileupload/basic-plus\@NL //= require jquery-fileupload/angularjs\@NL //= require jquery-fileupload/jquery-ui\@NL## Using the stylesheet\@NLRequire the stylesheet file to app/assets/stylesheets/application.css\@NL *= require jquery.fileupload\@NL *= require jquery.fileupload-ui\@NLThere are also noscript styles for Browsers with Javascript disabled, to use them create a noscript.css and add it to your precompile-list and layout inside a noscript tag:\@NL *= require jquery.fileupload-noscript\@NL *= require jquery.fileupload-ui-noscript\@NL## Using the middleware\@NLThe `jquery.iframe-transport` fallback transport has some special caveats regarding the response data type, http status, and character encodings. `jquery-fileupload-rails` includes a middleware that handles these inconsistencies seamlessly. If you decide to use it, create an initializer that adds the middleware to your application's middleware stack.\@NL```ruby\@NLRails.application.config.middleware.use JQuery::FileUpload::Rails::Middleware\@NL```\@NL## Example apps\@NL[jquery-fileupload-rails-paperclip-example](https://github.com/tors/jquery-fileupload-rails-paperclip-example): jQuery File Upload in Rails 3.2 with Paperclip and Bootstrap\@NL[rails-resumable-jquery-fileupload](https://github.com/vgantchev/rails-resumable-jquery-fileupload): resumable (chunked) uploads with jQuery File Upload in Rails 4.2 using Paperclip\@NLYou can also check out Ryan Bate's RailsCast [jQuery File Upload episode](http://railscasts.com/episodes/381-jquery-file-upload). \@NL## Thanks\@NLThanks to [Sebastian Tschan](https://github.com/blueimp) for writing an awesome file upload plugin.\@NL## License\@NLCopyright (c) 2012 Tors Dalid\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jquery-fileupload-rails-1.0.0
108jquery-minicolors-rails2.2.6.1MIThttps://github.com/kostia/jquery-minicolors-rails# jQuery colorpicker for Rails\@NL[![Gem Version](https://badge.fury.io/rb/jquery-minicolors-rails.png)](http://badge.fury.io/rb/jquery-minicolors-rails)\@NL[![Build Status](https://travis-ci.org/kostia/jquery-minicolors-rails.png)](https://travis-ci.org/kostia/jquery-minicolors-rails)\@NL[![Code Climate](https://codeclimate.com/github/kostia/jquery-minicolors-rails.png)](https://codeclimate.com/github/kostia/jquery-minicolors-rails)\@NLThis gem embeddes the jQuery colorpicker in the Rails asset pipeline.\@NL![Screenshot](https://raw.github.com/kostia/jquery-minicolors-rails/master/screenshot.png)\@NLSee http://labs.abeautifulsite.net/jquery-minicolors/\@NL## Installation\@NLAdd to `Gemfile` and run `bundle install`:\@NL```ruby\@NL# Gemfile\@NLgem 'jquery-minicolors-rails'\@NL```\@NLAdd to `app/assets/javascripts/application.js`:\@NL```javascript\@NL//= require jquery # Not included\@NL//= require jquery.minicolors\@NL```\@NLAdd to `app/assets/stylesheets/application.css`:\@NL```css\@NL/*\@NL *= require jquery.minicolors\@NL */\@NL```\@NL## Usage\@NLJust call `minicolors()` with any text-input selector:\@NL```coffeescript\@NL# With default options:\@NL$ -> $('input[type=text]').minicolors()\@NL# With Bootstrap theme (Bootstrap-3 is supported):\@NL$ -> $('input[type=text]').minicolors theme: 'bootstrap'\@NL```\@NL### SimpleForm\@NLAdd to `app/assets/javascripts/application.js`:\@NL```javascript\@NL//= require jquery # Not included\@NL//= require jquery.minicolors\@NL//= require jquery.minicolors.simple_form\@NL```\@NLSee https://github.com/plataformatec/simple_form\@NL```erb\@NL<%# app/views/balloons/_form.html.erb %>\@NL<%# Basic usage: %>\@NL<%= simple_form_for @balloon do |f| %>\@NL <%= f.input :color, as: :minicolors %>\@NL<% end %>\@NL<%# With Bootstrap theme and swatch on the right: %>\@NL<%= simple_form_for @balloon do |f| %>\@NL <%= f.input :color, as: :minicolors, input_html: {data: {\@NL minicolors: {theme: :bootstrap, position: :right}}} %>\@NL<% end %>\@NL```\@NL## Testing\@NL```bash\@NLbundle exec rspec\@NL```\@NLSince this gem uses a lot of different frameworks, anything is possible. So despite the specs are\@NL"green", please verify manually:\@NL```bash\@NLcd test_app\@NLbundle\@NLrails s\@NLopen http://localhost:3000/ # Assert everything looks & works good.\@NL```\@NL```bash\@NLrm -rf tmp/cache\@NLrm -rf public/assets\@NLRAILS_ENV=production bundle exec rake assets:precompile\@NLrails s -eproduction\@NLopen http://localhost:3000/ # Assert everything looks & works good.\@NL```\@NL## Versioning\@NL[![Gem Version](https://badge.fury.io/rb/jquery-minicolors-rails.png)](http://badge.fury.io/rb/jquery-minicolors-rails)\@NLGem has the same version as the vendored minicolors library (http://git.io/ZWaGNg)\@NL__plus__ an extra minor version number.\@NL## MIT-License\@NLCopyright 2012 Kostiantyn Kahanskyi\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jquery-minicolors-rails-2.2.6.1
109jquery-rails4.3.3MIThttps://github.com/rails/jquery-railsThe MIT License\@NLCopyright (c) 2010-2016 Andre Arko\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jquery-rails-4.3.3
110jquery-turbolinks2.1.0MIThttps://github.com/kossnocorp/jquery.turbolinksThe MIT License\@NLCopyright (c) 2012 Sasha Koss\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jquery-turbolinks-2.1.0
111jquery-ui-rails6.0.1MIThttps://github.com/joliss/jquery-ui-rails/Users/scott/.rvm/gems/ruby-2.4.6/gems/jquery-ui-rails-6.0.1
112js-cookie2.1.0MIThttps://github.com/js-cookie/js-cookieCopyright 2014 Klaus Hartl\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/js-cookie
113js_regex1.2.3MIThttps://github.com/janosch-x/js_regex/Users/scott/.rvm/gems/ruby-2.4.6/gems/js_regex-1.2.3
114json2.2.0rubyhttp://flori.github.com/json/Users/scott/.rvm/gems/ruby-2.4.6/gems/json-2.2.0
115jwt2.1.0MIThttp://github.com/jwt/ruby-jwtCopyright (c) 2011 Jeff Lindsay\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# JWT\@NL[![Gem Version](https://badge.fury.io/rb/jwt.svg)](https://badge.fury.io/rb/jwt)\@NL[![Build Status](https://travis-ci.org/jwt/ruby-jwt.svg)](https://travis-ci.org/jwt/ruby-jwt)\@NL[![Code Climate](https://codeclimate.com/github/jwt/ruby-jwt/badges/gpa.svg)](https://codeclimate.com/github/jwt/ruby-jwt)\@NL[![Test Coverage](https://codeclimate.com/github/jwt/ruby-jwt/badges/coverage.svg)](https://codeclimate.com/github/jwt/ruby-jwt/coverage)\@NL[![Issue Count](https://codeclimate.com/github/jwt/ruby-jwt/badges/issue_count.svg)](https://codeclimate.com/github/jwt/ruby-jwt)\@NLA pure ruby implementation of the [RFC 7519 OAuth JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519) standard.\@NLIf you have further questions related to development or usage, join us: [ruby-jwt google group](https://groups.google.com/forum/#!forum/ruby-jwt).\@NL## Announcements\@NL* Ruby 1.9.3 support was dropped at December 31st, 2016.\@NL* Version 1.5.3 yanked. See: [#132](https://github.com/jwt/ruby-jwt/issues/132) and [#133](https://github.com/jwt/ruby-jwt/issues/133)\@NL## Installing\@NL### Using Rubygems:\@NL```bash\@NLsudo gem install jwt\@NL```\@NL### Using Bundler:\@NLAdd the following to your Gemfile\@NL```\@NLgem 'jwt'\@NL```\@NLAnd run `bundle install`\@NL## Algorithms and Usage\@NLThe JWT spec supports NONE, HMAC, RSASSA, ECDSA and RSASSA-PSS algorithms for cryptographic signing. Currently the jwt gem supports NONE, HMAC, RSASSA and ECDSA. If you are using cryptographic signing, you need to specify the algorithm in the options hash whenever you call JWT.decode to ensure that an attacker [cannot bypass the algorithm verification step](https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/).\@NLSee: [ JSON Web Algorithms (JWA) 3.1. "alg" (Algorithm) Header Parameter Values for JWS](https://tools.ietf.org/html/rfc7518#section-3.1)\@NL**NONE**\@NL* none - unsigned token\@NL```ruby\@NLrequire 'jwt'\@NLpayload = {:data => 'test'}\@NL# IMPORTANT: set nil as password parameter\@NLtoken = JWT.encode payload, nil, 'none'\@NL# eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJkYXRhIjoidGVzdCJ9.\@NLputs token\@NL# Set password to nil and validation to false otherwise this won't work\@NLdecoded_token = JWT.decode token, nil, false\@NL# Array\@NL# [\@NL# {"data"=>"test"}, # payload\@NL# {"alg"=>"none"} # header\@NL# ]\@NLputs decoded_token\@NL```\@NL**HMAC**\@NL* HS256 - HMAC using SHA-256 hash algorithm\@NL* HS512256 - HMAC using SHA-512-256 hash algorithm (only available with RbNaCl; see note below)\@NL* HS384 - HMAC using SHA-384 hash algorithm\@NL* HS512 - HMAC using SHA-512 hash algorithm\@NL```ruby\@NLhmac_secret = 'my$ecretK3y'\@NLtoken = JWT.encode payload, hmac_secret, 'HS256'\@NL# eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoidGVzdCJ9.ZxW8go9hz3ETCSfxFxpwSkYg_602gOPKearsf6DsxgY\@NLputs token\@NLdecoded_token = JWT.decode token, hmac_secret, true, { :algorithm => 'HS256' }\@NL# Array\@NL# [\@NL# {"data"=>"test"}, # payload\@NL# {"alg"=>"HS256"} # header\@NL# ]\@NLputs decoded_token\@NL```\@NLNote: If [RbNaCl](https://github.com/cryptosphere/rbnacl) is loadable, ruby-jwt will use it for HMAC-SHA256, HMAC-SHA512-256, and HMAC-SHA512. RbNaCl enforces a maximum key size of 32 bytes for these algorithms.\@NL[RbNaCl](https://github.com/cryptosphere/rbnacl) requires\@NL[libsodium](https://github.com/jedisct1/libsodium), it can be installed\@NLon MacOS with `brew install libsodium`.\@NL**RSA**\@NL* RS256 - RSA using SHA-256 hash algorithm\@NL* RS384 - RSA using SHA-384 hash algorithm\@NL* RS512 - RSA using SHA-512 hash algorithm\@NL```ruby\@NLrsa_private = OpenSSL::PKey::RSA.generate 2048\@NLrsa_public = rsa_private.public_key\@NLtoken = JWT.encode payload, rsa_private, 'RS256'\@NL# eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ0ZXN0IjoiZGF0YSJ9.c2FynXNyi6_PeKxrDGxfS3OLwQ8lTDbWBWdq7oMviCy2ZfFpzvW2E_odCWJrbLof-eplHCsKzW7MGAntHMALXgclm_Cs9i2Exi6BZHzpr9suYkrhIjwqV1tCgMBCQpdeMwIq6SyKVjgH3L51ivIt0-GDDPDH1Rcut3jRQzp3Q35bg3tcI2iVg7t3Msvl9QrxXAdYNFiS5KXH22aJZ8X_O2HgqVYBXfSB1ygTYUmKTIIyLbntPQ7R22rFko1knGWOgQCoYXwbtpuKRZVFrxX958L2gUWgb4jEQNf3fhOtkBm1mJpj-7BGst00o8g_3P2zHy-3aKgpPo1XlKQGjRrrxA\@NLputs token\@NLdecoded_token = JWT.decode token, rsa_public, true, { :algorithm => 'RS256' }\@NL# Array\@NL# [\@NL# {"data"=>"test"}, # payload\@NL# {"alg"=>"RS256"} # header\@NL# ]\@NLputs decoded_token\@NL```\@NL**ECDSA**\@NL* ES256 - ECDSA using P-256 and SHA-256\@NL* ES384 - ECDSA using P-384 and SHA-384\@NL* ES512 - ECDSA using P-521 and SHA-512\@NL```ruby\@NLecdsa_key = OpenSSL::PKey::EC.new 'prime256v1'\@NLecdsa_key.generate_key\@NLecdsa_public = OpenSSL::PKey::EC.new ecdsa_key\@NLecdsa_public.private_key = nil\@NLtoken = JWT.encode payload, ecdsa_key, 'ES256'\@NL# eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJ0ZXN0IjoiZGF0YSJ9.MEQCIAtShrxRwP1L9SapqaT4f7hajDJH4t_rfm-YlZcNDsBNAiB64M4-JRfyS8nRMlywtQ9lHbvvec9U54KznzOe1YxTyA\@NLputs token\@NLdecoded_token = JWT.decode token, ecdsa_public, true, { :algorithm => 'ES256' }\@NL# Array\@NL# [\@NL# {"test"=>"data"}, # payload\@NL# {"alg"=>"ES256"} # header\@NL# ]\@NLputs decoded_token\@NL```\@NL**EDDSA**\@NLIn order to use this algorithm you need to add the `RbNaCl` gem to you `Gemfile`.\@NL```ruby\@NLgem 'rbnacl'\@NL```\@NLFor more detailed installation instruction check the official [repository](https://github.com/cryptosphere/rbnacl) on GitHub.\@NL* ED25519 \@NL```ruby \@NLprivate_key = RbNaCl::Signatures::Ed25519::SigningKey.new("abcdefghijklmnopqrstuvwxyzABCDEF")\@NLpublic_key = private_key.verify_key\@NLtoken = JWT.encode payload, private_key, 'ED25519' \@NL# eyJhbGciOiJFRDI1NTE5In0.eyJ0ZXN0IjoiZGF0YSJ9.-Ki0vxVOlsPXovPsYRT_9OXrLSgQd4RDAgCLY_PLmcP4q32RYy-yUUmX82ycegdekR9wo26me1wOzjmSU5nTCQ\@NLputs token\@NLdecoded_token = JWT.decode token, public_key, true, {:algorithm => 'ED25519' } \@NL# Array\@NL# [\@NL# {"test"=>"data"}, # payload\@NL# {"alg"=>"ED25519"} # header\@NL# ]\@NL```\@NL**RSASSA-PSS**\@NLNot implemented.\@NL## Support for reserved claim names\@NLJSON Web Token defines some reserved claim names and defines how they should be\@NLused. JWT supports these reserved claim names:\@NL - 'exp' (Expiration Time) Claim\@NL - 'nbf' (Not Before Time) Claim\@NL - 'iss' (Issuer) Claim\@NL - 'aud' (Audience) Claim\@NL - 'jti' (JWT ID) Claim\@NL - 'iat' (Issued At) Claim\@NL - 'sub' (Subject) Claim\@NL## Add custom header fields\@NLRuby-jwt gem supports custom [header fields] (https://tools.ietf.org/html/rfc7519#section-5)\@NLTo add custom header fields you need to pass `header_fields` parameter\@NL```ruby\@NLtoken = JWT.encode payload, key, algorithm='HS256', header_fields={}\@NL```\@NL**Example:**\@NL```ruby\@NLrequire 'jwt'\@NLpayload = {:data => 'test'}\@NL# IMPORTANT: set nil as password parameter\@NLtoken = JWT.encode payload, nil, 'none', { :typ => "JWT" }\@NL# eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJkYXRhIjoidGVzdCJ9.\@NLputs token\@NL# Set password to nil and validation to false otherwise this won't work\@NLdecoded_token = JWT.decode token, nil, false\@NL# Array\@NL# [\@NL# {"data"=>"test"}, # payload\@NL# {"typ"=>"JWT", "alg"=>"none"} # header\@NL# ]\@NLputs decoded_token\@NL```\@NL### Expiration Time Claim\@NLFrom [Oauth JSON Web Token 4.1.4. "exp" (Expiration Time) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.4):\@NL> The `exp` (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. The processing of the `exp` claim requires that the current date/time MUST be before the expiration date/time listed in the `exp` claim. Implementers MAY provide for some small `leeway`, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing a ***NumericDate*** value. Use of this claim is OPTIONAL.\@NL**Handle Expiration Claim**\@NL```ruby\@NLexp = Time.now.to_i + 4 * 3600\@NLexp_payload = { :data => 'data', :exp => exp }\@NLtoken = JWT.encode exp_payload, hmac_secret, 'HS256'\@NLbegin\@NL decoded_token = JWT.decode token, hmac_secret, true, { :algorithm => 'HS256' }\@NLrescue JWT::ExpiredSignature\@NL # Handle expired token, e.g. logout user or deny access\@NLend\@NL```\@NL**Adding Leeway**\@NL```ruby\@NLexp = Time.now.to_i - 10\@NLleeway = 30 # seconds\@NLexp_payload = { :data => 'data', :exp => exp }\@NL# build expired token\@NLtoken = JWT.encode exp_payload, hmac_secret, 'HS256'\@NLbegin\@NL # add leeway to ensure the token is still accepted\@NL decoded_token = JWT.decode token, hmac_secret, true, { :exp_leeway => leeway, :algorithm => 'HS256' }\@NLrescue JWT::ExpiredSignature\@NL # Handle expired token, e.g. logout user or deny access\@NLend\@NL```\@NL### Not Before Time Claim\@NLFrom [Oauth JSON Web Token 4.1.5. "nbf" (Not Before) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.5):\@NL> The `nbf` (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing. The processing of the `nbf` claim requires that the current date/time MUST be after or equal to the not-before date/time listed in the `nbf` claim. Implementers MAY provide for some small `leeway`, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing a ***NumericDate*** value. Use of this claim is OPTIONAL.\@NL**Handle Not Before Claim**\@NL```ruby\@NLnbf = Time.now.to_i - 3600\@NLnbf_payload = { :data => 'data', :nbf => nbf }\@NLtoken = JWT.encode nbf_payload, hmac_secret, 'HS256'\@NLbegin\@NL decoded_token = JWT.decode token, hmac_secret, true, { :algorithm => 'HS256' }\@NLrescue JWT::ImmatureSignature\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL**Adding Leeway**\@NL```ruby\@NLnbf = Time.now.to_i + 10\@NLleeway = 30\@NLnbf_payload = { :data => 'data', :nbf => nbf }\@NL# build expired token\@NLtoken = JWT.encode nbf_payload, hmac_secret, 'HS256'\@NLbegin\@NL # add leeway to ensure the token is valid\@NL decoded_token = JWT.decode token, hmac_secret, true, { :nbf_leeway => leeway, :algorithm => 'HS256' }\@NLrescue JWT::ImmatureSignature\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL### Issuer Claim\@NLFrom [Oauth JSON Web Token 4.1.1. "iss" (Issuer) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.1):\@NL> The `iss` (issuer) claim identifies the principal that issued the JWT. The processing of this claim is generally application specific. The `iss` value is a case-sensitive string containing a ***StringOrURI*** value. Use of this claim is OPTIONAL.\@NLYou can pass multiple allowed issuers as an Array, verification will pass if one of them matches the `iss` value in the payload.\@NL```ruby\@NLiss = 'My Awesome Company Inc. or https://my.awesome.website/'\@NLiss_payload = { :data => 'data', :iss => iss }\@NLtoken = JWT.encode iss_payload, hmac_secret, 'HS256'\@NLbegin\@NL # Add iss to the validation to check if the token has been manipulated\@NL decoded_token = JWT.decode token, hmac_secret, true, { :iss => iss, :verify_iss => true, :algorithm => 'HS256' }\@NLrescue JWT::InvalidIssuerError\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL### Audience Claim\@NLFrom [Oauth JSON Web Token 4.1.3. "aud" (Audience) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.3):\@NL> The `aud` (audience) claim identifies the recipients that the JWT is intended for. Each principal intended to process the JWT MUST identify itself with a value in the audience claim. If the principal processing the claim does not identify itself with a value in the `aud` claim when this claim is present, then the JWT MUST be rejected. In the general case, the `aud` value is an array of case-sensitive strings, each containing a ***StringOrURI*** value. In the special case when the JWT has one audience, the `aud` value MAY be a single case-sensitive string containing a ***StringOrURI*** value. The interpretation of audience values is generally application specific. Use of this claim is OPTIONAL.\@NL```ruby\@NLaud = ['Young', 'Old']\@NLaud_payload = { :data => 'data', :aud => aud }\@NLtoken = JWT.encode aud_payload, hmac_secret, 'HS256'\@NLbegin\@NL # Add aud to the validation to check if the token has been manipulated\@NL decoded_token = JWT.decode token, hmac_secret, true, { :aud => aud, :verify_aud => true, :algorithm => 'HS256' }\@NLrescue JWT::InvalidAudError\@NL # Handle invalid token, e.g. logout user or deny access\@NL puts 'Audience Error'\@NLend\@NL```\@NL### JWT ID Claim\@NLFrom [Oauth JSON Web Token 4.1.7. "jti" (JWT ID) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.7):\@NL> The `jti` (JWT ID) claim provides a unique identifier for the JWT. The identifier value MUST be assigned in a manner that ensures that there is a negligible probability that the same value will be accidentally assigned to a different data object; if the application uses multiple issuers, collisions MUST be prevented among values produced by different issuers as well. The `jti` claim can be used to prevent the JWT from being replayed. The `jti` value is a case-sensitive string. Use of this claim is OPTIONAL.\@NL```ruby\@NL# Use the secret and iat to create a unique key per request to prevent replay attacks\@NLjti_raw = [hmac_secret, iat].join(':').to_s\@NLjti = Digest::MD5.hexdigest(jti_raw)\@NLjti_payload = { :data => 'data', :iat => iat, :jti => jti }\@NLtoken = JWT.encode jti_payload, hmac_secret, 'HS256'\@NLbegin\@NL # If :verify_jti is true, validation will pass if a JTI is present\@NL #decoded_token = JWT.decode token, hmac_secret, true, { :verify_jti => true, :algorithm => 'HS256' }\@NL # Alternatively, pass a proc with your own code to check if the JTI has already been used\@NL decoded_token = JWT.decode token, hmac_secret, true, { :verify_jti => proc { |jti| my_validation_method(jti) }, :algorithm => 'HS256' }\@NLrescue JWT::InvalidJtiError\@NL # Handle invalid token, e.g. logout user or deny access\@NL puts 'Error'\@NLend\@NL```\@NL### Issued At Claim\@NLFrom [Oauth JSON Web Token 4.1.6. "iat" (Issued At) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.6):\@NL> The `iat` (issued at) claim identifies the time at which the JWT was issued. This claim can be used to determine the age of the JWT. Its value MUST be a number containing a ***NumericDate*** value. Use of this claim is OPTIONAL.\@NL**Handle Issued At Claim**\@NL```ruby\@NLiat = Time.now.to_i\@NLiat_payload = { :data => 'data', :iat => iat }\@NLtoken = JWT.encode iat_payload, hmac_secret, 'HS256'\@NLbegin\@NL # Add iat to the validation to check if the token has been manipulated\@NL decoded_token = JWT.decode token, hmac_secret, true, { :verify_iat => true, :algorithm => 'HS256' }\@NLrescue JWT::InvalidIatError\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL**Adding Leeway**\@NL```ruby\@NLiat = Time.now.to_i + 10\@NLleeway = 30 # seconds\@NLiat_payload = { :data => 'data', :iat => iat }\@NL# build token issued in the future\@NLtoken = JWT.encode iat_payload, hmac_secret, 'HS256'\@NLbegin\@NL # add leeway to ensure the token is accepted\@NL decoded_token = JWT.decode token, hmac_secret, true, { :iat_leeway => leeway, :verify_iat => true, :algorithm => 'HS256' }\@NLrescue JWT::InvalidIatError\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL### Subject Claim\@NLFrom [Oauth JSON Web Token 4.1.2. "sub" (Subject) Claim](https://tools.ietf.org/html/rfc7519#section-4.1.2):\@NL> The `sub` (subject) claim identifies the principal that is the subject of the JWT. The Claims in a JWT are normally statements about the subject. The subject value MUST either be scoped to be locally unique in the context of the issuer or be globally unique. The processing of this claim is generally application specific. The sub value is a case-sensitive string containing a ***StringOrURI*** value. Use of this claim is OPTIONAL.\@NL```ruby\@NLsub = 'Subject'\@NLsub_payload = { :data => 'data', :sub => sub }\@NLtoken = JWT.encode sub_payload, hmac_secret, 'HS256'\@NLbegin\@NL # Add sub to the validation to check if the token has been manipulated\@NL decoded_token = JWT.decode token, hmac_secret, true, { 'sub' => sub, :verify_sub => true, :algorithm => 'HS256' }\@NLrescue JWT::InvalidSubError\@NL # Handle invalid token, e.g. logout user or deny access\@NLend\@NL```\@NL# Development and Tests\@NLWe depend on [Bundler](http://rubygems.org/gems/bundler) for defining gemspec and performing releases to rubygems.org, which can be done with\@NL```bash\@NLrake release\@NL```\@NLThe tests are written with rspec. Given you have installed the dependencies via bundler, you can run tests with\@NL```bash\@NLbundle exec rspec\@NL```\@NL**If you want a release cut with your PR, please include a version bump according to [Semantic Versioning](http://semver.org/)**\@NL## Contributors\@NL * Jordan Brough <github.jordanb@xoxy.net>\@NL * Ilya Zhitomirskiy <ilya@joindiaspora.com>\@NL * Daniel Grippi <daniel@joindiaspora.com>\@NL * Jeff Lindsay <progrium@gmail.com>\@NL * Bob Aman <bob@sporkmonger.com>\@NL * Micah Gates <github@mgates.com>\@NL * Rob Wygand <rob@wygand.com>\@NL * Ariel Salomon (Oscil8)\@NL * Paul Battley <pbattley@gmail.com>\@NL * Zane Shannon [@zshannon](https://github.com/zshannon)\@NL * Brian Fletcher [@punkle](https://github.com/punkle)\@NL * Alex [@ZhangHanDong](https://github.com/ZhangHanDong)\@NL * John Downey [@jtdowney](https://github.com/jtdowney)\@NL * Adam Greene [@skippy](https://github.com/skippy)\@NL * Tim Rudat [@excpt](https://github.com/excpt) <timrudat@gmail.com> - Maintainer\@NL## License\@NLMIT\@NLCopyright (c) 2011 Jeff Lindsay\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/jwt-2.1.0
116kaminari1.1.1MIThttps://github.com/kaminari/kaminariCopyright (c) 2011 Akira Matsuda\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-1.1.1
117kaminari-actionview1.1.1MIThttps://github.com/kaminari/kaminariThe MIT License (MIT)\@NLCopyright (c) 2016 Akira Matsuda\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-actionview-1.1.1
118kaminari-activerecord1.1.1MIThttps://github.com/kaminari/kaminariThe MIT License (MIT)\@NLCopyright (c) 2016 Akira Matsuda\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-activerecord-1.1.1
119kaminari-core1.1.1MIThttps://github.com/kaminari/kaminariThe MIT License (MIT)\@NLCopyright (c) 2016 Akira Matsuda\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-core-1.1.1
120kaminari-grape1.0.1MIThttps://github.com/kaminari/kaminari-grapeThe MIT License (MIT)\@NLCopyright (c) 2016 Akira Matsuda\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-grape-1.0.1
121kaminari-i18n0.5.0MITCopyright (c) 2014 Christopher Dell\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/kaminari-i18n-0.5.0
122kgio2.11.2LGPL-2.1+https://bogomips.org/kgio/ GNU LESSER GENERAL PUBLIC LICENSE\@NL Version 3, 29 June 2007\@NL Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\@NL Everyone is permitted to copy and distribute verbatim copies\@NL of this license document, but changing it is not allowed.\@NL This version of the GNU Lesser General Public License incorporates\@NLthe terms and conditions of version 3 of the GNU General Public\@NLLicense, supplemented by the additional permissions listed below.\@NL 0. Additional Definitions.\@NL As used herein, "this License" refers to version 3 of the GNU Lesser\@NLGeneral Public License, and the "GNU GPL" refers to version 3 of the GNU\@NLGeneral Public License.\@NL "The Library" refers to a covered work governed by this License,\@NLother than an Application or a Combined Work as defined below.\@NL An "Application" is any work that makes use of an interface provided\@NLby the Library, but which is not otherwise based on the Library.\@NLDefining a subclass of a class defined by the Library is deemed a mode\@NLof using an interface provided by the Library.\@NL A "Combined Work" is a work produced by combining or linking an\@NLApplication with the Library. The particular version of the Library\@NLwith which the Combined Work was made is also called the "Linked\@NLVersion".\@NL The "Minimal Corresponding Source" for a Combined Work means the\@NLCorresponding Source for the Combined Work, excluding any source code\@NLfor portions of the Combined Work that, considered in isolation, are\@NLbased on the Application, and not on the Linked Version.\@NL The "Corresponding Application Code" for a Combined Work means the\@NLobject code and/or source code for the Application, including any data\@NLand utility programs needed for reproducing the Combined Work from the\@NLApplication, but excluding the System Libraries of the Combined Work.\@NL 1. Exception to Section 3 of the GNU GPL.\@NL You may convey a covered work under sections 3 and 4 of this License\@NLwithout being bound by section 3 of the GNU GPL.\@NL 2. Conveying Modified Versions.\@NL If you modify a copy of the Library, and, in your modifications, a\@NLfacility refers to a function or data to be supplied by an Application\@NLthat uses the facility (other than as an argument passed when the\@NLfacility is invoked), then you may convey a copy of the modified\@NLversion:\@NL a) under this License, provided that you make a good faith effort to\@NL ensure that, in the event an Application does not supply the\@NL function or data, the facility still operates, and performs\@NL whatever part of its purpose remains meaningful, or\@NL b) under the GNU GPL, with none of the additional permissions of\@NL this License applicable to that copy.\@NL 3. Object Code Incorporating Material from Library Header Files.\@NL The object code form of an Application may incorporate material from\@NLa header file that is part of the Library. You may convey such object\@NLcode under terms of your choice, provided that, if the incorporated\@NLmaterial is not limited to numerical parameters, data structure\@NLlayouts and accessors, or small macros, inline functions and templates\@NL(ten or fewer lines in length), you do both of the following:\@NL a) Give prominent notice with each copy of the object code that the\@NL Library is used in it and that the Library and its use are\@NL covered by this License.\@NL b) Accompany the object code with a copy of the GNU GPL and this license\@NL document.\@NL 4. Combined Works.\@NL You may convey a Combined Work under terms of your choice that,\@NLtaken together, effectively do not restrict modification of the\@NLportions of the Library contained in the Combined Work and reverse\@NLengineering for debugging such modifications, if you also do each of\@NLthe following:\@NL a) Give prominent notice with each copy of the Combined Work that\@NL the Library is used in it and that the Library and its use are\@NL covered by this License.\@NL b) Accompany the Combined Work with a copy of the GNU GPL and this license\@NL document.\@NL c) For a Combined Work that displays copyright notices during\@NL execution, include the copyright notice for the Library among\@NL these notices, as well as a reference directing the user to the\@NL copies of the GNU GPL and this license document.\@NL d) Do one of the following:\@NL 0) Convey the Minimal Corresponding Source under the terms of this\@NL License, and the Corresponding Application Code in a form\@NL suitable for, and under terms that permit, the user to\@NL recombine or relink the Application with a modified version of\@NL the Linked Version to produce a modified Combined Work, in the\@NL manner specified by section 6 of the GNU GPL for conveying\@NL Corresponding Source.\@NL 1) Use a suitable shared library mechanism for linking with the\@NL Library. A suitable mechanism is one that (a) uses at run time\@NL a copy of the Library already present on the user's computer\@NL system, and (b) will operate properly with a modified version\@NL of the Library that is interface-compatible with the Linked\@NL Version.\@NL e) Provide Installation Information, but only if you would otherwise\@NL be required to provide such information under section 6 of the\@NL GNU GPL, and only to the extent that such information is\@NL necessary to install and execute a modified version of the\@NL Combined Work produced by recombining or relinking the\@NL Application with a modified version of the Linked Version. (If\@NL you use option 4d0, the Installation Information must accompany\@NL the Minimal Corresponding Source and Corresponding Application\@NL Code. If you use option 4d1, you must provide the Installation\@NL Information in the manner specified by section 6 of the GNU GPL\@NL for conveying Corresponding Source.)\@NL 5. Combined Libraries.\@NL You may place library facilities that are a work based on the\@NLLibrary side by side in a single library together with other library\@NLfacilities that are not Applications and are not covered by this\@NLLicense, and convey such a combined library under terms of your\@NLchoice, if you do both of the following:\@NL a) Accompany the combined library with a copy of the same work based\@NL on the Library, uncombined with any other library facilities,\@NL conveyed under the terms of this License.\@NL b) Give prominent notice with the combined library that part of it\@NL is a work based on the Library, and explaining where to find the\@NL accompanying uncombined form of the same work.\@NL 6. Revised Versions of the GNU Lesser General Public License.\@NL The Free Software Foundation may publish revised and/or new versions\@NLof the GNU Lesser General Public License from time to time. Such new\@NLversions will be similar in spirit to the present version, but may\@NLdiffer in detail to address new problems or concerns.\@NL Each version is given a distinguishing version number. If the\@NLLibrary as you received it specifies that a certain numbered version\@NLof the GNU Lesser General Public License "or any later version"\@NLapplies to it, you have the option of following the terms and\@NLconditions either of that published version or of any later version\@NLpublished by the Free Software Foundation. If the Library as you\@NLreceived it does not specify a version number of the GNU Lesser\@NLGeneral Public License, you may choose any version of the GNU Lesser\@NLGeneral Public License ever published by the Free Software Foundation.\@NL If the Library as you received it specifies that a proxy can decide\@NLwhether future versions of the GNU Lesser General Public License shall\@NLapply, that proxy's public statement of acceptance of any version is\@NLpermanent authorization for you to choose that version for the\@NLLibrary./Users/scott/.rvm/gems/ruby-2.4.6/gems/kgio-2.11.2
123less2.6.0Apache 2.0http://lesscss.org\@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NLTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL1. Definitions.\@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NLEND OF TERMS AND CONDITIONS\@NLCopyright (c) 2009-2010 Alexis Sellier/Users/scott/.rvm/gems/ruby-2.4.6/gems/less-2.6.0
124less-rails4.0.0MIThttp://github.com/metaskills/less-railsCopyright (c) 2011 Ken Collins\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/less-rails-4.0.0
125listen2.10.1MIThttps://github.com/guard/listenCopyright (c) 2013 Thibaud Guillaume-Gentil\@NLMIT License\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/listen-2.10.1
126loofah2.2.3MIThttps://github.com/flavorjones/loofahThe MIT License\@NLThe MIT License\@NLCopyright (c) 2009 -- 2018 by Mike Dalessio, Bryan Helmkamp\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/loofah-2.2.3
127magnific-popup1.0.1MIThttps://github.com/dimsemenov/Magnific-PopupThe MIT License (MIT)\@NLCopyright (c) 2014-2015 Dmitry Semenov, http://dimsemenov.com\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/Workspace/Helpy/helpy/vendor/assets/components/magnific-popup
128mail2.7.1MIThttps://github.com/mikel/mailCopyright (c) 2009-2016 Mikel Lindsaar\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL'Software'), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# Mail [![Build Status](https://travis-ci.org/mikel/mail.png?branch=master)](https://travis-ci.org/mikel/mail)\@NL## Introduction\@NLMail is an internet library for Ruby that is designed to handle emails\@NLgeneration, parsing and sending in a simple, rubyesque manner.\@NLThe purpose of this library is to provide a single point of access to handle\@NLall email functions, including sending and receiving emails. All network\@NLtype actions are done through proxy methods to Net::SMTP, Net::POP3 etc.\@NLBuilt from my experience with TMail, it is designed to be a pure ruby\@NLimplementation that makes generating, sending and parsing emails a no\@NLbrainer.\@NLIt is also designed from the ground up to work with the more modern versions\@NLof Ruby. This is because Ruby > 1.9 handles text encodings much more wonderfully\@NLthan Ruby 1.8.x and so these features have been taken full advantage of in this\@NLlibrary allowing Mail to handle a lot more messages more cleanly than TMail.\@NLMail does run on Ruby 1.8.x... it's just not as fun to code.\@NLFinally, Mail has been designed with a very simple object oriented system\@NLthat really opens up the email messages you are parsing, if you know what\@NLyou are doing, you can fiddle with every last bit of your email directly.\@NL## Donations\@NLMail has been downloaded millions of times, by people around the world, in fact,\@NLit represents more than 1% of *all* gems downloaded.\@NLIt is (like all open source software) a labour of love and something I am doing\@NLwith my own free time. If you would like to say thanks, please feel free to\@NL[make a donation](http://www.pledgie.com/campaigns/8790) and feel free to send\@NLme a nice email :)\@NL<a href='http://www.pledgie.com/campaigns/8790'><img alt='Click here to lend your support to: mail and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/8790.png?skin_name=chrome' border='0' /></a>\@NL# Contents\@NL* [Compatibility](#compatibility)\@NL* [Discussion](#discussion)\@NL* [Current Capabilities of Mail](#current-capabilities-of-mail)\@NL* [Roadmap](#roadmap)\@NL* [Testing Policy](#testing-policy)\@NL* [API Policy](#api-policy)\@NL* [Installation](#installation)\@NL* [Encodings](#encodings)\@NL* [Contributing](#contributing)\@NL* [Usage](#usage)\@NL* [Core Extensions](#core-extensions)\@NL* [Excerpts from TREC Span Corpus 2005](#excerpts-from-trec-span-corpus-2005)\@NL* [License](#license)\@NL## Compatibility\@NLMail supports Ruby 1.8.7+, including JRuby and Rubinius.\@NLEvery Mail commit is tested by Travis on [all supported Ruby versions](https://github.com/mikel/mail/blob/master/.travis.yml).\@NL## Discussion\@NLIf you want to discuss mail with like minded individuals, please subscribe to\@NLthe [Google Group](http://groups.google.com/group/mail-ruby).\@NL## Current Capabilities of Mail\@NL* RFC5322 Support, Reading and Writing\@NL* RFC6532 Support, reading UTF-8 headers\@NL* RFC2045-2049 Support for multipart emails\@NL* Support for creating multipart alternate emails\@NL* Support for reading multipart/report emails &amp; getting details from such\@NL* Wrappers for File, Net/POP3, Net/SMTP\@NL* Auto-encoding of non-US-ASCII bodies and header fields\@NLMail is RFC5322 and RFC6532 compliant now, that is, it can parse US-ASCII and UTF-8\@NLemails and generate US-ASCII emails. There are a few obsoleted syntax emails that\@NLit will have problems with, but it also is quite robust, meaning, if it finds something\@NLit doesn't understand it will not crash, instead, it will skip the problem and keep\@NLparsing. In the case of a header it doesn't understand, it will initialise the header\@NLas an optional unstructured field and continue parsing.\@NLThis means Mail won't (ever) crunch your data (I think).\@NLYou can also create MIME emails. There are helper methods for making a\@NLmultipart/alternate email for text/plain and text/html (the most common pair)\@NLand you can manually create any other type of MIME email.\@NL## Roadmap\@NLNext TODO:\@NL* Improve MIME support for character sets in headers, currently works, mostly, needs\@NL refinement.\@NL## Testing Policy\@NLBasically... we do BDD on Mail. No method gets written in Mail without a\@NLcorresponding or covering spec. We expect as a minimum 100% coverage\@NLmeasured by RCov. While this is not perfect by any measure, it is pretty\@NLgood. Additionally, all functional tests from TMail are to be passing before\@NLthe gem gets released.\@NLIt also means you can be sure Mail will behave correctly.\@NLNote: If you care about core extensions (aka "monkey-patching"), please read the Core Extensions section near the end of this README.\@NL## API Policy\@NLNo API removals within a single point release. All removals to be deprecated with\@NLwarnings for at least one MINOR point release before removal.\@NLAlso, all private or protected methods to be declared as such - though this is still I/P.\@NL## Installation\@NLInstallation is fairly simple, I host mail on rubygems, so you can just do:\@NL # gem install mail\@NL## Encodings\@NLIf you didn't know, handling encodings in Emails is not as straight forward as you\@NLwould hope.\@NLI have tried to simplify it some:\@NL1. All objects that can render into an email, have an `#encoded` method. Encoded will\@NL return the object as a complete string ready to send in the mail system, that is,\@NL it will include the header field and value and CRLF at the end and wrapped as\@NL needed.\@NL2. All objects that can render into an email, have a `#decoded` method. Decoded will\@NL return the object's "value" only as a string. This means it will not include\@NL the header fields (like 'To:' or 'Subject:').\@NL3. By default, calling <code>#to_s</code> on a container object will call its encoded\@NL method, while <code>#to_s</code> on a field object will call its decoded method.\@NL So calling <code>#to_s</code> on a Mail object will return the mail, all encoded\@NL ready to send, while calling <code>#to_s</code> on the From field or the body will\@NL return the decoded value of the object. The header object of Mail is considered a\@NL container. If you are in doubt, call <code>#encoded</code>, or <code>#decoded</code>\@NL explicitly, this is safer if you are not sure.\@NL4. Structured fields that have parameter values that can be encoded (e.g. Content-Type) will\@NL provide decoded parameter values when you call the parameter names as methods against\@NL the object.\@NL5. Structured fields that have parameter values that can be encoded (e.g. Content-Type) will\@NL provide encoded parameter values when you call the parameter names through the\@NL <code>object.parameters['<parameter_name>']</code> method call.\@NL## Contributing\@NLPlease do! Contributing is easy in Mail. Please read the CONTRIBUTING.md document for more info\@NL## Usage\@NLAll major mail functions should be able to happen from the Mail module.\@NLSo, you should be able to just <code>require 'mail'</code> to get started.\@NL### Making an email\@NL```ruby\@NLmail = Mail.new do\@NL from 'mikel@test.lindsaar.net'\@NL to 'you@test.lindsaar.net'\@NL subject 'This is a test email'\@NL body File.read('body.txt')\@NLend\@NLmail.to_s #=> "From: mikel@test.lindsaar.net\r\nTo: you@...\@NL```\@NL### Making an email, have it your way:\@NL```ruby\@NLmail = Mail.new do\@NL body File.read('body.txt')\@NLend\@NLmail['from'] = 'mikel@test.lindsaar.net'\@NLmail[:to] = 'you@test.lindsaar.net'\@NLmail.subject = 'This is a test email'\@NLmail.header['X-Custom-Header'] = 'custom value'\@NLmail.to_s #=> "From: mikel@test.lindsaar.net\r\nTo: you@...\@NL```\@NL### Don't Worry About Message IDs:\@NL```ruby\@NLmail = Mail.new do\@NL to 'you@test.lindsaar.net'\@NL body 'Some simple body'\@NLend\@NLmail.to_s =~ /Message\-ID: <[\d\w_]+@.+.mail/ #=> 27\@NL```\@NLMail will automatically add a Message-ID field if it is missing and\@NLgive it a unique, random Message-ID along the lines of:\@NL <4a7ff76d7016_13a81ab802e1@local.host.mail>\@NL### Or do worry about Message-IDs:\@NL```ruby\@NLmail = Mail.new do\@NL to 'you@test.lindsaar.net'\@NL message_id '<ThisIsMyMessageId@some.domain.com>'\@NL body 'Some simple body'\@NLend\@NLmail.to_s =~ /Message\-ID: <ThisIsMyMessageId@some.domain.com>/ #=> 27\@NL```\@NLMail will take the message_id you assign to it trusting that you know\@NLwhat you are doing.\@NL### Sending an email:\@NLMail defaults to sending via SMTP to local host port 25. If you have a\@NLsendmail or postfix daemon running on this port, sending email is as\@NLeasy as:\@NL```ruby\@NLMail.deliver do\@NL from 'me@test.lindsaar.net'\@NL to 'you@test.lindsaar.net'\@NL subject 'Here is the image you wanted'\@NL body File.read('body.txt')\@NL add_file '/full/path/to/somefile.png'\@NLend\@NL```\@NLor\@NL```ruby\@NLmail = Mail.new do\@NL from 'me@test.lindsaar.net'\@NL to 'you@test.lindsaar.net'\@NL subject 'Here is the image you wanted'\@NL body File.read('body.txt')\@NL add_file :filename => 'somefile.png', :content => File.read('/somefile.png')\@NLend\@NLmail.deliver!\@NL```\@NLSending via sendmail can be done like so:\@NL```ruby\@NLmail = Mail.new do\@NL from 'me@test.lindsaar.net'\@NL to 'you@test.lindsaar.net'\@NL subject 'Here is the image you wanted'\@NL body File.read('body.txt')\@NL add_file :filename => 'somefile.png', :content => File.read('/somefile.png')\@NLend\@NLmail.delivery_method :sendmail\@NLmail.deliver\@NL```\@NLSending via smtp (for example to [mailcatcher](https://github.com/sj26/mailcatcher))\@NL```ruby\@NLMail.defaults do\@NL delivery_method :smtp, address: "localhost", port: 1025\@NLend\@NL```\@NLExim requires its own delivery manager, and can be used like so:\@NL```ruby\@NLmail.delivery_method :exim, :location => "/usr/bin/exim"\@NLmail.deliver\@NL```\@NLMail may be "delivered" to a logfile, too, for development and testing:\@NL```ruby\@NL# Delivers by logging the encoded message to $stdout\@NLmail.delivery_method :logger\@NL# Delivers to an existing logger at :debug severity\@NLmail.delivery_method :logger, logger: other_logger, severity: :debug\@NL```\@NL### Getting Emails from a POP Server:\@NLYou can configure Mail to receive email using <code>retriever_method</code>\@NLwithin <code>Mail.defaults</code>:\@NL```ruby\@NLMail.defaults do\@NL retriever_method :pop3, :address => "pop.gmail.com",\@NL :port => 995,\@NL :user_name => '<username>',\@NL :password => '<password>',\@NL :enable_ssl => true\@NLend\@NL```\@NLYou can access incoming email in a number of ways.\@NLThe most recent email:\@NL```ruby\@NLMail.all #=> Returns an array of all emails\@NLMail.first #=> Returns the first unread email\@NLMail.last #=> Returns the last unread email\@NL```\@NLThe first 10 emails sorted by date in ascending order:\@NL```ruby\@NLemails = Mail.find(:what => :first, :count => 10, :order => :asc)\@NLemails.length #=> 10\@NL```\@NLOr even all emails:\@NL```ruby\@NLemails = Mail.all\@NLemails.length #=> LOTS!\@NL```\@NL### Reading an Email\@NL```ruby\@NLmail = Mail.read('/path/to/message.eml')\@NLmail.envelope_from #=> 'mikel@test.lindsaar.net'\@NLmail.from.addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']\@NLmail.sender.address #=> 'mikel@test.lindsaar.net'\@NLmail.to #=> 'bob@test.lindsaar.net'\@NLmail.cc #=> 'sam@test.lindsaar.net'\@NLmail.subject #=> "This is the subject"\@NLmail.date.to_s #=> '21 Nov 1997 09:55:06 -0600'\@NLmail.message_id #=> '<4D6AA7EB.6490534@xxx.xxx>'\@NLmail.decoded #=> 'This is the body of the email...\@NL```\@NLMany more methods available.\@NL### Reading a Multipart Email\@NL```ruby\@NLmail = Mail.read('multipart_email')\@NLmail.multipart? #=> true\@NLmail.parts.length #=> 2\@NLmail.body.preamble #=> "Text before the first part"\@NLmail.body.epilogue #=> "Text after the last part"\@NLmail.parts.map { |p| p.content_type } #=> ['text/plain', 'application/pdf']\@NLmail.parts.map { |p| p.class } #=> [Mail::Message, Mail::Message]\@NLmail.parts[0].content_type_parameters #=> {'charset' => 'ISO-8859-1'}\@NLmail.parts[1].content_type_parameters #=> {'name' => 'my.pdf'}\@NL```\@NLMail generates a tree of parts. Each message has many or no parts. Each part\@NLis another message which can have many or no parts.\@NLA message will only have parts if it is a multipart/mixed or multipart/related\@NLcontent type and has a boundary defined.\@NL### Testing and Extracting Attachments\@NL```ruby\@NLmail.attachments.each do | attachment |\@NL # Attachments is an AttachmentsList object containing a\@NL # number of Part objects\@NL if (attachment.content_type.start_with?('image/'))\@NL # extracting images for example...\@NL filename = attachment.filename\@NL begin\@NL File.open(images_dir + filename, "w+b", 0644) {|f| f.write attachment.decoded}\@NL rescue => e\@NL puts "Unable to save data for #{filename} because #{e.message}"\@NL end\@NL end\@NLend\@NL```\@NL### Writing and Sending a Multipart/Alternative (HTML and Text) Email\@NLMail makes some basic assumptions and makes doing the common thing as\@NLsimple as possible.... (asking a lot from a mail library)\@NL```ruby\@NLmail = Mail.deliver do\@NL to 'nicolas@test.lindsaar.net.au'\@NL from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'\@NL subject 'First multipart email sent with Mail'\@NL text_part do\@NL body 'This is plain text'\@NL end\@NL html_part do\@NL content_type 'text/html; charset=UTF-8'\@NL body '<h1>This is HTML</h1>'\@NL end\@NLend\@NL```\@NLMail then delivers the email at the end of the block and returns the\@NLresulting Mail::Message object, which you can then inspect if you\@NLso desire...\@NL```\@NLputs mail.to_s #=>\@NLTo: nicolas@test.lindsaar.net.au\@NLFrom: Mikel Lindsaar <mikel@test.lindsaar.net.au>\@NLSubject: First multipart email sent with Mail\@NLContent-Type: multipart/alternative;\@NL boundary=--==_mimepart_4a914f0c911be_6f0f1ab8026659\@NLMessage-ID: <4a914f12ac7e_6f0f1ab80267d1@baci.local.mail>\@NLDate: Mon, 24 Aug 2009 00:15:46 +1000\@NLMime-Version: 1.0\@NLContent-Transfer-Encoding: 7bit\@NL----==_mimepart_4a914f0c911be_6f0f1ab8026659\@NLContent-ID: <4a914f12c8c4_6f0f1ab80268d6@baci.local.mail>\@NLDate: Mon, 24 Aug 2009 00:15:46 +1000\@NLMime-Version: 1.0\@NLContent-Type: text/plain\@NLContent-Transfer-Encoding: 7bit\@NLThis is plain text\@NL----==_mimepart_4a914f0c911be_6f0f1ab8026659\@NLContent-Type: text/html; charset=UTF-8\@NLContent-ID: <4a914f12cf86_6f0f1ab802692c@baci.local.mail>\@NLDate: Mon, 24 Aug 2009 00:15:46 +1000\@NLMime-Version: 1.0\@NLContent-Transfer-Encoding: 7bit\@NL<h1>This is HTML</h1>\@NL----==_mimepart_4a914f0c911be_6f0f1ab8026659--\@NL```\@NLMail inserts the content transfer encoding, the mime version,\@NLthe content-id's and handles the content-type and boundary.\@NLMail assumes that if your text in the body is only us-ascii, that your\@NLtransfer encoding is 7bit and it is text/plain. You can override this\@NLby explicitly declaring it.\@NL### Making Multipart/Alternate, Without a Block\@NLYou don't have to use a block with the text and html part included, you\@NLcan just do it declaratively. However, you need to add Mail::Parts to\@NLan email, not Mail::Messages.\@NL```ruby\@NLmail = Mail.new do\@NL to 'nicolas@test.lindsaar.net.au'\@NL from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'\@NL subject 'First multipart email sent with Mail'\@NLend\@NLtext_part = Mail::Part.new do\@NL body 'This is plain text'\@NLend\@NLhtml_part = Mail::Part.new do\@NL content_type 'text/html; charset=UTF-8'\@NL body '<h1>This is HTML</h1>'\@NLend\@NLmail.text_part = text_part\@NLmail.html_part = html_part\@NL```\@NLResults in the same email as done using the block form\@NL### Getting Error Reports from an Email:\@NL```ruby\@NL@mail = Mail.read('/path/to/bounce_message.eml')\@NL@mail.bounced? #=> true\@NL@mail.final_recipient #=> rfc822;mikel@dont.exist.com\@NL@mail.action #=> failed\@NL@mail.error_status #=> 5.5.0\@NL@mail.diagnostic_code #=> smtp;550 Requested action not taken: mailbox unavailable\@NL@mail.retryable? #=> false\@NL```\@NL### Attaching and Detaching Files\@NLYou can just read the file off an absolute path, Mail will try\@NLto guess the mime_type and will encode the file in Base64 for you.\@NL```ruby\@NL@mail = Mail.new\@NL@mail.add_file("/path/to/file.jpg")\@NL@mail.parts.first.attachment? #=> true\@NL@mail.parts.first.content_transfer_encoding.to_s #=> 'base64'\@NL@mail.attachments.first.mime_type #=> 'image/jpg'\@NL@mail.attachments.first.filename #=> 'file.jpg'\@NL@mail.attachments.first.decoded == File.read('/path/to/file.jpg') #=> true\@NL```\@NLOr You can pass in file_data and give it a filename, again, mail\@NLwill try and guess the mime_type for you.\@NL```ruby\@NL@mail = Mail.new\@NL@mail.attachments['myfile.pdf'] = File.read('path/to/myfile.pdf')\@NL@mail.parts.first.attachment? #=> true\@NL@mail.attachments.first.mime_type #=> 'application/pdf'\@NL@mail.attachments.first.decoded == File.read('path/to/myfile.pdf') #=> true\@NL```\@NLYou can also override the guessed MIME media type if you really know better\@NLthan mail (this should be rarely needed)\@NL```ruby\@NL@mail = Mail.new\@NL@mail.attachments['myfile.pdf'] = { :mime_type => 'application/x-pdf',\@NL :content => File.read('path/to/myfile.pdf') }\@NL@mail.parts.first.mime_type #=> 'application/x-pdf'\@NL```\@NLOf course... Mail will round trip an attachment as well\@NL```ruby\@NL@mail = Mail.new do\@NL to 'nicolas@test.lindsaar.net.au'\@NL from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'\@NL subject 'First multipart email sent with Mail'\@NL text_part do\@NL body 'Here is the attachment you wanted'\@NL end\@NL html_part do\@NL content_type 'text/html; charset=UTF-8'\@NL body '<h1>Funky Title</h1><p>Here is the attachment you wanted</p>'\@NL end\@NL add_file '/path/to/myfile.pdf'\@NLend\@NL@round_tripped_mail = Mail.new(@mail.encoded)\@NL@round_tripped_mail.attachments.length #=> 1\@NL@round_tripped_mail.attachments.first.filename #=> 'myfile.pdf'\@NL```\@NLSee "Testing and extracting attachments" above for more details.\@NL## Using Mail with Testing or Spec'ing Libraries\@NLIf mail is part of your system, you'll need a way to test it without actually\@NLsending emails, the TestMailer can do this for you.\@NL```ruby\@NLrequire 'mail'\@NL=> true\@NLMail.defaults do\@NL delivery_method :test\@NLend\@NL=> #<Mail::Configuration:0x19345a8 @delivery_method=Mail::TestMailer>\@NLMail::TestMailer.deliveries\@NL=> []\@NLMail.deliver do\@NL to 'mikel@me.com'\@NL from 'you@you.com'\@NL subject 'testing'\@NL body 'hello'\@NLend\@NL=> #<Mail::Message:0x19284ec ...\@NLMail::TestMailer.deliveries.length\@NL=> 1\@NLMail::TestMailer.deliveries.first\@NL=> #<Mail::Message:0x19284ec ...\@NLMail::TestMailer.deliveries.clear\@NL=> []\@NL```\@NLThere is also a set of RSpec matchers stolen/inspired by Shoulda's ActionMailer matchers (you'll want to set <code>delivery_method</code> as above too):\@NL```ruby\@NLMail.defaults do\@NL delivery_method :test # in practice you'd do this in spec_helper.rb\@NLend\@NLdescribe "sending an email" do\@NL include Mail::Matchers\@NL before(:each) do\@NL Mail::TestMailer.deliveries.clear\@NL Mail.deliver do\@NL to ['mikel@me.com', 'mike2@me.com']\@NL from 'you@you.com'\@NL subject 'testing'\@NL body 'hello'\@NL end\@NL end\@NL it { is_expected.to have_sent_email } # passes if any email at all was sent\@NL it { is_expected.to have_sent_email.from('you@you.com') }\@NL it { is_expected.to have_sent_email.to('mike1@me.com') }\@NL # can specify a list of recipients...\@NL it { is_expected.to have_sent_email.to(['mike1@me.com', 'mike2@me.com']) }\@NL # ...or chain recipients together\@NL it { is_expected.to have_sent_email.to('mike1@me.com').to('mike2@me.com') }\@NL it { is_expected.to have_sent_email.with_subject('testing') }\@NL it { is_expected.to have_sent_email.with_body('hello') }\@NL # Can match subject or body with a regex\@NL # (or anything that responds_to? :match)\@NL it { is_expected.to have_sent_email.matching_subject(/test(ing)?/) }\@NL it { is_expected.to have_sent_email.matching_body(/h(a|e)llo/) }\@NL # Can chain together modifiers\@NL # Note that apart from recipients, repeating a modifier overwrites old value.\@NL it { is_expected.to have_sent_email.from('you@you.com').to('mike1@me.com').matching_body(/hell/)\@NL # test for attachments\@NL # ... by specific attachment\@NL it { is_expected.to have_sent_email.with_attachments(my_attachment) }\@NL # ... or any attachment\@NL it { is_expected.to have_sent_email.with_attachments(any_attachment) }\@NL # ... by array of attachments\@NL it { is_expected.to have_sent_email.with_attachments([my_attachment1, my_attachment2]) } #note that order is important\@NL #... by presence\@NL it { is_expected.to have_sent_email.with_any_attachments }\@NL #... or by absence\@NL it { is_expected.to have_sent_email.with_no_attachments }\@NLend\@NL```\@NL## Excerpts from TREC Spam Corpus 2005\@NLThe spec fixture files in spec/fixtures/emails/from_trec_2005 are from the\@NL2005 TREC Public Spam Corpus. They remain copyrighted under the terms of\@NLthat project and license agreement. They are used in this project to verify\@NLand describe the development of this email parser implementation.\@NLhttp://plg.uwaterloo.ca/~gvcormac/treccorpus/\@NLThey are used as allowed by 'Permitted Uses, Clause 3':\@NL "Small excerpts of the information may be displayed to others\@NL or published in a scientific or technical context, solely for\@NL the purpose of describing the research and development and\@NL related issues."\@NL -- http://plg.uwaterloo.ca/~gvcormac/treccorpus/\@NL## License\@NL(The MIT License)\@NLCopyright (c) 2009-2016 Mikel Lindsaar\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL'Software'), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mail-2.7.1
129mail_extract0.1.4MIThttps://github.com/sosedoff/mail_extract# MailExtract\@NLMailExtract is a small ruby library to parse plain-text email contents.\@NLIt removes all quoted text and signatures leaving only original text. \@NL## Installation\@NL gem install mail_extract\@NL## Usage\@NL### General usage\@NL```ruby\@NLrequire 'mail_extract'\@NLbody = MailExtract::Parser.new('MESSAGE').body\@NL# or via shortcut\@NLbody = MailExtract.new('MESSAGE').body\@NL# or via another shortcut\@NLbody = MailExtract.parse('MESSAGE')\@NL```\@NL### Using with Mail gem\@NL```ruby\@NLrequire 'mail'\@NLrequire 'mail_extract'\@NLmail = Mail.read_from_string(YOUR_MESSAGE_BODY)\@NL# find only plain-text parts\@NLif mail.multipart?\@NL part = mail.parts.select { |p| p.content_type =~ /text\/plain/ }.first rescue nil\@NL unless part.nil?\@NL message = part.body.decoded\@NL end\@NLelse\@NL message = part.body.decoded\@NLend\@NLclean_message = MailExtract.new(message).body\@NL```\@NL### Configuration\@NLIf you need to grab only a head part of the message body you need to specify *:only_head* parameter:\@NL```ruby\@NLMailExtract.new(message, :only_head => true)\@NL```\@NLThis is extremely useful if you're parsing an email from mobile devices (iphone?) which do not follow the quote pattens.\@NL## Known issues\@NL- Invalid signature patterns (that does not follow --, ___)\@NL- Invalid quote patterns (that does not start with >)\@NL## License\@NLCopyright © 2011 Dan Sosedoff.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mail_extract-0.1.4
130maildir2.2.1MIThttp://github.com/ktheory/maildirCopyright (c) 2010 Aaron Suggs\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/maildir-2.2.1
131mailman0.7.3MIThttps://github.com/mailman/mailmanThe MIT License\@NLCopyright (c) 2010-2013 Jonathan Rudenberg\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mailman-0.7.3
132mime-types3.2.2MIThttps://github.com/mime-types/ruby-mime-types/## Licence\@NL* Copyright 2003–2018 Austin Ziegler and contributors.\@NLThe software in this repository is made available under the MIT license.\@NL### MIT License\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\@NLof the Software, and to permit persons to whom the Software is furnished to do\@NLso, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mime-types-3.2.2
133mime-types-data3.2019.0331MIThttps://github.com/mime-types/mime-types-data/## Licence\@NL* Copyright 2003–2016 Austin Ziegler and other contributors.\@NLThe software in this repository is made available under the MIT license.\@NL### MIT License\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\@NLof the Software, and to permit persons to whom the Software is furnished to do\@NLso, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mime-types-data-3.2019.0331
134mini_magick4.9.3MIThttps://github.com/minimagick/minimagickCopyright (c) 2005-2013 Corey Johnson probablycorey@gmail.com\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mini_magick-4.9.3
135mini_mime1.0.1MIThttps://github.com/discourse/mini_mimeThe MIT License (MIT)\@NLCopyright (c) 2016 Discourse Construction Kit, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mini_mime-1.0.1
136mini_portile22.4.0MIThttp://github.com/flavorjones/mini_portileCopyright (c) 2011-2016 Luis Lavena and Mike Dalessio\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mini_portile2-2.4.0
137multi_json1.13.1MIThttp://github.com/intridea/multi_jsonCopyright (c) 2010-2013 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, Pavel Pravosud\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/multi_json-1.13.1
138multi_xml0.6.0MIThttps://github.com/sferik/multi_xmlCopyright (c) 2010-2013 Erik Michaels-Ober\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/multi_xml-0.6.0
139multipart-post2.0.0MIThttps://github.com/nicksieger/multipart-post## multipart-post\@NL* http://github.com/nicksieger/multipart-post\@NL![build status](https://travis-ci.org/nicksieger/multipart-post.png)\@NL#### DESCRIPTION:\@NLAdds a streamy multipart form post capability to Net::HTTP. Also\@NLsupports other methods besides POST.\@NL#### FEATURES/PROBLEMS:\@NL* Appears to actually work. A good feature to have.\@NL* Encapsulates posting of file/binary parts and name/value parameter parts, similar to \@NL most browsers' file upload forms.\@NL* Provides an UploadIO helper class to prepare IO objects for inclusion in the params\@NL hash of the multipart post object.\@NL#### SYNOPSIS:\@NL require 'net/http/post/multipart'\@NL url = URI.parse('http://www.example.com/upload')\@NL File.open("./image.jpg") do |jpg|\@NL req = Net::HTTP::Post::Multipart.new url.path,\@NL "file" => UploadIO.new(jpg, "image/jpeg", "image.jpg")\@NL res = Net::HTTP.start(url.host, url.port) do |http|\@NL http.request(req)\@NL end\@NL end\@NLTo post multiple files or attachments, simply include multiple parameters with\@NLUploadIO values:\@NL require 'net/http/post/multipart'\@NL url = URI.parse('http://www.example.com/upload')\@NL req = Net::HTTP::Post::Multipart.new url.path,\@NL "file1" => UploadIO.new(File.new("./image.jpg"), "image/jpeg", "image.jpg"),\@NL "file2" => UploadIO.new(File.new("./image2.jpg"), "image/jpeg", "image2.jpg")\@NL res = Net::HTTP.start(url.host, url.port) do |http|\@NL http.request(req)\@NL end\@NL#### REQUIREMENTS:\@NLNone\@NL#### INSTALL:\@NL gem install multipart-post\@NL#### LICENSE:\@NL(The MIT License)\@NLCopyright (c) 2007-2013 Nick Sieger <nick@nicksieger.com>\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL'Software'), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\@NLIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\@NLCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\@NLTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\@NLSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/multipart-post-2.0.0
140mustermann1.0.3MIThttps://github.com/sinatra/mustermannCopyright (c) 2013-2017 Konstantin Haase\@NLCopyright (c) 2016-2017 Zachary Scott\@NLPermission is hereby granted, free of charge, to any person\@NLobtaining a copy of this software and associated documentation\@NLfiles (the "Software"), to deal in the Software without\@NLrestriction, including without limitation the rights to use,\@NLcopy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the\@NLSoftware is furnished to do so, subject to the following\@NLconditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\@NLOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\@NLHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\@NLWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\@NLFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\@NLOTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/mustermann-1.0.3
141mustermann-grape1.0.0MIThttps://github.com/ruby-grape/mustermann-grape/Users/scott/.rvm/gems/ruby-2.4.6/gems/mustermann-grape-1.0.0
142netrc0.11.0MIThttps://github.com/geemus/netrcThe MIT License (MIT)\@NLCopyright (c) 2011-2014 [CONTRIBUTORS.md](https://github.com/geemus/netrc/blob/master/CONTRIBUTORS.md)\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of\@NLthis software and associated documentation files (the "Software"), to deal in\@NLthe Software without restriction, including without limitation the rights to\@NLuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\@NLthe Software, and to permit persons to whom the Software is furnished to do so,\@NLsubject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\@NLFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\@NLCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NLIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\@NLCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/netrc-0.11.0
143nokogiri1.10.2MITThe MIT License\@NLCopyright 2008 -- 2018 by Aaron Patterson, Mike Dalessio, Charles Nutter, Sergio Arbeo, Patrick Mahoney, Yoko Harada, Akinori MUSHA, John Shahid, Lars Kanis\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL## Vendored Dependency Licenses\@NLNokogiri ships with some third party dependencies, which are listed\@NLhere along with their licenses.\@NLNote that this document is broken into three sections, each of which\@NLwill apply to different platform releases of Nokogiri:\@NL1. default platform release\@NL2. `java` platform release\@NL3. binary windows platform releases (`x86-mingw32` and `x64-mingw32`)\@NLIt's encouraged for anyone consuming this file via license-tracking\@NLsoftware to understand which dependencies are used by your particular\@NLsoftware, so as not to misinterpret the contents of this file.\@NLIn particular, I'm sure somebody's lawyer, somewhere, is going to\@NLfreak out that the LGPL appears in this file; and so I'd like to take\@NLspecial note that the dependency covered by LGPL, `libiconv`, is only\@NLbeing redistributed in the binary Windows platform release. It's not\@NLpresent in any non-Windows releases.\@NL-----\@NL## default platform release\@NL### libxml2\@NLMIT\@NLhttp://xmlsoft.org/\@NL Except where otherwise noted in the source code (e.g. the files hash.c,\@NL list.c and the trio files, which are covered by a similar licence but\@NL with different Copyright notices) all the files are:\@NL \@NL Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved.\@NL \@NL Permission is hereby granted, free of charge, to any person obtaining a copy\@NL of this software and associated documentation files (the "Software"), to deal\@NL in the Software without restriction, including without limitation the rights\@NL to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NL copies of the Software, and to permit persons to whom the Software is fur-\@NL nished to do so, subject to the following conditions:\@NL \@NL The above copyright notice and this permission notice shall be included in\@NL all copies or substantial portions of the Software.\@NL \@NL THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NL IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-\@NL NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NL AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NL LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NL OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NL THE SOFTWARE.\@NL \@NL### libxslt\@NLMIT\@NLhttp://xmlsoft.org/libxslt/\@NL Licence for libxslt except libexslt\@NL ----------------------------------------------------------------------\@NL Copyright (C) 2001-2002 Daniel Veillard. All Rights Reserved.\@NL \@NL Permission is hereby granted, free of charge, to any person obtaining a copy\@NL of this software and associated documentation files (the "Software"), to deal\@NL in the Software without restriction, including without limitation the rights\@NL to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NL copies of the Software, and to permit persons to whom the Software is fur-\@NL nished to do so, subject to the following conditions:\@NL \@NL The above copyright notice and this permission notice shall be included in\@NL all copies or substantial portions of the Software.\@NL \@NL THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NL IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-\@NL NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NL DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NL IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\@NL NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL \@NL Except as contained in this notice, the name of Daniel Veillard shall not\@NL be used in advertising or otherwise to promote the sale, use or other deal-\@NL ings in this Software without prior written authorization from him.\@NL \@NL ----------------------------------------------------------------------\@NL \@NL Licence for libexslt\@NL ----------------------------------------------------------------------\@NL Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard.\@NL All Rights Reserved.\@NL \@NL Permission is hereby granted, free of charge, to any person obtaining a copy\@NL of this software and associated documentation files (the "Software"), to deal\@NL in the Software without restriction, including without limitation the rights\@NL to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NL copies of the Software, and to permit persons to whom the Software is fur-\@NL nished to do so, subject to the following conditions:\@NL \@NL The above copyright notice and this permission notice shall be included in\@NL all copies or substantial portions of the Software.\@NL \@NL THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NL IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-\@NL NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NL AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\@NL IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\@NL NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL \@NL Except as contained in this notice, the name of the authors shall not\@NL be used in advertising or otherwise to promote the sale, use or other deal-\@NL ings in this Software without prior written authorization from him.\@NL ----------------------------------------------------------------------\@NL \@NL## `java` platform release\@NL### isorelax\@NLMIT\@NLhttp://iso-relax.sourceforge.net/\@NL Copyright (c) 2001-2002, SourceForge ISO-RELAX Project (ASAMI\@NL Tomoharu, Daisuke Okajima, Kohsuke Kawaguchi, and MURATA Makoto)\@NL \@NL Permission is hereby granted, free of charge, to any person obtaining\@NL a copy of this software and associated documentation files (the\@NL "Software"), to deal in the Software without restriction, including\@NL without limitation the rights to use, copy, modify, merge, publish,\@NL distribute, sublicense, and/or sell copies of the Software, and to\@NL permit persons to whom the Software is furnished to do so, subject to\@NL the following conditions:\@NL \@NL The above copyright notice and this permission notice shall be\@NL included in all copies or substantial portions of the Software.\@NL \@NL THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NL EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NL MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NL NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NL LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NL OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NL WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL### jing\@NLBSD-3-Clause\@NLhttp://www.thaiopensource.com/relaxng/jing.html\@NL Copyright (c) 2001-2003 Thai Open Source Software Center Ltd\@NL All rights reserved.\@NL \@NL Redistribution and use in source and binary forms, with or without\@NL modification, are permitted provided that the following conditions\@NL are met:\@NL \@NL * Redistributions of source code must retain the above copyright\@NL notice, this list of conditions and the following disclaimer.\@NL \@NL * Redistributions in binary form must reproduce the above\@NL copyright notice, this list of conditions and the following\@NL disclaimer in the documentation and/or other materials provided\@NL with the distribution.\@NL \@NL * Neither the name of the Thai Open Source Software Center Ltd nor\@NL the names of its contributors may be used to endorse or promote\@NL products derived from this software without specific prior\@NL written permission.\@NL \@NL THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\@NL CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,\@NL INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\@NL MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\@NL DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE\@NL LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\@NL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\@NL PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\@NL PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\@NL THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\@NL TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\@NL THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\@NL SUCH DAMAGE.\@NL \@NL### nekodtd\@NLApache 1.0-derived\@NLhttps://people.apache.org/~andyc/neko/doc/dtd/\@NL The CyberNeko Software License, Version 1.0\@NL \@NL (C) Copyright 2002-2005, Andy Clark. All rights reserved.\@NL \@NL Redistribution and use in source and binary forms, with or without\@NL modification, are permitted provided that the following conditions\@NL are met:\@NL \@NL 1. Redistributions of source code must retain the above copyright\@NL notice, this list of conditions and the following disclaimer. \@NL \@NL 2. Redistributions in binary form must reproduce the above copyright\@NL notice, this list of conditions and the following disclaimer in\@NL the documentation and/or other materials provided with the\@NL distribution.\@NL \@NL 3. The end-user documentation included with the redistribution,\@NL if any, must include the following acknowledgment: \@NL "This product includes software developed by Andy Clark."\@NL Alternately, this acknowledgment may appear in the software itself,\@NL if and wherever such third-party acknowledgments normally appear.\@NL \@NL 4. The names "CyberNeko" and "NekoHTML" must not be used to endorse\@NL or promote products derived from this software without prior \@NL written permission. For written permission, please contact \@NL andyc@cyberneko.net.\@NL \@NL 5. Products derived from this software may not be called "CyberNeko",\@NL nor may "CyberNeko" appear in their name, without prior written\@NL permission of the author.\@NL \@NL THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED\@NL WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\@NL OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\@NL DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS\@NL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, \@NL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \@NL OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR \@NL BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \@NL WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE \@NL OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, \@NL EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\@NL \@NL ====================================================================\@NL \@NL This license is based on the Apache Software License, version 1.1.\@NL### nekohtml\@NLApache 2.0\@NLhttp://nekohtml.sourceforge.net/\@NL \@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL \@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL \@NL 1. Definitions.\@NL \@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL \@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL \@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL \@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL \@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL \@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL \@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL \@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL \@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL \@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL \@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL \@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL \@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL \@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL \@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL \@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL \@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL \@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL \@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL \@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL \@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL \@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL \@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL \@NL END OF TERMS AND CONDITIONS\@NL \@NL APPENDIX: How to apply the Apache License to your work.\@NL \@NL To apply the Apache License to your work, attach the following\@NL boilerplate notice, with the fields enclosed by brackets "[]"\@NL replaced with your own identifying information. (Don't include\@NL the brackets!) The text should be enclosed in the appropriate\@NL comment syntax for the file format. We also recommend that a\@NL file or class name and description of purpose be included on the\@NL same "printed page" as the copyright notice for easier\@NL identification within third-party archives.\@NL \@NL Copyright [yyyy] [name of copyright owner]\@NL \@NL Licensed under the Apache License, Version 2.0 (the "License");\@NL you may not use this file except in compliance with the License.\@NL You may obtain a copy of the License at\@NL \@NL http://www.apache.org/licenses/LICENSE-2.0\@NL \@NL Unless required by applicable law or agreed to in writing, software\@NL distributed under the License is distributed on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\@NL See the License for the specific language governing permissions and\@NL limitations under the License.\@NL### xalan\@NLApache 2.0\@NLhttps://xml.apache.org/xalan-j/\@NLcovers xalan.jar and serializer.jar\@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL \@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL \@NL 1. Definitions.\@NL \@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL \@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL \@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL \@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL \@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL \@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL \@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL \@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL \@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL \@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL \@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL \@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL \@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL \@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL \@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL \@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL \@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL \@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL \@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL \@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL \@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL \@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL \@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL \@NL END OF TERMS AND CONDITIONS\@NL \@NL APPENDIX: How to apply the Apache License to your work.\@NL \@NL To apply the Apache License to your work, attach the following\@NL boilerplate notice, with the fields enclosed by brackets "[]"\@NL replaced with your own identifying information. (Don't include\@NL the brackets!) The text should be enclosed in the appropriate\@NL comment syntax for the file format. We also recommend that a\@NL file or class name and description of purpose be included on the\@NL same "printed page" as the copyright notice for easier\@NL identification within third-party archives.\@NL \@NL Copyright [yyyy] [name of copyright owner]\@NL \@NL Licensed under the Apache License, Version 2.0 (the "License");\@NL you may not use this file except in compliance with the License.\@NL You may obtain a copy of the License at\@NL \@NL http://www.apache.org/licenses/LICENSE-2.0\@NL \@NL Unless required by applicable law or agreed to in writing, software\@NL distributed under the License is distributed on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\@NL See the License for the specific language governing permissions and\@NL limitations under the License.\@NL \@NL### xerces\@NLApache 2.0\@NLhttps://xerces.apache.org/xerces2-j/\@NL \@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL \@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL \@NL 1. Definitions.\@NL \@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL \@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL \@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL \@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL \@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL \@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL \@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL \@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL \@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL \@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL \@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL \@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL \@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL \@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL \@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL \@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL \@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL \@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL \@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL \@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL \@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL \@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL \@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL \@NL END OF TERMS AND CONDITIONS\@NL \@NL APPENDIX: How to apply the Apache License to your work.\@NL \@NL To apply the Apache License to your work, attach the following\@NL boilerplate notice, with the fields enclosed by brackets "[]"\@NL replaced with your own identifying information. (Don't include\@NL the brackets!) The text should be enclosed in the appropriate\@NL comment syntax for the file format. We also recommend that a\@NL file or class name and description of purpose be included on the\@NL same "printed page" as the copyright notice for easier\@NL identification within third-party archives.\@NL \@NL Copyright [yyyy] [name of copyright owner]\@NL \@NL Licensed under the Apache License, Version 2.0 (the "License");\@NL you may not use this file except in compliance with the License.\@NL You may obtain a copy of the License at\@NL \@NL http://www.apache.org/licenses/LICENSE-2.0\@NL \@NL Unless required by applicable law or agreed to in writing, software\@NL distributed under the License is distributed on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\@NL See the License for the specific language governing permissions and\@NL limitations under the License.\@NL \@NL### xml-apis\@NLApache 2.0\@NLhttps://xerces.apache.org/xml-commons/\@NL Unless otherwise noted all files in XML Commons are covered under the\@NL Apache License Version 2.0. Please read the LICENSE and NOTICE files.\@NL \@NL XML Commons contains some software and documentation that is covered\@NL under a number of different licenses. This applies particularly to the\@NL xml-commons/java/external/ directory. Most files under\@NL xml-commons/java/external/ are covered under their respective\@NL LICENSE.*.txt files; see the matching README.*.txt files for\@NL descriptions.\@NL \@NL Apache License\@NL Version 2.0, January 2004\@NL http://www.apache.org/licenses/\@NL \@NL TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\@NL \@NL 1. Definitions.\@NL \@NL "License" shall mean the terms and conditions for use, reproduction,\@NL and distribution as defined by Sections 1 through 9 of this document.\@NL \@NL "Licensor" shall mean the copyright owner or entity authorized by\@NL the copyright owner that is granting the License.\@NL \@NL "Legal Entity" shall mean the union of the acting entity and all\@NL other entities that control, are controlled by, or are under common\@NL control with that entity. For the purposes of this definition,\@NL "control" means (i) the power, direct or indirect, to cause the\@NL direction or management of such entity, whether by contract or\@NL otherwise, or (ii) ownership of fifty percent (50%) or more of the\@NL outstanding shares, or (iii) beneficial ownership of such entity.\@NL \@NL "You" (or "Your") shall mean an individual or Legal Entity\@NL exercising permissions granted by this License.\@NL \@NL "Source" form shall mean the preferred form for making modifications,\@NL including but not limited to software source code, documentation\@NL source, and configuration files.\@NL \@NL "Object" form shall mean any form resulting from mechanical\@NL transformation or translation of a Source form, including but\@NL not limited to compiled object code, generated documentation,\@NL and conversions to other media types.\@NL \@NL "Work" shall mean the work of authorship, whether in Source or\@NL Object form, made available under the License, as indicated by a\@NL copyright notice that is included in or attached to the work\@NL (an example is provided in the Appendix below).\@NL \@NL "Derivative Works" shall mean any work, whether in Source or Object\@NL form, that is based on (or derived from) the Work and for which the\@NL editorial revisions, annotations, elaborations, or other modifications\@NL represent, as a whole, an original work of authorship. For the purposes\@NL of this License, Derivative Works shall not include works that remain\@NL separable from, or merely link (or bind by name) to the interfaces of,\@NL the Work and Derivative Works thereof.\@NL \@NL "Contribution" shall mean any work of authorship, including\@NL the original version of the Work and any modifications or additions\@NL to that Work or Derivative Works thereof, that is intentionally\@NL submitted to Licensor for inclusion in the Work by the copyright owner\@NL or by an individual or Legal Entity authorized to submit on behalf of\@NL the copyright owner. For the purposes of this definition, "submitted"\@NL means any form of electronic, verbal, or written communication sent\@NL to the Licensor or its representatives, including but not limited to\@NL communication on electronic mailing lists, source code control systems,\@NL and issue tracking systems that are managed by, or on behalf of, the\@NL Licensor for the purpose of discussing and improving the Work, but\@NL excluding communication that is conspicuously marked or otherwise\@NL designated in writing by the copyright owner as "Not a Contribution."\@NL \@NL "Contributor" shall mean Licensor and any individual or Legal Entity\@NL on behalf of whom a Contribution has been received by Licensor and\@NL subsequently incorporated within the Work.\@NL \@NL 2. Grant of Copyright License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL copyright license to reproduce, prepare Derivative Works of,\@NL publicly display, publicly perform, sublicense, and distribute the\@NL Work and such Derivative Works in Source or Object form.\@NL \@NL 3. Grant of Patent License. Subject to the terms and conditions of\@NL this License, each Contributor hereby grants to You a perpetual,\@NL worldwide, non-exclusive, no-charge, royalty-free, irrevocable\@NL (except as stated in this section) patent license to make, have made,\@NL use, offer to sell, sell, import, and otherwise transfer the Work,\@NL where such license applies only to those patent claims licensable\@NL by such Contributor that are necessarily infringed by their\@NL Contribution(s) alone or by combination of their Contribution(s)\@NL with the Work to which such Contribution(s) was submitted. If You\@NL institute patent litigation against any entity (including a\@NL cross-claim or counterclaim in a lawsuit) alleging that the Work\@NL or a Contribution incorporated within the Work constitutes direct\@NL or contributory patent infringement, then any patent licenses\@NL granted to You under this License for that Work shall terminate\@NL as of the date such litigation is filed.\@NL \@NL 4. Redistribution. You may reproduce and distribute copies of the\@NL Work or Derivative Works thereof in any medium, with or without\@NL modifications, and in Source or Object form, provided that You\@NL meet the following conditions:\@NL \@NL (a) You must give any other recipients of the Work or\@NL Derivative Works a copy of this License; and\@NL \@NL (b) You must cause any modified files to carry prominent notices\@NL stating that You changed the files; and\@NL \@NL (c) You must retain, in the Source form of any Derivative Works\@NL that You distribute, all copyright, patent, trademark, and\@NL attribution notices from the Source form of the Work,\@NL excluding those notices that do not pertain to any part of\@NL the Derivative Works; and\@NL \@NL (d) If the Work includes a "NOTICE" text file as part of its\@NL distribution, then any Derivative Works that You distribute must\@NL include a readable copy of the attribution notices contained\@NL within such NOTICE file, excluding those notices that do not\@NL pertain to any part of the Derivative Works, in at least one\@NL of the following places: within a NOTICE text file distributed\@NL as part of the Derivative Works; within the Source form or\@NL documentation, if provided along with the Derivative Works; or,\@NL within a display generated by the Derivative Works, if and\@NL wherever such third-party notices normally appear. The contents\@NL of the NOTICE file are for informational purposes only and\@NL do not modify the License. You may add Your own attribution\@NL notices within Derivative Works that You distribute, alongside\@NL or as an addendum to the NOTICE text from the Work, provided\@NL that such additional attribution notices cannot be construed\@NL as modifying the License.\@NL \@NL You may add Your own copyright statement to Your modifications and\@NL may provide additional or different license terms and conditions\@NL for use, reproduction, or distribution of Your modifications, or\@NL for any such Derivative Works as a whole, provided Your use,\@NL reproduction, and distribution of the Work otherwise complies with\@NL the conditions stated in this License.\@NL \@NL 5. Submission of Contributions. Unless You explicitly state otherwise,\@NL any Contribution intentionally submitted for inclusion in the Work\@NL by You to the Licensor shall be under the terms and conditions of\@NL this License, without any additional terms or conditions.\@NL Notwithstanding the above, nothing herein shall supersede or modify\@NL the terms of any separate license agreement you may have executed\@NL with Licensor regarding such Contributions.\@NL \@NL 6. Trademarks. This License does not grant permission to use the trade\@NL names, trademarks, service marks, or product names of the Licensor,\@NL except as required for reasonable and customary use in describing the\@NL origin of the Work and reproducing the content of the NOTICE file.\@NL \@NL 7. Disclaimer of Warranty. Unless required by applicable law or\@NL agreed to in writing, Licensor provides the Work (and each\@NL Contributor provides its Contributions) on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\@NL implied, including, without limitation, any warranties or conditions\@NL of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\@NL PARTICULAR PURPOSE. You are solely responsible for determining the\@NL appropriateness of using or redistributing the Work and assume any\@NL risks associated with Your exercise of permissions under this License.\@NL \@NL 8. Limitation of Liability. In no event and under no legal theory,\@NL whether in tort (including negligence), contract, or otherwise,\@NL unless required by applicable law (such as deliberate and grossly\@NL negligent acts) or agreed to in writing, shall any Contributor be\@NL liable to You for damages, including any direct, indirect, special,\@NL incidental, or consequential damages of any character arising as a\@NL result of this License or out of the use or inability to use the\@NL Work (including but not limited to damages for loss of goodwill,\@NL work stoppage, computer failure or malfunction, or any and all\@NL other commercial damages or losses), even if such Contributor\@NL has been advised of the possibility of such damages.\@NL \@NL 9. Accepting Warranty or Additional Liability. While redistributing\@NL the Work or Derivative Works thereof, You may choose to offer,\@NL and charge a fee for, acceptance of support, warranty, indemnity,\@NL or other liability obligations and/or rights consistent with this\@NL License. However, in accepting such obligations, You may act only\@NL on Your own behalf and on Your sole responsibility, not on behalf\@NL of any other Contributor, and only if You agree to indemnify,\@NL defend, and hold each Contributor harmless for any liability\@NL incurred by, or claims asserted against, such Contributor by reason\@NL of your accepting any such warranty or additional liability.\@NL \@NL END OF TERMS AND CONDITIONS\@NL \@NL APPENDIX: How to apply the Apache License to your work.\@NL \@NL To apply the Apache License to your work, attach the following\@NL boilerplate notice, with the fields enclosed by brackets "[]"\@NL replaced with your own identifying information. (Don't include\@NL the brackets!) The text should be enclosed in the appropriate\@NL comment syntax for the file format. We also recommend that a\@NL file or class name and description of purpose be included on the\@NL same "printed page" as the copyright notice for easier\@NL identification within third-party archives.\@NL \@NL Copyright [yyyy] [name of copyright owner]\@NL \@NL Licensed under the Apache License, Version 2.0 (the "License");\@NL you may not use this file except in compliance with the License.\@NL You may obtain a copy of the License at\@NL \@NL http://www.apache.org/licenses/LICENSE-2.0\@NL \@NL Unless required by applicable law or agreed to in writing, software\@NL distributed under the License is distributed on an "AS IS" BASIS,\@NL WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\@NL See the License for the specific language governing permissions and\@NL limitations under the License.\@NL## binary windows release\@NLNOTE: these libraries are redistributed ONLY with the binary\@NLcross-compiled Windows platform version of Nokogiri, both x86-mingw32\@NLand x64-mingw32.\@NL### zlib\@NLzlib license\@NLhttp://www.zlib.net/zlib_license.html\@NL Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler\@NL \@NL This software is provided 'as-is', without any express or implied\@NL warranty. In no event will the authors be held liable for any damages\@NL arising from the use of this software.\@NL \@NL Permission is granted to anyone to use this software for any purpose,\@NL including commercial applications, and to alter it and redistribute it\@NL freely, subject to the following restrictions:\@NL \@NL 1. The origin of this software must not be misrepresented; you must not\@NL claim that you wrote the original software. If you use this software\@NL in a product, an acknowledgment in the product documentation would be\@NL appreciated but is not required.\@NL 2. Altered source versions must be plainly marked as such, and must not be\@NL misrepresented as being the original software.\@NL 3. This notice may not be removed or altered from any source distribution.\@NL \@NL Jean-loup Gailly Mark Adler\@NL jloup@gzip.org madler@alumni.caltech.edu\@NL \@NL### libiconv\@NLLGPL\@NLhttps://www.gnu.org/software/libiconv/\@NL GNU LIBRARY GENERAL PUBLIC LICENSE\@NL Version 2, June 1991\@NL \@NL Copyright (C) 1991 Free Software Foundation, Inc.\@NL 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\@NL Everyone is permitted to copy and distribute verbatim copies\@NL of this license document, but changing it is not allowed.\@NL \@NL [This is the first released version of the library GPL. It is\@NL numbered 2 because it goes with version 2 of the ordinary GPL.]\@NL \@NL Preamble\@NL \@NL The licenses for most software are designed to take away your\@NL freedom to share and change it. By contrast, the GNU General Public\@NL Licenses are intended to guarantee your freedom to share and change\@NL free software--to make sure the software is free for all its users.\@NL \@NL This license, the Library General Public License, applies to some\@NL specially designated Free Software Foundation software, and to any\@NL other libraries whose authors decide to use it. You can use it for\@NL your libraries, too.\@NL \@NL When we speak of free software, we are referring to freedom, not\@NL price. Our General Public Licenses are designed to make sure that you\@NL have the freedom to distribute copies of free software (and charge for\@NL this service if you wish), that you receive source code or can get it\@NL if you want it, that you can change the software or use pieces of it\@NL in new free programs; and that you know you can do these things.\@NL \@NL To protect your rights, we need to make restrictions that forbid\@NL anyone to deny you these rights or to ask you to surrender the rights.\@NL These restrictions translate to certain responsibilities for you if\@NL you distribute copies of the library, or if you modify it.\@NL \@NL For example, if you distribute copies of the library, whether gratis\@NL or for a fee, you must give the recipients all the rights that we gave\@NL you. You must make sure that they, too, receive or can get the source\@NL code. If you link a program with the library, you must provide\@NL complete object files to the recipients so that they can relink them\@NL with the library, after making changes to the library and recompiling\@NL it. And you must show them these terms so they know their rights.\@NL \@NL Our method of protecting your rights has two steps: (1) copyright\@NL the library, and (2) offer you this license which gives you legal\@NL permission to copy, distribute and/or modify the library.\@NL \@NL Also, for each distributor's protection, we want to make certain\@NL that everyone understands that there is no warranty for this free\@NL library. If the library is modified by someone else and passed on, we\@NL want its recipients to know that what they have is not the original\@NL version, so that any problems introduced by others will not reflect on\@NL the original authors' reputations.\@NL \@NL Finally, any free program is threatened constantly by software\@NL patents. We wish to avoid the danger that companies distributing free\@NL software will individually obtain patent licenses, thus in effect\@NL transforming the program into proprietary software. To prevent this,\@NL we have made it clear that any patent must be licensed for everyone's\@NL free use or not licensed at all.\@NL \@NL Most GNU software, including some libraries, is covered by the ordinary\@NL GNU General Public License, which was designed for utility programs. This\@NL license, the GNU Library General Public License, applies to certain\@NL designated libraries. This license is quite different from the ordinary\@NL one; be sure to read it in full, and don't assume that anything in it is\@NL the same as in the ordinary license.\@NL \@NL The reason we have a separate public license for some libraries is that\@NL they blur the distinction we usually make between modifying or adding to a\@NL program and simply using it. Linking a program with a library, without\@NL changing the library, is in some sense simply using the library, and is\@NL analogous to running a utility program or application program. However, in\@NL a textual and legal sense, the linked executable is a combined work, a\@NL derivative of the original library, and the ordinary General Public License\@NL treats it as such.\@NL \@NL Because of this blurred distinction, using the ordinary General\@NL Public License for libraries did not effectively promote software\@NL sharing, because most developers did not use the libraries. We\@NL concluded that weaker conditions might promote sharing better.\@NL \@NL However, unrestricted linking of non-free programs would deprive the\@NL users of those programs of all benefit from the free status of the\@NL libraries themselves. This Library General Public License is intended to\@NL permit developers of non-free programs to use free libraries, while\@NL preserving your freedom as a user of such programs to change the free\@NL libraries that are incorporated in them. (We have not seen how to achieve\@NL this as regards changes in header files, but we have achieved it as regards\@NL changes in the actual functions of the Library.) The hope is that this\@NL will lead to faster development of free libraries.\@NL \@NL The precise terms and conditions for copying, distribution and\@NL modification follow. Pay close attention to the difference between a\@NL "work based on the library" and a "work that uses the library". The\@NL former contains code derived from the library, while the latter only\@NL works together with the library.\@NL \@NL Note that it is possible for a library to be covered by the ordinary\@NL General Public License rather than by this special one.\@NL \@NL GNU LIBRARY GENERAL PUBLIC LICENSE\@NL TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\@NL \@NL 0. This License Agreement applies to any software library which\@NL contains a notice placed by the copyright holder or other authorized\@NL party saying it may be distributed under the terms of this Library\@NL General Public License (also called "this License"). Each licensee is\@NL addressed as "you".\@NL \@NL A "library" means a collection of software functions and/or data\@NL prepared so as to be conveniently linked with application programs\@NL (which use some of those functions and data) to form executables.\@NL \@NL The "Library", below, refers to any such software library or work\@NL which has been distributed under these terms. A "work based on the\@NL Library" means either the Library or any derivative work under\@NL copyright law: that is to say, a work containing the Library or a\@NL portion of it, either verbatim or with modifications and/or translated\@NL straightforwardly into another language. (Hereinafter, translation is\@NL included without limitation in the term "modification".)\@NL \@NL "Source code" for a work means the preferred form of the work for\@NL making modifications to it. For a library, complete source code means\@NL all the source code for all modules it contains, plus any associated\@NL interface definition files, plus the scripts used to control compilation\@NL and installation of the library.\@NL \@NL Activities other than copying, distribution and modification are not\@NL covered by this License; they are outside its scope. The act of\@NL running a program using the Library is not restricted, and output from\@NL such a program is covered only if its contents constitute a work based\@NL on the Library (independent of the use of the Library in a tool for\@NL writing it). Whether that is true depends on what the Library does\@NL and what the program that uses the Library does.\@NL \@NL 1. You may copy and distribute verbatim copies of the Library's\@NL complete source code as you receive it, in any medium, provided that\@NL you conspicuously and appropriately publish on each copy an\@NL appropriate copyright notice and disclaimer of warranty; keep intact\@NL all the notices that refer to this License and to the absence of any\@NL warranty; and distribute a copy of this License along with the\@NL Library.\@NL \@NL You may charge a fee for the physical act of transferring a copy,\@NL and you may at your option offer warranty protection in exchange for a\@NL fee.\@NL \@NL 2. You may modify your copy or copies of the Library or any portion\@NL of it, thus forming a work based on the Library, and copy and\@NL distribute such modifications or work under the terms of Section 1\@NL above, provided that you also meet all of these conditions:\@NL \@NL a) The modified work must itself be a software library.\@NL \@NL b) You must cause the files modified to carry prominent notices\@NL stating that you changed the files and the date of any change.\@NL \@NL c) You must cause the whole of the work to be licensed at no\@NL charge to all third parties under the terms of this License.\@NL \@NL d) If a facility in the modified Library refers to a function or a\@NL table of data to be supplied by an application program that uses\@NL the facility, other than as an argument passed when the facility\@NL is invoked, then you must make a good faith effort to ensure that,\@NL in the event an application does not supply such function or\@NL table, the facility still operates, and performs whatever part of\@NL its purpose remains meaningful.\@NL \@NL (For example, a function in a library to compute square roots has\@NL a purpose that is entirely well-defined independent of the\@NL application. Therefore, Subsection 2d requires that any\@NL application-supplied function or table used by this function must\@NL be optional: if the application does not supply it, the square\@NL root function must still compute square roots.)\@NL \@NL These requirements apply to the modified work as a whole. If\@NL identifiable sections of that work are not derived from the Library,\@NL and can be reasonably considered independent and separate works in\@NL themselves, then this License, and its terms, do not apply to those\@NL sections when you distribute them as separate works. But when you\@NL distribute the same sections as part of a whole which is a work based\@NL on the Library, the distribution of the whole must be on the terms of\@NL this License, whose permissions for other licensees extend to the\@NL entire whole, and thus to each and every part regardless of who wrote\@NL it.\@NL \@NL Thus, it is not the intent of this section to claim rights or contest\@NL your rights to work written entirely by you; rather, the intent is to\@NL exercise the right to control the distribution of derivative or\@NL collective works based on the Library.\@NL \@NL In addition, mere aggregation of another work not based on the Library\@NL with the Library (or with a work based on the Library) on a volume of\@NL a storage or distribution medium does not bring the other work under\@NL the scope of this License.\@NL \@NL 3. You may opt to apply the terms of the ordinary GNU General Public\@NL License instead of this License to a given copy of the Library. To do\@NL this, you must alter all the notices that refer to this License, so\@NL that they refer to the ordinary GNU General Public License, version 2,\@NL instead of to this License. (If a newer version than version 2 of the\@NL ordinary GNU General Public License has appeared, then you can specify\@NL that version instead if you wish.) Do not make any other change in\@NL these notices.\@NL \@NL Once this change is made in a given copy, it is irreversible for\@NL that copy, so the ordinary GNU General Public License applies to all\@NL subsequent copies and derivative works made from that copy.\@NL \@NL This option is useful when you wish to copy part of the code of\@NL the Library into a program that is not a library.\@NL \@NL 4. You may copy and distribute the Library (or a portion or\@NL derivative of it, under Section 2) in object code or executable form\@NL under the terms of Sections 1 and 2 above provided that you accompany\@NL it with the complete corresponding machine-readable source code, which\@NL must be distributed under the terms of Sections 1 and 2 above on a\@NL medium customarily used for software interchange.\@NL \@NL If distribution of object code is made by offering access to copy\@NL from a designated place, then offering equivalent access to copy the\@NL source code from the same place satisfies the requirement to\@NL distribute the source code, even though third parties are not\@NL compelled to copy the source along with the object code.\@NL \@NL 5. A program that contains no derivative of any portion of the\@NL Library, but is designed to work with the Library by being compiled or\@NL linked with it, is called a "work that uses the Library". Such a\@NL work, in isolation, is not a derivative work of the Library, and\@NL therefore falls outside the scope of this License.\@NL \@NL However, linking a "work that uses the Library" with the Library\@NL creates an executable that is a derivative of the Library (because it\@NL contains portions of the Library), rather than a "work that uses the\@NL library". The executable is therefore covered by this License.\@NL Section 6 states terms for distribution of such executables.\@NL \@NL When a "work that uses the Library" uses material from a header file\@NL that is part of the Library, the object code for the work may be a\@NL derivative work of the Library even though the source code is not.\@NL Whether this is true is especially significant if the work can be\@NL linked without the Library, or if the work is itself a library. The\@NL threshold for this to be true is not precisely defined by law.\@NL \@NL If such an object file uses only numerical parameters, data\@NL structure layouts and accessors, and small macros and small inline\@NL functions (ten lines or less in length), then the use of the object\@NL file is unrestricted, regardless of whether it is legally a derivative\@NL work. (Executables containing this object code plus portions of the\@NL Library will still fall under Section 6.)\@NL \@NL Otherwise, if the work is a derivative of the Library, you may\@NL distribute the object code for the work under the terms of Section 6.\@NL Any executables containing that work also fall under Section 6,\@NL whether or not they are linked directly with the Library itself.\@NL \@NL 6. As an exception to the Sections above, you may also compile or\@NL link a "work that uses the Library" with the Library to produce a\@NL work containing portions of the Library, and distribute that work\@NL under terms of your choice, provided that the terms permit\@NL modification of the work for the customer's own use and reverse\@NL engineering for debugging such modifications.\@NL \@NL You must give prominent notice with each copy of the work that the\@NL Library is used in it and that the Library and its use are covered by\@NL this License. You must supply a copy of this License. If the work\@NL during execution displays copyright notices, you must include the\@NL copyright notice for the Library among them, as well as a reference\@NL directing the user to the copy of this License. Also, you must do one\@NL of these things:\@NL \@NL a) Accompany the work with the complete corresponding\@NL machine-readable source code for the Library including whatever\@NL changes were used in the work (which must be distributed under\@NL Sections 1 and 2 above); and, if the work is an executable linked\@NL with the Library, with the complete machine-readable "work that\@NL uses the Library", as object code and/or source code, so that the\@NL user can modify the Library and then relink to produce a modified\@NL executable containing the modified Library. (It is understood\@NL that the user who changes the contents of definitions files in the\@NL Library will not necessarily be able to recompile the application\@NL to use the modified definitions.)\@NL \@NL b) Accompany the work with a written offer, valid for at\@NL least three years, to give the same user the materials\@NL specified in Subsection 6a, above, for a charge no more\@NL than the cost of performing this distribution.\@NL \@NL c) If distribution of the work is made by offering access to copy\@NL from a designated place, offer equivalent access to copy the above\@NL specified materials from the same place.\@NL \@NL d) Verify that the user has already received a copy of these\@NL materials or that you have already sent this user a copy.\@NL \@NL For an executable, the required form of the "work that uses the\@NL Library" must include any data and utility programs needed for\@NL reproducing the executable from it. However, as a special exception,\@NL the source code distributed need not include anything that is normally\@NL distributed (in either source or binary form) with the major\@NL components (compiler, kernel, and so on) of the operating system on\@NL which the executable runs, unless that component itself accompanies\@NL the executable.\@NL \@NL It may happen that this requirement contradicts the license\@NL restrictions of other proprietary libraries that do not normally\@NL accompany the operating system. Such a contradiction means you cannot\@NL use both them and the Library together in an executable that you\@NL distribute.\@NL \@NL 7. You may place library facilities that are a work based on the\@NL Library side-by-side in a single library together with other library\@NL facilities not covered by this License, and distribute such a combined\@NL library, provided that the separate distribution of the work based on\@NL the Library and of the other library facilities is otherwise\@NL permitted, and provided that you do these two things:\@NL \@NL a) Accompany the combined library with a copy of the same work\@NL based on the Library, uncombined with any other library\@NL facilities. This must be distributed under the terms of the\@NL Sections above.\@NL \@NL b) Give prominent notice with the combined library of the fact\@NL that part of it is a work based on the Library, and explaining\@NL where to find the accompanying uncombined form of the same work.\@NL \@NL 8. You may not copy, modify, sublicense, link with, or distribute\@NL the Library except as expressly provided under this License. Any\@NL attempt otherwise to copy, modify, sublicense, link with, or\@NL distribute the Library is void, and will automatically terminate your\@NL rights under this License. However, parties who have received copies,\@NL or rights, from you under this License will not have their licenses\@NL terminated so long as such parties remain in full compliance.\@NL \@NL 9. You are not required to accept this License, since you have not\@NL signed it. However, nothing else grants you permission to modify or\@NL distribute the Library or its derivative works. These actions are\@NL prohibited by law if you do not accept this License. Therefore, by\@NL modifying or distributing the Library (or any work based on the\@NL Library), you indicate your acceptance of this License to do so, and\@NL all its terms and conditions for copying, distributing or modifying\@NL the Library or works based on it.\@NL \@NL 10. Each time you redistribute the Library (or any work based on the\@NL Library), the recipient automatically receives a license from the\@NL original licensor to copy, distribute, link with or modify the Library\@NL subject to these terms and conditions. You may not impose any further\@NL restrictions on the recipients' exercise of the rights granted herein.\@NL You are not responsible for enforcing compliance by third parties to\@NL this License.\@NL \@NL 11. If, as a consequence of a court judgment or allegation of patent\@NL infringement or for any other reason (not limited to patent issues),\@NL conditions are imposed on you (whether by court order, agreement or\@NL otherwise) that contradict the conditions of this License, they do not\@NL excuse you from the conditions of this License. If you cannot\@NL distribute so as to satisfy simultaneously your obligations under this\@NL License and any other pertinent obligations, then as a consequence you\@NL may not distribute the Library at all. For example, if a patent\@NL license would not permit royalty-free redistribution of the Library by\@NL all those who receive copies directly or indirectly through you, then\@NL the only way you could satisfy both it and this License would be to\@NL refrain entirely from distribution of the Library.\@NL \@NL If any portion of this section is held invalid or unenforceable under any\@NL particular circumstance, the balance of the section is intended to apply,\@NL and the section as a whole is intended to apply in other circumstances.\@NL \@NL It is not the purpose of this section to induce you to infringe any\@NL patents or other property right claims or to contest validity of any\@NL such claims; this section has the sole purpose of protecting the\@NL integrity of the free software distribution system which is\@NL implemented by public license practices. Many people have made\@NL generous contributions to the wide range of software distributed\@NL through that system in reliance on consistent application of that\@NL system; it is up to the author/donor to decide if he or she is willing\@NL to distribute software through any other system and a licensee cannot\@NL impose that choice.\@NL \@NL This section is intended to make thoroughly clear what is believed to\@NL be a consequence of the rest of this License.\@NL \@NL 12. If the distribution and/or use of the Library is restricted in\@NL certain countries either by patents or by copyrighted interfaces, the\@NL original copyright holder who places the Library under this License may add\@NL an explicit geographical distribution limitation excluding those countries,\@NL so that distribution is permitted only in or among countries not thus\@NL excluded. In such case, this License incorporates the limitation as if\@NL written in the body of this License.\@NL \@NL 13. The Free Software Foundation may publish revised and/or new\@NL versions of the Library General Public License from time to time.\@NL Such new versions will be similar in spirit to the present version,\@NL but may differ in detail to address new problems or concerns.\@NL \@NL Each version is given a distinguishing version number. If the Library\@NL specifies a version number of this License which applies to it and\@NL "any later version", you have the option of following the terms and\@NL conditions either of that version or of any later version published by\@NL the Free Software Foundation. If the Library does not specify a\@NL license version number, you may choose any version ever published by\@NL the Free Software Foundation.\@NL \@NL 14. If you wish to incorporate parts of the Library into other free\@NL programs whose distribution conditions are incompatible with these,\@NL write to the author to ask for permission. For software which is\@NL copyrighted by the Free Software Foundation, write to the Free\@NL Software Foundation; we sometimes make exceptions for this. Our\@NL decision will be guided by the two goals of preserving the free status\@NL of all derivatives of our free software and of promoting the sharing\@NL and reuse of software generally.\@NL \@NL NO WARRANTY\@NL \@NL 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\@NL WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\@NL EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\@NL OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY\@NL KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\@NL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\@NL PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\@NL LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\@NL THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\@NL \@NL 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\@NL WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\@NL AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\@NL FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\@NL CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\@NL LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\@NL RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\@NL FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\@NL SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\@NL DAMAGES.\@NL \@NL END OF TERMS AND CONDITIONS\@NL \@NL Appendix: How to Apply These Terms to Your New Libraries\@NL \@NL If you develop a new library, and you want it to be of the greatest\@NL possible use to the public, we recommend making it free software that\@NL everyone can redistribute and change. You can do so by permitting\@NL redistribution under these terms (or, alternatively, under the terms of the\@NL ordinary General Public License).\@NL \@NL To apply these terms, attach the following notices to the library. It is\@NL safest to attach them to the start of each source file to most effectively\@NL convey the exclusion of warranty; and each file should have at least the\@NL "copyright" line and a pointer to where the full notice is found.\@NL \@NL <one line to give the library's name and a brief idea of what it does.>\@NL Copyright (C) <year> <name of author>\@NL \@NL This library is free software; you can redistribute it and/or\@NL modify it under the terms of the GNU Library General Public\@NL License as published by the Free Software Foundation; either\@NL version 2 of the License, or (at your option) any later version.\@NL \@NL This library is distributed in the hope that it will be useful,\@NL but WITHOUT ANY WARRANTY; without even the implied warranty of\@NL MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\@NL Library General Public License for more details.\@NL \@NL You should have received a copy of the GNU Library General Public\@NL License along with this library; if not, write to the Free\@NL Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\@NL MA 02110-1301, USA\@NL \@NL Also add information on how to contact you by electronic and paper mail.\@NL \@NL You should also get your employer (if you work as a programmer) or your\@NL school, if any, to sign a "copyright disclaimer" for the library, if\@NL necessary. Here is a sample; alter the names:\@NL \@NL Yoyodyne, Inc., hereby disclaims all copyright interest in the\@NL library `Frob' (a library for tweaking knobs) written by James Random Hacker.\@NL \@NL <signature of Ty Coon>, 1 April 1990\@NL Ty Coon, President of Vice\@NL \@NL That's all there is to it!/Users/scott/.rvm/gems/ruby-2.4.6/gems/nokogiri-1.10.2
144oauth0.5.4MITCopyright (c) 2007 Blaine Cook, Larry Halff, Pelle Braendgaard\@NLPermission is hereby granted, free of charge, to any person obtaining\@NLa copy of this software and associated documentation files (the\@NL"Software"), to deal in the Software without restriction, including\@NLwithout limitation the rights to use, copy, modify, merge, publish,\@NLdistribute, sublicense, and/or sell copies of the Software, and to\@NLpermit persons to whom the Software is furnished to do so, subject to\@NLthe following conditions:\@NLThe above copyright notice and this permission notice shall be\@NLincluded in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\@NLEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\@NLMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\@NLNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\@NLLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\@NLOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\@NLWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/oauth-0.5.4
145oauth21.4.1MIThttps://github.com/oauth-xx/oauth2MIT License\@NLCopyright (c) 2011 - 2013 Michael Bleigh and Intridea, Inc.\@NLCopyright (c) 2017 - 2018 oauth-xx organization, https://github.com/oauth-xx\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all\@NLcopies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\@NLSOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/oauth2-1.4.1
146omniauth1.9.0MIThttps://github.com/omniauth/omniauthCopyright (c) 2010-2017 Michael Bleigh and Intridea, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-1.9.0
147omniauth-facebook5.0.0MIThttps://github.com/mkdynamic/omniauth-facebook# OmniAuth Facebook &nbsp;[![Build Status](https://secure.travis-ci.org/mkdynamic/omniauth-facebook.svg?branch=master)](https://travis-ci.org/mkdynamic/omniauth-facebook) [![Gem Version](https://img.shields.io/gem/v/omniauth-facebook.svg)](https://rubygems.org/gems/omniauth-facebook)\@NL📣 **NOTICE** We’re looking for maintainers to help keep this project up-to-date. If you are interested in helping please open an Issue expressing your interest. Thanks! 📣\@NL**These notes are based on master, please see tags for README pertaining to specific releases.**\@NLFacebook OAuth2 Strategy for OmniAuth.\@NLSupports OAuth 2.0 server-side and client-side flows. Read the Facebook docs for more details: http://developers.facebook.com/docs/authentication\@NL## Installing\@NLAdd to your `Gemfile`:\@NL```ruby\@NLgem 'omniauth-facebook'\@NL```\@NLThen `bundle install`.\@NL## Usage\@NL`OmniAuth::Strategies::Facebook` is simply a Rack middleware. Read the OmniAuth docs for detailed instructions: https://github.com/intridea/omniauth.\@NLHere's a quick example, adding the middleware to a Rails app in `config/initializers/omniauth.rb`:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']\@NLend\@NL```\@NL[See the example Sinatra app for full examples](https://github.com/mkdynamic/omniauth-facebook/blob/master/example/config.ru) of both the server and client-side flows (including using the Facebook Javascript SDK).\@NL## Configuring\@NLYou can configure several options, which you pass in to the `provider` method via a `Hash`:\@NLOption name | Default | Explanation\@NL--- | --- | ---\@NL`scope` | `email` | A comma-separated list of permissions you want to request from the user. See the Facebook docs for a full list of available permissions: https://developers.facebook.com/docs/reference/login/\@NL`display` | `page` | The display context to show the authentication page. Options are: `page`, `popup` and `touch`. Read the Facebook docs for more details: https://developers.facebook.com/docs/reference/dialogs/oauth/\@NL`image_size` | `square` | Set the size for the returned image url in the auth hash. Valid options include `square` (50x50), `small` (50 pixels wide, variable height), `normal` (100 pixels wide, variable height), or `large` (about 200 pixels wide, variable height). Additionally, you can request a picture of a specific size by setting this option to a hash with `:width` and `:height` as keys. This will return an available profile picture closest to the requested size and requested aspect ratio. If only `:width` or `:height` is specified, we will return a picture whose width or height is closest to the requested size, respectively.\@NL`info_fields` | 'name,email' | Specify exactly which fields should be returned when getting the user's info. Value should be a comma-separated string as per https://developers.facebook.com/docs/graph-api/reference/user/ (only `/me` endpoint).\@NL`locale` | | Specify locale which should be used when getting the user's info. Value should be locale string as per https://developers.facebook.com/docs/reference/api/locale/.\@NL`auth_type` | | Optionally specifies the requested authentication features as a comma-separated list, as per https://developers.facebook.com/docs/facebook-login/reauthentication/. Valid values are `https` (checks for the presence of the secure cookie and asks for re-authentication if it is not present), and `reauthenticate` (asks the user to re-authenticate unconditionally). Use 'rerequest' when you want to request premissions. Default is `nil`.\@NL`secure_image_url` | `false` | Set to `true` to use https for the avatar image url returned in the auth hash.\@NL`callback_url` / `callback_path` | | Specify a custom callback URL used during the server-side flow. Note this must be allowed by your app configuration on Facebook (see 'Valid OAuth redirect URIs' under the 'Advanced' settings section in the configuration for your Facebook app for more details).\@NLFor example, to request `email`, `user_birthday` and `read_stream` permissions and display the authentication page in a popup window:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'],\@NL scope: 'email,user_birthday,read_stream', display: 'popup'\@NLend\@NL```\@NL### API Version\@NLOmniAuth Facebook uses versioned API endpoints by default (current v2.10). You can configure a different version via `client_options` hash passed to `provider`, specifically you should change the version in the `site` and `authorize_url` parameters. For example, to change to v3.0 (assuming that exists):\@NL```ruby\@NLuse OmniAuth::Builder do\@NL provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'],\@NL client_options: {\@NL site: 'https://graph.facebook.com/v3.0',\@NL authorize_url: "https://www.facebook.com/v3.0/dialog/oauth"\@NL }\@NLend\@NL```\@NL### Per-Request Options\@NLIf you want to set the `display` format, `auth_type`, or `scope` on a per-request basis, you can just pass it to the OmniAuth request phase URL, for example: `/auth/facebook?display=popup` or `/auth/facebook?scope=email`.\@NL## Auth Hash\@NLHere's an example *Auth Hash* available in `request.env['omniauth.auth']`:\@NL```ruby\@NL{\@NL provider: 'facebook',\@NL uid: '1234567',\@NL info: {\@NL email: 'joe@bloggs.com',\@NL name: 'Joe Bloggs',\@NL first_name: 'Joe',\@NL last_name: 'Bloggs',\@NL image: 'http://graph.facebook.com/1234567/picture?type=square',\@NL verified: true\@NL },\@NL credentials: {\@NL token: 'ABCDEF...', # OAuth 2.0 access_token, which you may wish to store\@NL expires_at: 1321747205, # when the access token expires (it always will)\@NL expires: true # this will always be true\@NL },\@NL extra: {\@NL raw_info: {\@NL id: '1234567',\@NL name: 'Joe Bloggs',\@NL first_name: 'Joe',\@NL last_name: 'Bloggs',\@NL link: 'http://www.facebook.com/jbloggs',\@NL username: 'jbloggs',\@NL location: { id: '123456789', name: 'Palo Alto, California' },\@NL gender: 'male',\@NL email: 'joe@bloggs.com',\@NL timezone: -8,\@NL locale: 'en_US',\@NL verified: true,\@NL updated_time: '2011-11-11T06:21:03+0000',\@NL # ...\@NL }\@NL }\@NL}\@NL```\@NLThe precise information available may depend on the permissions which you request.\@NL## Client-side Flow with Facebook Javascript SDK\@NLYou can use the Facebook Javascript SDK with `FB.login`, and just hit the callback endpoint (`/auth/facebook/callback` by default) once the user has authenticated in the success callback.\@NL**Note that you must enable cookies in the `FB.init` config for this process to work.**\@NLSee the example Sinatra app under `example/` and read the [Facebook docs on Login for JavaScript](https://developers.facebook.com/docs/facebook-login/login-flow-for-web/) for more details.\@NL### How it Works\@NLThe client-side flow is supported by parsing the authorization code from the signed request which Facebook places in a cookie.\@NLWhen you call `/auth/facebook/callback` in the success callback of `FB.login` that will pass the cookie back to the server. omniauth-facebook will see this cookie and:\@NL1. parse it,\@NL2. extract the authorization code contained in it\@NL3. and hit Facebook and obtain an access token which will get placed in the `request.env['omniauth.auth']['credentials']` hash.\@NL## Token Expiry\@NLThe expiration time of the access token you obtain will depend on which flow you are using.\@NL### Client-Side Flow\@NLIf you use the client-side flow, Facebook will give you back a short lived access token (~ 2 hours).\@NLYou can exchange this short lived access token for a longer lived version. Read the [Facebook docs](https://developers.facebook.com/docs/facebook-login/access-tokens/) for more information on exchanging a short lived token for a long lived token.\@NL### Server-Side Flow\@NLIf you use the server-side flow, Facebook will give you back a longer lived access token (~ 60 days).\@NL## Supported Rubies\@NL- Ruby MRI (2.0+)\@NL## License\@NLCopyright (c) 2012 by Mark Dodwell\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-facebook-5.0.0
148omniauth-github1.3.0MIThttps://github.com/intridea/omniauth-githubCopyright (c) 2011 Michael Bleigh and Intridea, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\@NL# OmniAuth GitHub\@NLThis is the official OmniAuth strategy for authenticating to GitHub. To\@NLuse it, you'll need to sign up for an OAuth2 Application ID and Secret\@NLon the [GitHub Applications Page](https://github.com/settings/applications).\@NL## Basic Usage\@NL```ruby\@NLuse OmniAuth::Builder do\@NL provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET']\@NLend\@NL```\@NL## Github Enterprise Usage\@NL```ruby\@NLprovider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET'],\@NL {\@NL :client_options => {\@NL :site => 'https://github.YOURDOMAIN.com/api/v3',\@NL :authorize_url => 'https://github.YOURDOMAIN.com/login/oauth/authorize',\@NL :token_url => 'https://github.YOURDOMAIN.com/login/oauth/access_token',\@NL }\@NL }\@NL```\@NL## Scopes\@NLGitHub API v3 lets you set scopes to provide granular access to different types of data: \@NL```ruby\@NLuse OmniAuth::Builder do\@NL provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET'], scope: "user,repo,gist"\@NLend\@NL```\@NLMore info on [Scopes](http://developer.github.com/v3/oauth/#scopes).\@NL## License\@NLCopyright (c) 2011 Michael Bleigh and Intridea, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-github-1.3.0
149omniauth-google-oauth20.6.1MIThttps://github.com/zquestz/omniauth-google-oauth2[![Gem Version](https://badge.fury.io/rb/omniauth-google-oauth2.svg)](https://badge.fury.io/rb/omniauth-google-oauth2)\@NL[![Build Status](https://travis-ci.org/zquestz/omniauth-google-oauth2.svg)](https://travis-ci.org/zquestz/omniauth-google-oauth2)\@NL# OmniAuth Google OAuth2 Strategy\@NLStrategy to authenticate with Google via OAuth2 in OmniAuth.\@NLGet your API key at: https://code.google.com/apis/console/ Note the Client ID and the Client Secret.\@NLFor more details, read the Google docs: https://developers.google.com/accounts/docs/OAuth2\@NL## Installation\@NLAdd to your `Gemfile`:\@NL```ruby\@NLgem 'omniauth-google-oauth2'\@NL```\@NLThen `bundle install`.\@NL## Google API Setup\@NL* Go to 'https://console.developers.google.com'\@NL* Select your project.\@NL* Go to Credentials, then select the "OAuth consent screen" tab on top, and provide an 'EMAIL ADDRESS' and a 'PRODUCT NAME'\@NL* Wait 10 minutes for changes to take effect.\@NL## Usage\@NLHere's an example for adding the middleware to a Rails app in `config/initializers/omniauth.rb`:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET']\@NLend\@NL```\@NLYou can now access the OmniAuth Google OAuth2 URL: `/auth/google_oauth2`\@NLFor more examples please check out `examples/omni_auth.rb`\@NLNOTE: While developing your application, if you change the scope in the initializer you will need to restart your app server. Remember that either the 'email' or 'profile' scope is required!\@NL## Configuration\@NLYou can configure several options, which you pass in to the `provider` method via a hash:\@NL* `scope`: A comma-separated list of permissions you want to request from the user. See the [Google OAuth 2.0 Playground](https://developers.google.com/oauthplayground/) for a full list of available permissions. Caveats:\@NL * The `email` and `profile` scopes are used by default. By defining your own `scope`, you override these defaults, but Google requires at least one of `email` or `profile`, so make sure to add at least one of them to your scope!\@NL * Scopes starting with `https://www.googleapis.com/auth/` do not need that prefix specified. So while you can use the smaller scope `books` since that permission starts with the mentioned prefix, you should use the full scope URL `https://docs.google.com/feeds/` to access a user's docs, for example.\@NL* `redirect_uri`: Override the redirect_uri used by the gem.\@NL* `prompt`: A space-delimited list of string values that determines whether the user is re-prompted for authentication and/or consent. Possible values are:\@NL * `none`: No authentication or consent pages will be displayed; it will return an error if the user is not already authenticated and has not pre-configured consent for the requested scopes. This can be used as a method to check for existing authentication and/or consent.\@NL * `consent`: The user will always be prompted for consent, even if he has previously allowed access a given set of scopes.\@NL * `select_account`: The user will always be prompted to select a user account. This allows a user who has multiple current account sessions to select one amongst them.\@NL If no value is specified, the user only sees the authentication page if he is not logged in and only sees the consent page the first time he authorizes a given set of scopes.\@NL* `image_aspect_ratio`: The shape of the user's profile picture. Possible values are:\@NL * `original`: Picture maintains its original aspect ratio.\@NL * `square`: Picture presents equal width and height.\@NL Defaults to `original`.\@NL* `image_size`: The size of the user's profile picture. The image returned will have width equal to the given value and variable height, according to the `image_aspect_ratio` chosen. Additionally, a picture with specific width and height can be requested by setting this option to a hash with `width` and `height` as keys. If only `width` or `height` is specified, a picture whose width or height is closest to the requested size and requested aspect ratio will be returned. Defaults to the original width and height of the picture.\@NL* `name`: The name of the strategy. The default name is `google_oauth2` but it can be changed to any value, for example `google`. The OmniAuth URL will thus change to `/auth/google` and the `provider` key in the auth hash will then return `google`.\@NL* `access_type`: Defaults to `offline`, so a refresh token is sent to be used when the user is not present at the browser. Can be set to `online`. More about [offline access](https://developers.google.com/identity/protocols/OAuth2WebServer#offline)\@NL* `hd`: (Optional) Limit sign-in to a particular Google Apps hosted domain. This can be simply string `'domain.com'` or an array `%w(domain.com domain.co)`. More information at: https://developers.google.com/accounts/docs/OpenIDConnect#hd-param\@NL* `jwt_leeway`: Number of seconds passed to the JWT library as leeway. Defaults to 60 seconds.\@NL* `skip_jwt`: Skip JWT processing. This is for users who are seeing JWT decoding errors with the `iat` field. Always try adjusting the leeway before disabling JWT processing.\@NL* `login_hint`: When your app knows which user it is trying to authenticate, it can provide this parameter as a hint to the authentication server. Passing this hint suppresses the account chooser and either pre-fill the email box on the sign-in form, or select the proper session (if the user is using multiple sign-in), which can help you avoid problems that occur if your app logs in the wrong user account. The value can be either an email address or the sub string, which is equivalent to the user's Google+ ID.\@NL* `include_granted_scopes`: If this is provided with the value true, and the authorization request is granted, the authorization will include any previous authorizations granted to this user/application combination for other scopes. See Google's [Incremental Authorization](https://developers.google.com/accounts/docs/OAuth2WebServer#incrementalAuth) for additional details.\@NL* `openid_realm`: Set the OpenID realm value, to allow upgrading from OpenID based authentication to OAuth 2 based authentication. When this is set correctly an `openid_id` value will be set in `[:extra][:id_info]` in the authentication hash with the value of the user's OpenID ID URL.\@NLHere's an example of a possible configuration where the strategy name is changed, the user is asked for extra permissions, the user is always prompted to select his account when logging in and the user's profile picture is returned as a thumbnail:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET'],\@NL {\@NL scope: 'userinfo.email, userinfo.profile, http://gdata.youtube.com',\@NL prompt: 'select_account',\@NL image_aspect_ratio: 'square',\@NL image_size: 50\@NL }\@NLend\@NL```\@NL## Auth Hash\@NLHere's an example of an authentication hash available in the callback by accessing `request.env['omniauth.auth']`:\@NL```ruby\@NL{\@NL "provider" => "google_oauth2",\@NL "uid" => "100000000000000000000",\@NL "info" => {\@NL "name" => "John Smith",\@NL "email" => "john@example.com",\@NL "first_name" => "John",\@NL "last_name" => "Smith",\@NL "image" => "https://lh4.googleusercontent.com/photo.jpg",\@NL "urls" => {\@NL "google" => "https://plus.google.com/+JohnSmith"\@NL }\@NL },\@NL "credentials" => {\@NL "token" => "TOKEN",\@NL "refresh_token" => "REFRESH_TOKEN",\@NL "expires_at" => 1496120719,\@NL "expires" => true\@NL },\@NL "extra" => {\@NL "id_token" => "ID_TOKEN",\@NL "id_info" => {\@NL "azp" => "APP_ID",\@NL "aud" => "APP_ID",\@NL "sub" => "100000000000000000000",\@NL "email" => "john@example.com",\@NL "email_verified" => true,\@NL "at_hash" => "HK6E_P6Dh8Y93mRNtsDB1Q",\@NL "iss" => "accounts.google.com",\@NL "iat" => 1496117119,\@NL "exp" => 1496120719\@NL },\@NL "raw_info" => {\@NL "sub" => "100000000000000000000",\@NL "name" => "John Smith",\@NL "given_name" => "John",\@NL "family_name" => "Smith",\@NL "profile" => "https://plus.google.com/+JohnSmith",\@NL "picture" => "https://lh4.googleusercontent.com/photo.jpg?sz=50",\@NL "email" => "john@example.com",\@NL "email_verified" => "true",\@NL "locale" => "en",\@NL "hd" => "company.com"\@NL }\@NL }\@NL}\@NL```\@NL### Devise\@NLFirst define your application id and secret in `config/initializers/devise.rb`. Do not use the snippet mentioned in the [Usage](https://github.com/zquestz/omniauth-google-oauth2#usage) section.\@NLConfiguration options can be passed as the last parameter here as key/value pairs.\@NL```ruby\@NLconfig.omniauth :google_oauth2, 'GOOGLE_CLIENT_ID', 'GOOGLE_CLIENT_SECRET', {}\@NL```\@NLNOTE: If you are using this gem with devise with above snippet in `config/initializers/devise.rb` then do not create `config/initializers/omniauth.rb` which will conflict with devise configurations.\@NLThen add the following to 'config/routes.rb' so the callback routes are defined.\@NL```ruby\@NLdevise_for :users, controllers: { omniauth_callbacks: 'users/omniauth_callbacks' }\@NL```\@NLMake sure your model is omniauthable. Generally this is "/app/models/user.rb"\@NL```ruby\@NLdevise :omniauthable, omniauth_providers: [:google_oauth2]\@NL```\@NLThen make sure your callbacks controller is setup.\@NL```ruby\@NLclass Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController\@NL def google_oauth2\@NL # You need to implement the method below in your model (e.g. app/models/user.rb)\@NL @user = User.from_omniauth(request.env['omniauth.auth'])\@NL if @user.persisted?\@NL flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', kind: 'Google'\@NL sign_in_and_redirect @user, event: :authentication\@NL else\@NL session['devise.google_data'] = request.env['omniauth.auth'].except(:extra) # Removing extra as it can overflow some session stores\@NL redirect_to new_user_registration_url, alert: @user.errors.full_messages.join("\n")\@NL end\@NL end\@NLend\@NL```\@NLand bind to or create the user\@NL```ruby\@NLdef self.from_omniauth(access_token)\@NL data = access_token.info\@NL user = User.where(email: data['email']).first\@NL # Uncomment the section below if you want users to be created if they don't exist\@NL # unless user\@NL # user = User.create(name: data['name'],\@NL # email: data['email'],\@NL # password: Devise.friendly_token[0,20]\@NL # )\@NL # end\@NL user\@NLend\@NL```\@NLFor your views you can login using:\@NL```erb\@NL<%= link_to "Sign in with Google", user_google_oauth2_omniauth_authorize_path %>\@NL<%# Devise prior 4.1.0: %>\@NL<%= link_to "Sign in with Google", user_omniauth_authorize_path(:google_oauth2) %>\@NL```\@NLAn overview is available at https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview\@NL### One-time Code Flow (Hybrid Authentication)\@NLGoogle describes the One-time Code Flow [here](https://developers.google.com/+/web/signin/server-side-flow). This hybrid authentication flow has significant functional and security advantages over a pure server-side or pure client-side flow. The following steps occur in this flow:\@NL1. The client (web browser) authenticates the user directly via Google's JS API. During this process assorted modals may be rendered by Google.\@NL2. On successful authentication, Google returns a one-time use code, which requires the Google client secret (which is only available server-side).\@NL3. Using a AJAX request, the code is POSTed to the Omniauth Google OAuth2 callback.\@NL4. The Omniauth Google OAuth2 gem will validate the code via a server-side request to Google. If the code is valid, then Google will return an access token and, if this is the first time this user is authenticating against this application, a refresh token. Both of these should be stored on the server. The response to the AJAX request indicates the success or failure of this process.\@NLThis flow is immune to replay attacks, and conveys no useful information to a man in the middle.\@NLThe omniauth-google-oauth2 gem supports this mode of operation out of the box. Implementors simply need to add the appropriate JavaScript to their web page, and they can take advantage of this flow. An example JavaScript snippet follows.\@NL```javascript\@NL// Basic hybrid auth example following the pattern at:\@NL// https://developers.google.com/identity/sign-in/web/reference\@NL<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>\@NL...\@NLfunction init() {\@NL gapi.load('auth2', function() {\@NL // Ready.\@NL $('.google-login-button').click(function(e) {\@NL e.preventDefault();\@NL \@NL gapi.auth2.authorize({\@NL client_id: 'YOUR_CLIENT_ID',\@NL cookie_policy: 'single_host_origin',\@NL scope: 'email profile',\@NL response_type: 'code'\@NL }, function(response) {\@NL if (response && !response.error) {\@NL // google authentication succeed, now post data to server.\@NL jQuery.ajax({type: 'POST', url: '/auth/google_oauth2/callback', data: response,\@NL success: function(data) {\@NL // response from server\@NL }\@NL }); \@NL } else {\@NL // google authentication failed\@NL }\@NL });\@NL });\@NL });\@NL};\@NL```\@NL#### Note about mobile clients (iOS, Android)\@NLThe documentation at https://developers.google.com/identity/sign-in/ios/offline-access specifies the _REDIRECT_URI_ to be either a set value or an EMPTY string for mobile logins to work. Else, you will run into _redirect_uri_mismatch_ errors.\@NLIn that case, ensure to send an additional parameter `redirect_uri=` (empty string) to the `/auth/google_oauth2/callback` URL from your mobile device.\@NL#### Note about CORS\@NLIf you're making POST requests to `/auth/google_oauth2/callback` from another domain, then you need to make sure `'X-Requested-With': 'XMLHttpRequest'` header is included with your request, otherwise your server might respond with `OAuth2::Error, : Invalid Value` error.\@NL## Fixing Protocol Mismatch for `redirect_uri` in Rails\@NLJust set the `full_host` in OmniAuth based on the Rails.env.\@NL```\@NL# config/initializers/omniauth.rb\@NLOmniAuth.config.full_host = Rails.env.production? ? 'https://domain.com' : 'http://localhost:3000'\@NL```\@NL## License\@NLCopyright (c) 2018 by Josh Ellithorpe\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-google-oauth2-0.6.1
150omniauth-oauth1.1.0MIThttps://github.com/intridea/omniauth-oauthCopyright (C) 2014 Michael Bleigh, Erik Michaels-Ober and Intridea, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-oauth-1.1.0
151omniauth-oauth21.6.0MIThttps://github.com/omniauth/omniauth-oauth2Copyright (C) 2014 Michael Bleigh, Erik Michaels-Ober and Intridea, Inc.\@NLPermission is hereby granted, free of charge, to any person obtaining a copy\@NLof this software and associated documentation files (the "Software"), to deal\@NLin the Software without restriction, including without limitation the rights\@NLto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\@NLcopies of the Software, and to permit persons to whom the Software is\@NLfurnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in\@NLall copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\@NLIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\@NLFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\@NLAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\@NLLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\@NLOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\@NLTHE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-oauth2-1.6.0
152omniauth-twitter1.4.0MIThttps://github.com/arunagw/omniauth-twitter# OmniAuth Twitter\@NL[![Gem Version](https://badge.fury.io/rb/omniauth-twitter.svg)](http://badge.fury.io/rb/omniauth-twitter)\@NL[![CI Build Status](https://secure.travis-ci.org/arunagw/omniauth-twitter.svg?branch=master)](http://travis-ci.org/arunagw/omniauth-twitter)\@NL[![Code Climate](https://codeclimate.com/github/arunagw/omniauth-twitter.png)](https://codeclimate.com/github/arunagw/omniauth-twitter)\@NLThis gem contains the Twitter strategy for OmniAuth.\@NLTwitter offers a few different methods of integration. This strategy implements the browser variant of the "[Sign in with Twitter](https://dev.twitter.com/docs/auth/implementing-sign-twitter)" flow.\@NLTwitter uses OAuth 1.0a. Twitter's developer area contains ample documentation on how it implements this, so check that out if you are really interested in the details.\@NL## Before You Begin\@NLYou should have already installed OmniAuth into your app; if not, read the [OmniAuth README](https://github.com/intridea/omniauth) to get started.\@NLNow sign in into the [Twitter developer area](https://dev.twitter.com/apps) and create an application. Take note of your API Key and API Secret (not the Access Token and Access Token Secret) because that is what your web application will use to authenticate against the Twitter API. Make sure to set a callback URL or else you may get authentication errors. (It doesn't matter what it is, just that it is set.)\@NL## Using This Strategy\@NLFirst start by adding this gem to your Gemfile:\@NL```ruby\@NLgem 'omniauth-twitter'\@NL```\@NLIf you need to use the latest HEAD version, you can do so with:\@NL```ruby\@NLgem 'omniauth-twitter', :github => 'arunagw/omniauth-twitter'\@NL```\@NLNext, tell OmniAuth about this provider. For a Rails app, your `config/initializers/omniauth.rb` file should look like this:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :twitter, "API_KEY", "API_SECRET"\@NLend\@NL```\@NLReplace `"API_KEY"` and `"API_SECRET"` with the appropriate values you obtained [earlier](https://apps.twitter.com).\@NL## Authentication Options\@NLTwitter supports a [few options](https://dev.twitter.com/docs/api/1/get/oauth/authenticate) when authenticating. Usually you would specify these options as query parameters to the Twitter API authentication url (`https://api.twitter.com/oauth/authenticate` by default). With OmniAuth, of course, you use `http://yourapp.com/auth/twitter` instead. Because of this, this OmniAuth provider will pick up the query parameters you pass to the `/auth/twitter` URL and re-use them when making the call to the Twitter API.\@NLThe options are:\@NL* **force_login** - This option sends the user to a sign-in screen to enter their Twitter credentials, even if they are already signed in. This is handy when your application supports multiple Twitter accounts and you want to ensure the correct user is signed in. *Example:* `http://yoursite.com/auth/twitter?force_login=true`\@NL* **screen_name** - This option implies **force_login**, except the screen name field is pre-filled with a particular value. *Example:* `http://yoursite.com/auth/twitter?screen_name=jim`\@NL* **lang** - The language used in the Twitter prompt. This is useful for adding i18n support since the language of the prompt can be dynamically set for each user. *Example:* `http://yoursite.com/auth/twitter?lang=pt`\@NL* **secure_image_url** - Set to `true` to use https for the user's image url. Default is `false`.\@NL* **image_size**: This option defines the size of the user's image. Valid options include `mini` (24x24), `normal` (48x48), `bigger` (73x73) and `original` (the size of the image originally uploaded). Default is `normal`.\@NL* **x_auth_access_type** - This option (described [here](https://dev.twitter.com/docs/api/1/post/oauth/request_token)) lets you request the level of access that your app will have to the Twitter account in question. *Example:* `http://yoursite.com/auth/twitter?x_auth_access_type=read`\@NL* **use_authorize** - There are actually two URLs you can use against the Twitter API. As mentioned, the default is `https://api.twitter.com/oauth/authenticate`, but you also have `https://api.twitter.com/oauth/authorize`. Passing this option as `true` will use the second URL rather than the first. What's the difference? As described [here](https://dev.twitter.com/docs/api/1/get/oauth/authenticate), with `authenticate`, if your user has already granted permission to your application, Twitter will redirect straight back to your application, whereas `authorize` forces the user to go through the "grant permission" screen again. For certain use cases this may be necessary. *Example:* `http://yoursite.com/auth/twitter?use_authorize=true`. *Note:* You must have "Allow this application to be used to Sign in with Twitter" checked in [your application's settings](https://dev.twitter.com/apps) - without it your user will be asked to authorize your application each time they log in.\@NLHere's an example of a possible configuration where the the user's original profile picture is returned over https, the user is always prompted to sign-in and the default language of the Twitter prompt is changed:\@NL```ruby\@NLRails.application.config.middleware.use OmniAuth::Builder do\@NL provider :twitter, "API_KEY", "API_SECRET",\@NL {\@NL :secure_image_url => 'true',\@NL :image_size => 'original',\@NL :authorize_params => {\@NL :force_login => 'true',\@NL :lang => 'pt'\@NL }\@NL }\@NLend\@NL```\@NL## Authentication Hash\@NLAn example auth hash available in `request.env['omniauth.auth']`:\@NL```ruby\@NL{\@NL :provider => "twitter",\@NL :uid => "123456",\@NL :info => {\@NL :nickname => "johnqpublic",\@NL :name => "John Q Public",\@NL :location => "Anytown, USA",\@NL :image => "http://si0.twimg.com/sticky/default_profile_images/default_profile_2_normal.png",\@NL :description => "a very normal guy.",\@NL :urls => {\@NL :Website => nil,\@NL :Twitter => "https://twitter.com/johnqpublic"\@NL }\@NL },\@NL :credentials => {\@NL :token => "a1b2c3d4...", # The OAuth 2.0 access token\@NL :secret => "abcdef1234"\@NL },\@NL :extra => {\@NL :access_token => "", # An OAuth::AccessToken object\@NL :raw_info => {\@NL :name => "John Q Public",\@NL :listed_count => 0,\@NL :profile_sidebar_border_color => "181A1E",\@NL :url => nil,\@NL :lang => "en",\@NL :statuses_count => 129,\@NL :profile_image_url => "http://si0.twimg.com/sticky/default_profile_images/default_profile_2_normal.png",\@NL :profile_background_image_url_https => "https://twimg0-a.akamaihd.net/profile_background_images/229171796/pattern_036.gif",\@NL :location => "Anytown, USA",\@NL :time_zone => "Chicago",\@NL :follow_request_sent => false,\@NL :id => 123456,\@NL :profile_background_tile => true,\@NL :profile_sidebar_fill_color => "666666",\@NL :followers_count => 1,\@NL :default_profile_image => false,\@NL :screen_name => "",\@NL :following => false,\@NL :utc_offset => -3600,\@NL :verified => false,\@NL :favourites_count => 0,\@NL :profile_background_color => "1A1B1F",\@NL :is_translator => false,\@NL :friends_count => 1,\@NL :notifications => false,\@NL :geo_enabled => true,\@NL :profile_background_image_url => "http://twimg0-a.akamaihd.net/profile_background_images/229171796/pattern_036.gif",\@NL :protected => false,\@NL :description => "a very normal guy.",\@NL :profile_link_color => "2FC2EF",\@NL :created_at => "Thu Jul 4 00:00:00 +0000 2013",\@NL :id_str => "123456",\@NL :profile_image_url_https => "https://si0.twimg.com/sticky/default_profile_images/default_profile_2_normal.png",\@NL :default_profile => false,\@NL :profile_use_background_image => false,\@NL :entities => {\@NL :description => {\@NL :urls => []\@NL }\@NL },\@NL :profile_text_color => "666666",\@NL :contributors_enabled => false\@NL }\@NL }\@NL}\@NL```\@NL## Watch the RailsCast\@NLRyan Bates has put together an excellent RailsCast on OmniAuth:\@NL[![RailsCast #241](http://railscasts.com/static/episodes/stills/241-simple-omniauth-revised.png "RailsCast #241 - Simple OmniAuth (revised)")](http://railscasts.com/episodes/241-simple-omniauth-revised)\@NL## Supported Rubies\@NLOmniAuth Twitter is tested under 2.1.x, 2.2.x and JRuby.\@NLIf you use its gem on ruby 1.9.x, 2.0.x, or Rubinius use version v1.2.1 .\@NL## Contributing\@NLPlease read the [contribution guidelines](CONTRIBUTING.md) for some information on how to get started. No contribution is too small.\@NL## License\@NLCopyright (c) 2011 by Arun Agrawal\@NLPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\@NLThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\@NLTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./Users/scott/.rvm/gems/ruby-2.4.6/gems/omniauth-twitter-1.4.0
The file is too large to be shown. View Raw