Your IP : 3.147.80.179
{"version":3,"file":"range.min.js","sources":["range.js"],"names":["global","amdSupported","define","amd","OBJECT","FUNCTION","UNDEFINED","domRangeProperties","domRangeMethods","textRangeProperties","textRangeMethods","isHostMethod","o","p","t","isHostObject","isHostProperty","createMultiplePropertyTest","testFunc","props","i","length","areHostMethods","areHostObjects","areHostProperties","isTextRange","range","getBody","doc","body","getElementsByTagName","modules","api","version","initialized","supported","util","features","config","alertOnFail","alertOnWarn","preferTextRange","consoleLog","msg","window","console","log","alertOrLog","shouldAlert","alert","fail","reason","warn","hasOwnProperty","extend","obj","deep","el","document","createElement","appendChild","slice","toArray","call","childNodes","nodeType","arrayLike","e","arr","len","addListener","eventType","listener","addEventListener","attachEvent","initListeners","getErrorDesc","ex","message","description","String","init","testRange","implementsDomRange","implementsTextRange","createRange","detach","nodeName","toLowerCase","createTextRange","module","errorMessage","moduleName","Module","addInitListener","push","createMissingNativeApiListeners","addCreateMissingNativeApiListener","createMissingNativeApi","win","name","dependencies","initializer","this","prototype","requiredModuleNames","requiredModule","Error","deprecationNotice","deprecated","replacement","createError","createModule","isCore","initFunc","newModule","arguments","createCoreModule","RangePrototype","rangePrototype","SelectionPrototype","selectionPrototype","docReady","loadHandler","rangy","UNDEF","textNode","createTextNode","arrayContains","val","isHtmlNamespace","node","ns","namespaceURI","parentElement","parent","parentNode","getNodeIndex","previousSibling","getNodeLength","getCommonAncestor","node1","node2","ancestors","n","isAncestorOf","ancestor","descendant","selfIsAncestor","isOrIsAncestorOf","getClosestAncestorIn","isCharacterDataNode","isTextOrCommentNode","insertAfter","precedingNode","nextNode","nextSibling","insertBefore","splitDataNode","index","positionsToPreserve","newNode","cloneNode","deleteData","position","offset","getDocument","ownerDocument","getWindow","defaultView","parentWindow","getIframeDocument","iframeEl","contentDocument","contentWindow","getIframeWindow","isWindow","getContentDocument","methodName","tagName","getRootContainer","comparePoints","nodeA","offsetA","nodeB","offsetB","nodeC","root","childA","childB","firstChild","crashyTextNodes","isBrokenNode","innerHTML","inspectNode","data","idAttr","id","fragmentFromNodeChildren","fragment","createDocumentFragment","child","getComputedStyleProperty","getComputedStyle","propName","documentElement","currentStyle","NodeIterator","_next","_current","hasNext","next","createIterator","DomPosition","equals","pos","inspect","toString","DOMException","codeName","code","INDEX_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","dom","isNonTextPartiallySelected","startContainer","endContainer","getRangeDocument","getBoundaryBeforeNode","getBoundaryAfterNode","insertNodeAtPosition","firstNodeInserted","rangesIntersect","rangeA","rangeB","touchingIsIntersecting","assertRangeValid","startComparison","startOffset","endOffset","endComparison","cloneSubtree","iterator","partiallySelected","frag","subIterator","isPartiallySelectedSubtree","getSubtreeIterator","iterateSubtree","rangeIterator","func","iteratorState","it","stop","subRangeIterator","deleteSubtree","remove","extractSubtree","getNodesInRange","nodeTypes","filter","filterNodeTypes","regex","filterExists","RegExp","join","nodes","RangeIterator","test","sc","ec","getName","clonePartiallySelectedTextNodes","collapsed","so","eo","commonAncestorContainer","isSingleCharacterDataNode","_first","_last","reset","current","start","end","removeChild","subRange","cloneRange","collapse","Range","updateBoundaries","detachRange","RangeException","BAD_BOUNDARYPOINTS_ERR","INVALID_NODE_TYPE_ERR","beforeAfterNodeTypes","rootContainerNodeTypes","readonlyNodeTypes","insertableNodeTypes","surroundNodeTypes","createAncestorFinder","getDocumentOrFragmentContainer","getReadonlyAncestor","getDocTypeNotationEntityAncestor","assertNoDocTypeNotationEntityAncestor","allowSelf","assertNotDetached","assertValidNodeType","invalidTypes","assertValidOffset","assertSameDocumentOrFragment","assertNodeNotReadOnly","assertNode","isOrphan","isValidOffset","isRangeValid","styleEl","htmlParsingConforms","createContextualFragment","fragmentStr","splitRangeBoundaries","startEndSame","setStartAndEnd","rangeProperties","s2s","s2e","e2e","e2s","n_b","n_a","n_b_a","n_i","compareBoundaryPoints","how","prefixA","prefixB","insertNode","setStartBefore","cloneContents","clone","canSurroundContents","boundariesInvalid","surroundContents","content","extractContents","hasChildNodes","lastChild","selectNode","prop","textParts","compareNode","nodeIndex","comparePoint","toHtml","container","intersectsNode","isPointInRange","intersectsRange","intersectsOrTouchesRange","intersection","intersectionRange","setStart","setEnd","union","unionRange","containsNode","allowPartial","containsNodeContents","containsRange","containsNodeText","nodeRange","textNodes","getNodes","lastTextNode","pop","contains","collapseBefore","setEndBefore","collapseAfter","setStartAfter","getBookmark","containerNode","preSelectionRange","selectNodeContents","moveToBookmark","bookmark","charIndex","nodeStack","foundStart","nextCharIndex","rangesEqual","isValid","copyComparisonConstantsToObject","START_TO_START","START_TO_END","END_TO_END","END_TO_START","NODE_BEFORE","NODE_AFTER","NODE_BEFORE_AND_AFTER","NODE_INSIDE","copyComparisonConstants","constructor","createRangeContentRemover","remover","boundaryUpdater","boundary","returnValue","createPrototypeRange","detacher","createBeforeAfterNodeSetter","isBefore","isStart","setRangeStart","setRangeEnd","F","args","setBoundary","setEndAfter","deleteContents","splitBoundaries","splitBoundariesPreservingPositions","normalizeBoundaries","mergeForward","sibling","appendData","mergeBackward","nodeLength","insertData","normalizeStart","endNode","startNode","collapseToPoint","updateCollapsedAndCommonAncestor","r1","r2","DomRange","WrappedRange","WrappedTextRange","rangeProto","updateRangeProperties","nativeRange","updateNativeRange","startMoved","endMoved","nativeRangeDifferent","detached","refresh","testTextNode","oppositeName","range2","type","createNativeRange","getTextRangeContainerElement","textRange","parentEl","duplicate","startEl","endEl","startEndContainer","textRangeIsCollapsed","compareEndPoints","getTextRangeBoundaryPosition","wholeRangeContainerElement","isCollapsed","startInfo","workingRange","containerElement","canHaveHTML","boundaryPosition","nodeInfo","workingNode","comparison","workingComparisonType","previousNode","boundaryNode","childNodeCount","moveToElementText","Math","floor","setEndPoint","tempRange","rangeLength","text","replace","moveStart","createBoundaryTextRange","boundaryParent","boundaryOffset","nodeIsDataNode","startBoundary","rangeContainerElement","rangeToTextRange","startRange","endRange","globalObj","createRangyRange","createIframeRange","createIframeRangyRange","checkSelectionRanges","BOOLEAN","NUMBER","getNativeSelection","selectionIsCollapsed","CONTROL","isDirectionBackward","dir","WrappedSelection","getWinSelection","winParam","getSelection","getDocSelection","selection","winSelectionIsBackward","sel","backward","anchorNode","anchorOffset","focusNode","focusOffset","implementsWinGetSelection","implementsDocSelection","useDocumentSelection","isSelectionValid","nativeSel","testSelection","selectionHasAnchorAndFocus","selectionHasExtend","selectionHasRangeCount","rangeCount","selectionSupportsMultipleRanges","collapsedNonEditableSelectionsSupported","addRangeBackwardToNative","nativeSelection","addRange","getNativeRange","originalSelectionRangeCount","selectionHasMultipleRanges","originalSelectionRanges","originalSelectionBackward","getRangeAt","testEl","contentEditable","navigator","userAgent","indexOf","removeAllRanges","implementsControlRange","testControlRange","createControlRange","updateAnchorAndFocusFromRange","anchorPrefix","focusPrefix","updateAnchorAndFocusFromNativeSelection","updateEmptySelection","_ranges","rangeContainsSingleElement","rangeNodes","getSingleElementFromRange","updateFromTextRange","wrappedRange","updateControlSelection","docSelection","controlRange","item","addRangeToControlSelection","rangeElement","newControlRange","add","select","getSelectionRangeAt","deleteProperties","cachedRangySelections","actOnCachedSelection","action","cached","splice","docSel","getIframeSelection","selProto","createControlSelection","ranges","addRangeBackward","direction","previousRangeCount","selectionIsBackward","setRanges","empty","refreshSelection","checkForChanges","oldRanges","oldAnchorNode","oldAnchorOffset","removeRangeManually","getAllRanges","removeRange","removed","isBackward","isBackwards","rangeTexts","assertNodeInSameDocument","setSingleRange","collapseToStart","collapseToEnd","selectAllChildren","deleteFromDocument","element","eachRange","callMethodOnEachRange","params","results","apply","createStartOrEndSetter","changeEachRange","rangeBookmarks","selRanges","rangeBookmark","rangeInspects","anchor","focus","detachAll","Selection"],"mappings":"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"}