#!/usr/bin/env ruby
# RubyEncoder v2.4.1.1
if not self.respond_to?(:RGLoader_load,:include_private) then _d = _d0 = File.expand_path(File.dirname(__FILE__)); while 1 do _f = _d + '/rgloader/loader.rb'; break if File.exist?(_f); _d1 = File.dirname(_d); if _d1 == _d then raise "Ruby script '"+__FILE__+"' is protected by RubyEncoder and requires a RubyEncoder loader to be installed. Please visit the http://www.rubyencoder.com/loaders/ RubyEncoder web site to download the required loader and unpack it into '"+_d0+"/rgloader/' directory in order to run this protected file."; exit; else _d = _d1; end; end; require _f; end; RGLoader_load('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');
