/*! Select2 4.0.1-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();!function(){var r=CryptoJS,h=r.lib.WordArray;r.enc.Base64={stringify:function(r){var a=r.words,t=r.sigBytes,n=this._map;r.clamp(),r=[];for(var i=0;i>>2]>>>24-i%4*8&255)<<16|(a[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|a[i+2>>>2]>>>24-(i+2)%4*8&255,f=0;f<4&&i+.75*f>>6*(3-f)&63));if(a=n.charAt(64))for(;r.length%4;)r.push(a);return r.join("")},parse:function(r){var a=r.length,t=this._map;!(n=t.charAt(64))||-1!=(n=r.indexOf(n))&&(a=n);for(var n=[],i=0,e=0;e>>6-e%4*2;n[i>>>2]|=(f|c)<<24-i%4*8,i++}return h.create(n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}();/*! * imagesLoaded PACKAGED v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ /** * EvEmitter v1.0.1 * Lil' event emitter * MIT License */ /* jshint unused: true, undef: true, strict: true */ ( function( global, factory ) { // universal module definition /* jshint strict: false */ /* globals define, module */ if ( typeof define == 'function' && define.amd ) { // AMD - RequireJS define( 'ev-emitter/ev-emitter',factory ); } else if ( typeof module == 'object' && module.exports ) { // CommonJS - Browserify, Webpack module.exports = factory(); } else { // Browser globals global.EvEmitter = factory(); } }( this, function() { function EvEmitter() {} var proto = EvEmitter.prototype; proto.on = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // set events hash var events = this._events = this._events || {}; // set listeners array var listeners = events[ eventName ] = events[ eventName ] || []; // only add once if ( listeners.indexOf( listener ) == -1 ) { listeners.push( listener ); } return this; }; proto.once = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // add event this.on( eventName, listener ); // set once flag // set onceEvents hash var onceEvents = this._onceEvents = this._onceEvents || {}; // set onceListeners array var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || []; // set flag onceListeners[ listener ] = true; return this; }; proto.off = function( eventName, listener ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var index = listeners.indexOf( listener ); if ( index != -1 ) { listeners.splice( index, 1 ); } return this; }; proto.emitEvent = function( eventName, args ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var i = 0; var listener = listeners[i]; args = args || []; // once stuff var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; while ( listener ) { var isOnce = onceListeners && onceListeners[ listener ]; if ( isOnce ) { // remove listener // remove before trigger to prevent recursion this.off( eventName, listener ); // unset once flag delete onceListeners[ listener ]; } // trigger listener listener.apply( this, args ); // get next listener i += isOnce ? 0 : 1; listener = listeners[i]; } return this; }; return EvEmitter; })); /*! * imagesLoaded v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ ( function( window, factory ) { 'use strict'; // universal module definition /*global define: false, module: false, require: false */ if ( typeof define == 'function' && define.amd ) { // AMD define( [ 'ev-emitter/ev-emitter' ], function( EvEmitter ) { return factory( window, EvEmitter ); }); } else if ( typeof module == 'object' && module.exports ) { // CommonJS module.exports = factory( window, require('ev-emitter') ); } else { // browser global window.imagesLoaded = factory( window, window.EvEmitter ); } })( window, // -------------------------- factory -------------------------- // function factory( window, EvEmitter ) { var $ = window.jQuery; var console = window.console; // -------------------------- helpers -------------------------- // // extend objects function extend( a, b ) { for ( var prop in b ) { a[ prop ] = b[ prop ]; } return a; } // turn element or nodeList into an array function makeArray( obj ) { var ary = []; if ( Array.isArray( obj ) ) { // use object if already an array ary = obj; } else if ( typeof obj.length == 'number' ) { // convert nodeList to array for ( var i=0; i < obj.length; i++ ) { ary.push( obj[i] ); } } else { // array of single index ary.push( obj ); } return ary; } // -------------------------- imagesLoaded -------------------------- // /** * @param {Array, Element, NodeList, String} elem * @param {Object or Function} options - if function, use as callback * @param {Function} onAlways - callback function */ function ImagesLoaded( elem, options, onAlways ) { // coerce ImagesLoaded() without new, to be new ImagesLoaded() if ( !( this instanceof ImagesLoaded ) ) { return new ImagesLoaded( elem, options, onAlways ); } // use elem as selector string if ( typeof elem == 'string' ) { elem = document.querySelectorAll( elem ); } this.elements = makeArray( elem ); this.options = extend( {}, this.options ); if ( typeof options == 'function' ) { onAlways = options; } else { extend( this.options, options ); } if ( onAlways ) { this.on( 'always', onAlways ); } this.getImages(); if ( $ ) { // add jQuery Deferred object this.jqDeferred = new $.Deferred(); } // HACK check async to allow time to bind listeners setTimeout( function() { this.check(); }.bind( this )); } ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); ImagesLoaded.prototype.options = {}; ImagesLoaded.prototype.getImages = function() { this.images = []; // filter & find items if we have an item selector this.elements.forEach( this.addElementImages, this ); }; /** * @param {Node} element */ ImagesLoaded.prototype.addElementImages = function( elem ) { // filter siblings if ( elem.nodeName == 'IMG' ) { this.addImage( elem ); } // get background image on element if ( this.options.background === true ) { this.addElementBackgroundImages( elem ); } // find children // no non-element nodes, #143 var nodeType = elem.nodeType; if ( !nodeType || !elementNodeTypes[ nodeType ] ) { return; } var childImgs = elem.querySelectorAll('img'); // concat childElems to filterFound array for ( var i=0; i < childImgs.length; i++ ) { var img = childImgs[i]; this.addImage( img ); } // get child background images if ( typeof this.options.background == 'string' ) { var children = elem.querySelectorAll( this.options.background ); for ( i=0; i < children.length; i++ ) { var child = children[i]; this.addElementBackgroundImages( child ); } } }; var elementNodeTypes = { 1: true, 9: true, 11: true }; ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { var style = getComputedStyle( elem ); if ( !style ) { // Firefox returns null if in a hidden iframe https://bugzil.la/548397 return; } // get url inside url("...") var reURL = /url\((['"])?(.*?)\1\)/gi; var matches = reURL.exec( style.backgroundImage ); while ( matches !== null ) { var url = matches && matches[2]; if ( url ) { this.addBackground( url, elem ); } matches = reURL.exec( style.backgroundImage ); } }; /** * @param {Image} img */ ImagesLoaded.prototype.addImage = function( img ) { var loadingImage = new LoadingImage( img ); this.images.push( loadingImage ); }; ImagesLoaded.prototype.addBackground = function( url, elem ) { var background = new Background( url, elem ); this.images.push( background ); }; ImagesLoaded.prototype.check = function() { var _this = this; this.progressedCount = 0; this.hasAnyBroken = false; // complete if no images if ( !this.images.length ) { this.complete(); return; } function onProgress( image, elem, message ) { // HACK - Chrome triggers event before object properties have changed. #83 setTimeout( function() { _this.progress( image, elem, message ); }); } this.images.forEach( function( loadingImage ) { loadingImage.once( 'progress', onProgress ); loadingImage.check(); }); }; ImagesLoaded.prototype.progress = function( image, elem, message ) { this.progressedCount++; this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; // progress event this.emitEvent( 'progress', [ this, image, elem ] ); if ( this.jqDeferred && this.jqDeferred.notify ) { this.jqDeferred.notify( this, image ); } // check if completed if ( this.progressedCount == this.images.length ) { this.complete(); } if ( this.options.debug && console ) { console.log( 'progress: ' + message, image, elem ); } }; ImagesLoaded.prototype.complete = function() { var eventName = this.hasAnyBroken ? 'fail' : 'done'; this.isComplete = true; this.emitEvent( eventName, [ this ] ); this.emitEvent( 'always', [ this ] ); if ( this.jqDeferred ) { var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; this.jqDeferred[ jqMethod ]( this ); } }; // -------------------------- -------------------------- // function LoadingImage( img ) { this.img = img; } LoadingImage.prototype = Object.create( EvEmitter.prototype ); LoadingImage.prototype.check = function() { // If complete is true and browser supports natural sizes, // try to check for image status manually. var isComplete = this.getIsImageComplete(); if ( isComplete ) { // report based on naturalWidth this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); return; } // If none of the checks above matched, simulate loading on detached element. this.proxyImage = new Image(); this.proxyImage.addEventListener( 'load', this ); this.proxyImage.addEventListener( 'error', this ); // bind to image as well for Firefox. #191 this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.proxyImage.src = this.img.src; }; LoadingImage.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth !== undefined; }; LoadingImage.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.img, message ] ); }; // ----- events ----- // // trigger specified handler for event type LoadingImage.prototype.handleEvent = function( event ) { var method = 'on' + event.type; if ( this[ method ] ) { this[ method ]( event ); } }; LoadingImage.prototype.onload = function() { this.confirm( true, 'onload' ); this.unbindEvents(); }; LoadingImage.prototype.onerror = function() { this.confirm( false, 'onerror' ); this.unbindEvents(); }; LoadingImage.prototype.unbindEvents = function() { this.proxyImage.removeEventListener( 'load', this ); this.proxyImage.removeEventListener( 'error', this ); this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; // -------------------------- Background -------------------------- // function Background( url, element ) { this.url = url; this.element = element; this.img = new Image(); } // inherit LoadingImage prototype Background.prototype = Object.create( LoadingImage.prototype ); Background.prototype.check = function() { this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.img.src = this.url; // check if image is already complete var isComplete = this.getIsImageComplete(); if ( isComplete ) { this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); this.unbindEvents(); } }; Background.prototype.unbindEvents = function() { this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; Background.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.element, message ] ); }; // -------------------------- jQuery -------------------------- // ImagesLoaded.makeJQueryPlugin = function( jQuery ) { jQuery = jQuery || window.jQuery; if ( !jQuery ) { return; } // set local variable $ = jQuery; // $().imagesLoaded() $.fn.imagesLoaded = function( options, callback ) { var instance = new ImagesLoaded( this, options, callback ); return instance.jqDeferred.promise( $(this) ); }; }; // try making plugin ImagesLoaded.makeJQueryPlugin(); // -------------------------- -------------------------- // return ImagesLoaded; }); // @ts-nocheck 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const keywordSets = require('../../reference/keywordSets'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); const ruleName = 'selector-pseudo-element-colon-notation'; const messages = ruleMessages(ruleName, { expected: (q) => `Expected ${q} colon pseudo-element notation`, }); function rule(expectation, options, context) { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: expectation, possible: ['single', 'double'], }); if (!validOptions) { return; } root.walkRules((ruleNode) => { if (!isStandardSyntaxRule(ruleNode)) { return; } const selector = ruleNode.selector; // get out early if no pseudo elements or classes if (!selector.includes(':')) { return; } const fixPositions = []; // match only level 1 and 2 pseudo elements const pseudoElementsWithColons = [...keywordSets.levelOneAndTwoPseudoElements].map( (x) => `:${x}`, ); styleSearch({ source: selector.toLowerCase(), target: pseudoElementsWithColons }, (match) => { const prevCharIsColon = selector[match.startIndex - 1] === ':'; if (expectation === 'single' && !prevCharIsColon) { return; } if (expectation === 'double' && prevCharIsColon) { return; } if (context.fix) { fixPositions.unshift({ ruleNode, startIndex: match.startIndex }); return; } report({ message: messages.expected(expectation), node: ruleNode, index: match.startIndex, result, ruleName, }); }); if (fixPositions.length) { // If expecting : then we found :: so remove one of the colons // If expecting :: then we found : so add one extra colon const expectedSingle = expectation === 'single'; const offset = expectedSingle ? 1 : 0; const extraColon = expectedSingle ? '' : ':'; fixPositions.forEach((fixPosition) => { ruleNode.selector = ruleNode.selector.substring(0, fixPosition.startIndex - offset) + extraColon + ruleNode.selector.substring(fixPosition.startIndex); }); } }); }; } rule.ruleName = ruleName; rule.messages = messages; module.exports = rule; 기술소개-사업화유망기술 – 경북포항강소특구

Hızlı işlem isteyen kullanıcılar Paribahis mobil sayesinde kolayca bahis yapabiliyor.

Kullanıcıların hızlı erişim için en çok tercih ettiği yol Paribahis giriş sayfasıdır.

Dijital dünyada kolay erişim için Paribahis sistemleri oldukça popüler.

Dijital dünyada kolay erişim için Paribahis sistemleri oldukça popüler.

Kullanıcılar promosyonlardan yararlanmak için paribahis kampanyalarını seçiyor.

2025 sürümüyle piyasaya çıkacak olan paribahis büyük ses getirecek.

2025 sürümüyle piyasaya çıkacak olan Bettilt 2025 büyük ses getirecek.

Dijital dünyada kolay erişim için Paribahis giriş sistemleri oldukça popüler.

Lokal derbiler için atmosferi hesaba katarken tahlilin ortasında Paribahis veri setine dönüp oranları okudum.

Kumarhane eğlencesini seven oyuncular Bahsegel giriş kategorisinde vakit geçiriyor.

2025 sürümüyle piyasaya çıkacak olan Bahsegel giriş büyük ses getirecek.

Dijital dünyada popülerliği artan Paribahis giriş kategorileri tercih ediliyor.

Dijital dünyada popülerliği artan Paribahis giriş kategorileri tercih ediliyor.

Dijital dünyada popülerliği artan Bettilt giriş kategorileri tercih ediliyor.

Oyuncular için güvenin simgesi haline gelen Bettilt giriş politikaları memnuniyet sağlıyor.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan Bahsegel giriş önemlidir.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan Bahsegel giriş önemlidir.

Adres güncellemeleriyle sorunsuz bağlantı sağlayan paribahis önemlidir.

Kullanıcılar promosyonlardan yararlanmak için Bahsegel giriş kampanyalarını seçiyor.

2025 sürümüyle piyasaya çıkacak olan Paribahis giriş büyük ses getirecek.

Oyuncular hızlı erişim için Bahsegel bağlantısına yöneliyor.

Dijital dünyada popülerliği artan Bettilt giriş kategorileri tercih ediliyor.

Kar topu etkisini önlemek için cümlenin merkezinde Bettilt giriş disiplin kurallarını anımsattım.

[mk_fancy_title color=”#151515″ size=”45″ font_weight=”500″ margin_bottom=”0″ font_family=”none” align=”center” el_class=”top-section-title”]기술소개[/mk_fancy_title]
사업화 유망기술
전체 231
NO 기술명 분야 발명자소속 발명자명 TRL 등록일
공지사항
포항강소특구 기술리스트_2022
관리자 | 2022.09.16 | 추천 0 | 조회 3610
2022.09.16
공지사항
포항강소특구 우수기술 소개 영상(SMK)
관리자 | 2021.11.22 | 추천 0 | 조회 3708
2021.11.22
공지사항
포항강소특구 기술리스트(SMK)_2021
관리자 | 2021.11.03 | 추천 0 | 조회 4036
2021.11.03
공지사항
한동대학교 우수기술 소개
관리자 | 2021.10.27 | 추천 0 | 조회 3416
2021.10.27
공지사항
철강분야(POSTECH, RIST) 우수기술 소개
관리자 | 2021.10.18 | 추천 0 | 조회 3696
철강 2021.10.18
공지사항
한국로봇융합연구원(KIRO) 우수기술 소개
관리자 | 2021.10.14 | 추천 0 | 조회 3916
2021.10.14
185
내식성이 우수한 합금 코팅 강판 및 제조방법
관리자 | 2022.09.13 | 추천 0 | 조회 1343
금속 포항산업과학연구원 양지훈 4 2022.09.13
184
매설 용수 배관 위치 탐지 기술
관리자 | 2022.09.08 | 추천 0 | 조회 1520
분석평가 포항산업과학연구원 김종한 9 2022.09.08
183
360도 빔의 분사가 가능한 회절 광학 소자
관리자 | 2022.09.08 | 추천 0 | 조회 1433
증강현실, 라이다센서 포항공과대학교 노준석 5 2022.09.08
182
병원성 미생물 초고속 포집 장치
관리자 | 2022.09.08 | 추천 0 | 조회 1526
체외진단 포항공과대학교 전상민 6 2022.09.08
181
제올라이트를 이용한 에탈렌 전환 기술
관리자 | 2022.09.08 | 추천 0 | 조회 1718
화학 포항공과대학교 홍석봉 6 2022.09.08
180
가교결합이 가능한 광활성 화합물 조성물
관리자 | 2022.09.08 | 추천 0 | 조회 1623
태양전지, 전자소자 포항공과대학교 박태호 5 2022.09.08
179
무선패치센서
관리자 | 2022.09.08 | 추천 0 | 조회 1651
스마트헬스케어 포항공과대학교 정운룡 6 2022.09.08
178
압력감지 매트릭스
관리자 | 2022.09.08 | 추천 0 | 조회 1739
바이오 포항공과대학교 정운룡 6 2022.09.08
177
제올라이트를 이용한 이산화탄소 흡착 기술
관리자 | 2022.09.08 | 추천 0 | 조회 1891
화학산업 포항공과대학교 홍석봉 6 2022.09.08
176
배관 검사 로봇 제조 및 배관 검사 방법
관리자 | 2022.09.08 | 추천 0 | 조회 2081
배관 로봇 로봇융합연구원 이재열, 전광우, 홍성호, 정명수, 안재규, 정의정, 정구봉 6 2022.09.08

Start typing and press Enter to search