|  | @@ -16,23 +16,26 @@ var require;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  require = function (require) {
 | 
	
		
			
				|  |  |      var scripts = document.getElementsByTagName("script");
 | 
	
		
			
				|  |  | -    var src = scripts[ scripts.length - 1 ].src;
 | 
	
		
			
				|  |  | +    var me = scripts[scripts.length - 1];
 | 
	
		
			
				|  |  | +    var src = me.src;
 | 
	
		
			
				|  |  |      // strip the last two elements from the URL
 | 
	
		
			
				|  |  | -    // e.g. http://app.com/lib/script.js -> http://app.com/
 | 
	
		
			
				|  |  | +    // e.g. http://app.com/amber/support/amber.js -> http://app.com/amber
 | 
	
		
			
				|  |  |      var amber_home = resolveViaDOM(src).replace(/\/[^\/]+\/[^\/]+$/, "");
 | 
	
		
			
				|  |  | -    // strip the last element from the URL
 | 
	
		
			
				|  |  | -    // e.g. http://app.com/index.html -> http://app.com/
 | 
	
		
			
				|  |  | -    var document_home = window.location.href.replace(/\/[^\/]+$/, "");
 | 
	
		
			
				|  |  | +    // In case of nonstandard deployment, you can specify libraries placement directly ...
 | 
	
		
			
				|  |  | +    var library_home = me.hasAttribute('data-libs') && me.getAttribute('data-libs');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    // at the present moment, bower tries to have flat hierarchy,
 | 
	
		
			
				|  |  | -    // which leads to two possible scenarios:
 | 
	
		
			
				|  |  | -    // 1. amber itself was deployed via bower,
 | 
	
		
			
				|  |  | -    //    its libraries are next to it; document_home from above covers this
 | 
	
		
			
				|  |  | -    // 2. amber was deployed in different fashion,
 | 
	
		
			
				|  |  | -    //    its libraries are included by bower locally; document_home is fixed below
 | 
	
		
			
				|  |  | -    // The detection is done by looking for '/bower_components/' in amber path.
 | 
	
		
			
				|  |  | -    if (!amber_home.match(/\/bower_components\//)) {
 | 
	
		
			
				|  |  | -        document_home = amber_home;
 | 
	
		
			
				|  |  | +    // ... otherwise, this heuristics is used:
 | 
	
		
			
				|  |  | +    if (!library_home) {
 | 
	
		
			
				|  |  | +        // At the present moment, bower tries to have flat hierarchy,
 | 
	
		
			
				|  |  | +        // which leads to two possible scenarios:
 | 
	
		
			
				|  |  | +        // 1. amber itself was deployed via bower,
 | 
	
		
			
				|  |  | +        //    its libraries are at the same bower dir
 | 
	
		
			
				|  |  | +        //    where amber itself is placed
 | 
	
		
			
				|  |  | +        // 2. amber was deployed in different fashion,
 | 
	
		
			
				|  |  | +        //    its libraries are included by bower locally, inside amber
 | 
	
		
			
				|  |  | +        // The detection is done by looking for '/bower_components/' in amber path.
 | 
	
		
			
				|  |  | +        var match = amber_home.match(/^(.*\/bower_components)\//);
 | 
	
		
			
				|  |  | +        library_home = match ? match[1] : amber_home + '/bower_components';
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      function resolveViaDOM(url) {
 | 
	
	
		
			
				|  | @@ -46,12 +49,12 @@ require = function (require) {
 | 
	
		
			
				|  |  |              'amber': amber_home + '/support',
 | 
	
		
			
				|  |  |              'amber_vm': amber_home + '/support',
 | 
	
		
			
				|  |  |              'amber_css': amber_home + '/css',
 | 
	
		
			
				|  |  | -            'amber_lib': document_home + '/bower_components',
 | 
	
		
			
				|  |  | +            'amber_lib': library_home,
 | 
	
		
			
				|  |  |              'amber_inc': amber_home + '/support',
 | 
	
		
			
				|  |  |              'amber_core': amber_home + '/js',
 | 
	
		
			
				|  |  |              'amber_core/_source': amber_home + '/st',
 | 
	
		
			
				|  |  |              'amber_html': amber_home,
 | 
	
		
			
				|  |  | -            'jquery': document_home + '/bower_components/jquery/jquery.min',
 | 
	
		
			
				|  |  | +            'jquery': library_home + '/jquery/jquery.min',
 | 
	
		
			
				|  |  |              'jquery-ui': amber_home + '/support/jQuery/jquery-ui-1.8.24.custom.min'
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          map: {
 |